Can I let you in on a secret? I'm a perfectionist! If you know me already, this may not come as a surprise. 😂
I push myself to become BETTER, and I love it when things are done in the best way possible with the available resources. This can be expensive though. Over time, I adopted a "practical perfectionist" mindset to find a balance.
If you're a perfectionist like me, this post will help you become a more practical perfectionist.
🤦♂️ Too much perfectionism
Streamradiox, "the Spotify for streamers," is one of my latest products. I made the mistake of launching the product too late. Don't get me wrong; the Product Hunt launch went AMAZING (+320 upvotes, comments, and new signups) and I don't complaint.
However, the market had already evolved, and Amazon and other competitors were already creating solutions in the space. I believe that competition is valuable and validates the need, but it is always more fun if you start playing the game earlier.
I could have launched Streamradiox one or two months earlier, and I ended it up losing two months of learning from my customers. Streamradiox is a side project, so it's not a big deal for me, but it taught me a good lesson: "Ship a product as soon as you can and move forward." What did I change? Jump over to the next section!
💩 MVCP (Minimum Viable Crap Product)
Last year, I wrote a series of four blog posts about "How to win a Hackathon" and introduced the concept of "MVCH" (Minimum Viable Crap Hack). I recently started to think that I can (and should) apply the same idea to my projects.
What is MVCP? It's a framework to build personal projects faster where you focus on one or two main features, and you don't mind being ashamed that your project isn't good enough.
This blog post is an excellent example of that, I'm not the best writer, and I may make mistakes, but I put content every week and always challenge myself to keep improving over the weeks.
🤗 Mindset changing: Practical Perfectionist
Just recently, I had the opportunity to redeem myself from my "too perfectionist” mindset and use the MVCP! If you follow me on Twitter, you will know that MongoLab is deleting all my blog posts since they are discontinuing support for Heroku.
In less than two weeks, I deprecated the old website, rebuilt the blog on a completely new stack. I even had time to fix bugs from beta testers!
I find so easy to get distrated with 20 features. Instead, I prioritize the most criticals features first so I can launch asap.
I just adopted a whole new mindset. Even if it was not entirely perfect or if some pages were not ready, I could shallow launch the blog to new users while I continued to refine and polish the rest of the pages. Since it’s a personal website, most of the traffic goes to the blog.
Here’s another important lesson I learned: We tend to justify to ourselves that EVERY single part of a project needs to be perfect for launch. We rationalize the decision using excuses like social pressure: "If I launch this product without fully finishing it, people will think I'm a bad developer."
Early adopters will not give a shit whether your project is perfect if you set up the right context and mindset (e.g., including a BETA label). Don't justify a late launch because of social pressure.
The reality is that people are so busy with their own lives that they most likely don't give a shit about your product. Even more, early adopters are way more open to buggy experiences as long as you set up the right context for them (e.g. using a "BETA" label).
Alright! Enough talking. Now I'd like to challenge you to do this exercise with yourself:
- What is a side project that you want to build? What are the features that you want to create?
- What is the MVCP (Minimum Viable Crap Product): feature(s) set.
- What is an appropriate deadline to finish and launch the side project? What could prevent you from launching, and what's your backup plan?