We all know that getting to a minimum viable product (MVP) is a race. It is a race against competition, market need, industry direction, etc, etc etc. I came to a realization recently that reaching MVP can also be a race against yourself and how long your technological choices hold out.
For example let us say that I have chosen a specific UI framework. I chose it because it satisfied a good portion of my initial requirements out of the box, was well established, and generally well maintained. This UI framework saves me a a lot of time and money along with lets me get something up and going quickly. So now that I’ve selected a UI framework and have done some work, the requirements grow and evolve and the framework begins showing its age. Assuming that this happens before I reach MVP, I am left with a bit of a problem: reevaluate and possibly retool the system or keep moving forward. Retooling the system will mean a step backward and slowdown my timeline to market, but continuing means incurring more debt that will have to be recuperated later. What is the right choice in this situation? I believe you have to play it by ear, but favor sticking with your choices for as long as possible.
Posted inProgramming Software Engineering Technology