We all have heard the saying A Stitch In Time Saves Nine
This is not only true in life but also in product development. The later in the life-cycle the more expensive it is to solve an issue.
In product development, this could range from the choices we make on technology to use, product feature we decide to include, or even something seemingly trivial items like what to call the field names in database.
The downside is that it may take a little longer to finish the product, but it pays-back significantly over the lifespan of the product.
Earlier last year, we made a tough decision to rewrite almost the entire code. It was throwing away several months of work, not to mention a large six figure in cost. What made it even difficult was not knowing if it was right decision. You realize, when you are at that cross-roads, there is BIG difference knowing something in theory and putting real money to act on it.
Luckily, it turned out to be the right call. We were able to achieve more with a leaner code base. It is now not only faster to scale, but maintenance has become easier as we can zero in on issues in minutes, instead of hours or days.
An added bonus has been the performance of the app. We were able to reduce the size by 80% to just 9MB and in a live demo, this was able to replace 5 apps, that totaled 350MB
At the time of posting this, we have not completely recovered all of the lost time, but based on the trajectory we are very close to getting there.