When I applied to a super immersive, super intense program at Hack Reactor, I assumed the goal was to always aim for producing big fancy things with all these fancy doodads every single time. If your code isn’t awesome at every commit, then why commit at all?
Oh boy, was I wrong about that.
While to most people, MVP means aiming to be the best, in the coding world MVP means aiming for the minimum, as in minimum viable product.
Instead of aiming for fully functional, awesome code every single time, you should aim for a functional, simple code and keep iterating on the code until it become awesome.
Advantages of the MVP, iterative approach
1) You have working code at every step of the process. The in-progress code of might not have all the fancy doodads as the final code, but at least you have working code that will get you to where you want to be.
2) You can work on multiple simple things at the same time instead of working on one big thing. If you only work on one big thing, you have no idea if the various parts will work together. if you work on multiple small things at the same time, you can test to see how the various parts will interact with each other.
3) By aiming small, if you discover that something doesn’t work, you can throw out that small chunk of code and quickly try something else. It’s a lot less stressful to walk away from a small chunk of code than to walk away from a mountain of code that you spend tons of times on.
In conclusion, by doing less at each step, you end up being able to do more.