As part of our software development services, we are involved in maintenance and enhancement for software products for our clients. At times, these clients want to explore the option of rewriting the application on some latest technology. Quite often the technical team is also keen on rewriting the application on the latest technology, rather than digging into the existing code base for providing bug fixes or adding new features. While it may be appear to be an attractive option for the development team to sell the idea of development from scratch on the latest technology, there are a few misconceptions and high risks normally associated with the ‘rewrite to fix everything‘ approach:
– Rewriting the code will take less time than fixing the issues: Software development projects nearly always take more time than initially planned. The bigger the project, higher are the chances for it to have cost and time overruns. You may well end up adding many new bugs into the system and having to incur cost of many test and bug fixing cycles before having a product which can be released.
– Existing code base is messy: As the software tends to evolve over time, the existing code base is likely to be messy, and is likely to appear messier to a developer who has not been involved in the initial development. Even with a rewrite, it is very likely that the new code will end up being as messy as your current code by the time development is completed…Read more about – Rewriting the code from scratch for a software product – A bad decision