It is said that the MVP needs to be scrappy, quickly made, and relentlessly pushed to the market even though you feel embarrassed by it.
No matter how bad the product, if it tests your value proposition, then it is fine…
But there is one thing that we overlook.
When does the MVP stop being an MVP? When you must stop being scrappy and start building a quality and maintainable product?
When you get your first handful of users your idea is still far from being validated, thus you still need to stay scrappy.
When your user base starts growing, you just need to stay alive. So no time for huge changes at that time either.
And then you find yourself, 2 years in, with a massive codebase full of undocumented features, hacks, and bad practices.
Too handicapped by fixing bugs that shouldn’t be there, adding features that further break things, and spending too much time helping your new teammates to understand what your badly written code does.
Instead of growing your product.
I am not saying to not be scrappy or quick.
Just take those extra 20 percent of the time, right from the beginning, to better think through your major decisions and make the code maintainable and ready for other people to take it over at some point.
Even though you will be a bit slower initially, you will still be “lean” (whatever that really means) and it may save you in the long run.