The hardest thing in software is launching. Steve Jobs said it well when he said “Real artists ship”. Before you sign the work and let it go it doesn’t exist for anyone but yourself. The world is a buffet of almost done products and full of people sitting by the table, talking about how their - unpublished work - is better than everything out there.
Launching is hard because building products is an on-going process in which you constantly learn. The knowledge gained during the process is very different from the knowledge when you began, thus, when the work is done you know it can be done better.
The chase for perfection is a vicious circle. But more importantly, an unnecessary one in regard to software where there’s always a new version waiting.
That’s why at Umbraco we stopped the chase for perfection a long time ago - so much so that we made it a part of our mission:
“We help you deliver delightful digital experiences by making Umbraco friendly, simpler and social”.
Not simple, but simpler. Not perfect, but simpler. Umbraco 8 isn’t perfect, but it’s simpler than Umbraco 7. Just like 8.1 will be simpler and better than 8.0.
It does challenge the egos of everyone involved when you know it can be done better - especially when it’s being pointed out by others. But the pride and sweetness of being part of the rare ones who ship a product, last a lot longer than the bitterness of knowing it could be done a little bit better while keeping it all to yourself.
And the best thing - the moment you’ve pressed that beautiful green release button, the work for the next version begins. Thus, the goal should not be how perfect the work can be done, but instead how often we are able to click that magical button that puts out our work in the hands of our community. Because it’s when we dare to ship - when we let go of our egos’ hunt for perfection and fame - that our work makes a difference for the many.