When is the Right Time to Rewrite an Application?There are various metaphors that can completely transform our technique of creating and delivering software systems. Based on the ideology of many such analogies, a software application should last more than ten years. According to Joel Spolsky, a famous writer on software development, rewriting the code from scratch is the single worse strategic mistake committed by various software companies. In the situations where the code creates confusion, the issue is quickly brought under the notice of the management to be rewritten by the developers.

So, is it really required to write a new code while ignoring the old application?

Revenue and agility are two of the key reasons that drive a business. However, there are situations that demand to rewrite an application. Some of them are discussed below.

  1. Whenever there is a huge turnover in resources, you must consider rewriting the code. Considering the today’s IT industry, messy codes are so terrible to work with that they are accounted for the low turnover in the IT department. This significantly affects the company’s base. In the worst case, it can have a dire consequence on the entire IT department, making them even leave. Though there are no provisions for refactoring; however, it can take 10-20 times more time to change the code by the developers.
  1. You need to rewrite the code in case it is condemned by the language vendor. This is common when there is no path to upgrade to the latest version and results in shortage of development resource. In many cases, companies fail to keep a developer to maintain the code.
  1. Rewrite the code in case you are spending more on the maintenance cost than profiting. If a company spends a huge cost in maintaining the product without gaining much, it can think of abandoning the product.
  1. The code can also be rewritten if it is affecting your customers. Customer satisfaction is the key to any business. It’s better to rewrite the codes than to lose customers to your competitors because of the low performance.
  1. Your business agility is another factor for the codes to be rewritten. You must try to avoid the delays in the product release. In addition, you must also track your competitors and check their frequency of release.
  1. In case your rewriting cost is lesser than the refactoring cost, you must consider rewriting the code. Time is also important while comparing between refactoring and rewriting. In addition, you can also implement long-term cost saving ideas like increasing the application maintenance.

Note: A software QA process can still be implemented without reducing productivity.