When do you decide code is "good enough"?

Posted by -Knockabout@reddit | ExperiencedDevs | View on Reddit | 58 comments

We have a responsibility to write code that doesn't break production or make future work significantly more difficult, but we also have a responsibility to get that code out in a timely manner. How do you balance these responsibilities? When is code "good enough"?

For some context...my team just finished a first pass at a project that was rushed in the interest of having something tangible to present sooner rather than later. It's only now that we are looking at part two of the project that we realize our architecture/patch jobs are insufficient and some kind of major rework is needed. Trying to go faster and focusing just on an MVP has cost us more time than if we had analyzed all of our requirements up front. I want to avoid this in the future. I am the only developer on the project, but work with SMEs and a project manager. Leadership is very interested in this project being in a final state as fast as possible, so the pressure is there to rush again.