This is an oldie but I still really like it, great read.
At the end of the day, ship the fucking thing! Its great to rewrite your code and make it cleaner and by the third time itll actually be pretty. But thats not the pointyoure not here to write code; youre here to ship products.
And to get the gist read the article
Still means much the same when you combine #2 and #3
Perfect is the enemy of good
I worked for a company before where the CEO would not ship with ANY known bugs (ours, vendors, etc)
No - I wasnt in product development
Moral : The company went bankrupt before version 1.0 got out the door
In my humble opinion, the correct approach for development depends actually on THAT specific project itself and the specific goals. You shouldn’t complicate a simple one and you can’t oversimplify one that needs complex techniques.
Depending on what you want to cut, so are the pair of scissors that fit the job.
and in that order… Meaning in some cases, we sacrifice a few nanoseconds, or sometimes minutes in #3 in order to attain #1 and #2 (kind of like Asimov Laws of Robotics)