There are a few ways to deal with aging software. One of them is to wipe out old rubbish and make room for a brand new solution. It is a tempting but risky way to go. The second one is trying another solution – software reborn.
When a company creates software from scratch, it is free to design it in its way. Software made from scratch can include all the functionalities a given firm needs and forget about the rest. There is no need to buy Microsoft Excel only to sum up a bunch of columns.
What’s more, the company’s know-how makes preparing tailored software much easier. With experts and end-users around the corner, there is no need for a long designing process. All consultations may be done in real-time.
The latest tech…
Rejecting an old solution makes the problem of backward compatibility redundant. New software may be free of all the old-fashioned ways of programming and designed with the latest tech trends, i.e. compatibility with mobile platforms. Making old software accessible with smartphones and tablets may be a headache. Ultimately, preparing a mobile-first solution may be much easier than software reborn, redesigning the controls, and applying new user experience to old software.
… or maybe not
Although the idea may seem great, it is not easy to accomplish in reality. The most prominent face-value advantage of designing software from scratch is a dead-end. It would be surprising to find an expert skilled in both software development and business domain.
It is highly improbable for a non-tech firm to have coding skills comparable to a software house. It is common to redefine and optimize business processes parallel to software development. Without that, it is not designing new software, but building “the old one on steroids” which is beside the point.
An unconvinced customer
If convincing employees to use new software may be troublesome, teaching customers to use the new software could be a nightmare. People tend to prefer a known tool over a new (better) one. The best example is the DVORAK keyboard. Most people learn to use the QWERTY keyboard. They stick to it for the rest of their life, even though the DVORAK keyboard makes typing faster and more comfortable.
Furthermore, creating a new solution from scratch, instead of software reborn, implies launching the whole system at the same time, without the chance to test out its components. In this case, the customer feedback may be less focused and more difficult to collect. The team would be overwhelmed with dealing with the most obvious bugs and may overlook real threats hidden deep in the code.
The final frontier
Last but not least (in fact – the most significant) challenge is the market itself. Burning to the ground something that works in order to implement an entirely new solution is risky. Due to its ease of use, legacy software dominates the industry, regardless of (major or minor) issues. New systems, designed from scratch and without the appropriate market testing could very well turn out to be insufficient for many reasons. Problems could range from overlooking the basics, mistakes in architecture, to the overemphasis of one technology over another.
In summary, building a brand new solution comes with many risks and requires much more than expertise and know-how. The pros are strong: the creation of a highly tailored software with all the required features and the use of the latest tech trends to power up business. On the other hand, this approach is riskier than make software reborn. Every company should decide for themselves if the effect is worth the effort.
Author: Adam Krosny – a natural leader who is often evident during various IT projects. Intuitive and visionary, he is skilled at designing software architecture and guiding the team in the right direction @fireup.pro