The proper way and the good-enough way
Shipping fast versus doing it properly, from a founder who writes the code: how the shortcut compounds until someone proposes a full rewrite.
I am an entrepreneur-developer. I build the products that I imagine. It is cool, but you’re constantly facing an internal battle. On one side you want to “do more faster”. On the other, you want to have something done properly (who require 50 to 100% more time).
I always followed the entrepreneurial side of my conscience and it worked… for a while. When your product grows and the codebase expands, it start to get unstable. It starts cracking. It becomes trickier to add stuff. Or to fix old stuff.
Then the worst nightmare of every CEO happens: “we need to rewrite the app/platform/codebase… it’s impossible to deal with it anymore… the team is not happy and it’s leaving… etc”. The five minutes of terrors are followed by imprecations, mystic invocations and blame of incompetence. An initial estimation of 3 to 6 months is given, who then becomes 9. Followed by other 3 months of fixing.
To save time during the development, you pushed for the good-enough solutions, and now you need (you cannot do otherwise) invest a lot of time to do it again. In the proper way this time (hopefully).
This year thank to Luca, Juan and Luca (awesome iOS engineers) and other great engineers, I learned why it is really important to not sacrifice quality. In the short term you’re slower implementing features, but in the medium/long term you’re not forced to do big rewrite your codebase.
The overall velocity is higher. Doing things properly, you actually do more. The engineers are happy, because they work well. Business people is happy, because they’re not forced to pause the business for half year. It becomes easier to recruit engineers when you’re building start-of-art technology. And it’s also easier to retain them too.
Your job as an entrepreneur/CEO becomes picking the right things to do. Your job is to understand what is a priority and what can wait. What has to be done and what can be not done. This way you’ll let the engineerings do their job properly, not the good-enough way.
Read next
Relationships in the age of startups
Everyone in startups says you should give before you ask. Almost nobody does it — and the difference is obvious the moment you meet someone who can.
The counterintuitive nature of finding good ideas
Paul Graham's counterintuitive point from the Stanford startup course: you do not find good ideas by looking for them, you run into them as an expert.
Phablets, pain and iPhone 6 Plus
I thought huge phones were a bad idea until the iPhone 6 Plus, and until I noticed which people were the ones who actually wanted one.