This essay is part of my 42 Deep Thoughts project.
I came up with this formulation when I was getting into web development, and it’s something I’ve been preaching to every team I’ve managed and worked with.
Perhaps it’s my ADHD, perhaps everyone has this issue, as I was working to build something early on I would tend to get distracted by better ways to get it done. But I wouldn’t finish the project because I kept starting over.
This is also different from the technique of finishing something, deleting it, and rebuilding it again and again. Notice the finishing part there, that’s crucial. That technique is a great way to learn, and build mastery.
There’s a sense that you want your finished product to be perfect. Eventually, perhaps, it should be. But it’s more important to get something done and out there, then to make it perfect the first time.
An analysis paralysis sets in. Whether the project is software, art, even cleaning your house, it’s easy to focus on making it perfect and never actually finishing.
There are several issues with striving to get things perfect the first time.
First of all, especially when learning something new, it can be discouraging to never finish anything. The sense of accomplishment, fulfillment, that you get from creating something powers the learning process.
There will be things you’ll learn along the way about how the finished product should look. Each new discovery will change the way you see the whole solution. Until you have a finished working prototype, you’ll never be able to see what the best option should really be. There will be things you’ll only discover once you see everything working.
Another serious problem with making the first version of your project perfect is that you won’t know how well it accomplishes what you’re trying to accomplish, until it’s done and other people use it.
They say that if your product is perfect when you launch it, you waited too long to launch.
Especially if you’re building something for other people to use, the chances of getting it right the first time are next to nothing.
The tight feedback loop you get from getting something workable out there and used, then perfecting it quickly based on real-time usage feedback, is magical.
This concept is deeply rooted in agile, and lean methodologies.
So when you’re working on something and find yourself distracted by a shinier way of getting it done, don’t stop. Make a note of the alternative path, and push on.
The caveat to this is that once you’ve completed a LOT of projects you will be able to perform at a much faster pace, and sometimes it’s prudent to stop mid-project and start again along another path. Or clean up as you go. But that level of performance only comes with mastery.
If you like this, and want to keep up, subscribe below.
About the image: Creation by Alessandro Dari Gioielli, alchemist.