It seems logical to think that if you make something new, from the bottom up, it is better than a converted system. A new house is better than an old house, a new garden is better than an old garden. Or is it?
Software does not rust – the more it is used the better it becomes. Users find small errors and ways in which some things can be done better. It is corrected and improved. The software becomes customized.
New ideas lead to variation in code
Microsoft .Net contains a very large number of methods to implement functions. Which method to choose is often not clear, so programmers have to select a method. But each method has disadvantages, so a few months later the same programmer may choose another method to solve the same problem. Different programmers will use the method in a slightly different way.
New technology leads to variation in code
During the long period of developing the new ICT system, Microsoft will publish new, improved methods, some fundamental like the Microsoft Communication Foundation, or Microsoft Workflow system. Programmers want to use the new technology, but often do not replace already implemented and tested modules. In the end the new application consists of both old and new methods to achieve the same results.
Oops: we forgot the users.
After implementing the new system, users will find that functionality in the legacy system has been overlooked, or just wrongly implemented. Users want their functionality restored in the new system. Users accustomed to quickly flicking through pages get tired of waiting for the new beautiful modern browser interface. Users who could quickly locate functions in the old menu system then demand that the old menu system be restored in the new application. Loud protests from the programmers follow, because the old functionality is simply not possible to implement in the new system. But in the end the users win, and the problem is solved with everybody having it both ways.




