A software rewrite is never an easy task. A rewrite consists of taking an existing software and rewriting it to better accommodate the client. Although, it can be quite tedious, it is often necessary. In this post, I’ll explore certain clues that can help indicate when its time to consider rewriting your enterprise software.
The common reason: “its time we changed, we built it 5 years ago” isn’t valid by itself. If you’ve maintained and updated your software through out the years, chances are its still a valid and acceptable solution today. Age by itself is not a reason but can often be an indirect reason why you should rewrite your software. There are many things to take into consideration. One of which is that rewriting a software years later will probably cost way less than it initial cost.
|Software Development Progression:
A software built 10 years ago could cost 5 times more than it would cost to build today (dummy data)
Here’s my top 5 clues that its time to proceed to a software rewrite
1- You don’t dare modify your current software
A well designed software should not only be durable but must also be easily modifiable. An enterprise software solution should be updated regularly to meet the enterprise’s evolution.
Therefore, if you haven’t updated your software for any reason (fragility, cost, etc.), it’s time to investigate if it isn’t time to change that software altogether because chances are its not meeting your exact needs today.
2- The modification cost is very high
Technology evolution tends to facilitate the software development. For instance, a web site that could take months to put up a few years ago can take just a few days using modern technologies such as WordPress. So even though your software is up to date and still works fine, its possible that every change, as small as it may be, can take a lot of time and cost a lot of money. Its not necessarily because the software wasn’t built correctly. It simply means that there might be more recent technologies that can help you diminish those costs.
If you’ve noticed that maintenance and evolution costs for your software are very expensive, it might be time to investigate a rewrite.
3- You can’t find a company or consultant to take over your software development
Technologies are evolving quickly and many programming languages are losing traction. Cobol, for instance, isn’t as popular as it used to be. Yes, some systems still run on them but since there aren’t that many such systems, Cobol programmers cost a lot more than, say, mainstream Java programmers.
Again, if you’re having trouble finding suitable people to take over or maintain your software solution or if the price is too high, you need to start thinking about what it would cost you to rewrite your software and diminish your costs in the long run.
4- You patch your software with Excel spreadsheets
Classic! Creating databases directly in Excel is the classical way for small and even large businesses to fill the gaps of their existing software solutions. Excel is not a database! Yes you can keep some information in there but the info is not indexed, normalized or available in a proper collaboration tool.
Ideally, you would fill those gaps in your existing software solution allowing you to centralize your data and manipulate it with more ease. By adding Excel sheets (or any other patch), you’re filling in a gap but delaying the problem. You’re adding a complexity in your overall infrastructure that can end up costing a lot if you depend on it.
If you use Excel spreadsheets as a database, its a definite clue that your software should be updated… and if you’re not updating it…then go back to point 1 🙂