Escaping The Trap Of Perfectionism
In many organizations, Developers are often seen as “dreamers”, people who can conceive possibilities, possibilities that can transform and give organizations the leading edge. Personally as a Developer myself, I would argue and say it’s important to be a “dreamer”, but more often than not, the pursuit of dreams often stifles the flow of deliverables to the rest of the enterprise!
Facebook, from the very beginning was built on the mantra “Done is better than perfect”. It’s a culture that was built into the minds of their Developers and has helped them to build great cutting edge software in a short time. From the face of it, this principle may seen somewhat reckless and is often shunned by many organizations where developers are pushed to deliver “perfect” software at all times, therefore inadvertently pursuing perfection.
The idea behind “Done is better than perfect” is that you should run with an idea—before it’s too late. In my years of experience as a Developer I have found out that all requirements or ideas have an “invisible expiry date”. If a user requirement or idea is not acted upon soon enough, it becomes “stale” and in some cases loses relevance, even if acted upon much later.
Microsoft Software Development teams, have been using this principle for decades now inherently through the adoption of Agile software development practices. Early demo’s and previews of the latest Microsoft tools is based on usually quite buggy software, the point being to say “We have put together something you can use, even though its not perfect, however we are committed to continuously improve it”.
Lesson to self : At the end of the day, as a client, or the end user, it’s better to have a working end product in reasonable time, than nothing at all. That is the art of “Done Is Better Than Perfect”