Which would you rather do — maintain an existing application’s code or create (maybe re-create) an application from scratch? Obviously, it would depend upon the complexity and size of the application, and perhaps the tools used to create the app — but I believe that at some point after an app has been in service for a while, it reachs a point where I’d rather re-create rather than do maintenance to bring it up-to-date.
It has been my experience that somewhere in the 5-10 years of use range between hardware changes, O/S changes, functionality additions, “bug” fixes and patchs for the various changes — it becomes time to “rebuild” the application. Again in my experience, what I have found is that the code appears to resemble more a patchwork quilt than that of a logical program by that time. This fact appears to be one of the best “selling” points to use when approaching the idea of re-writing an application with the management that will have to pay for it.
Our off-the-shelf software creators take care of this for us — we get what they want to give us — like it or not. I won’t go off on a rant about application “bloat” (…which I am very capable of doing!). With our custom application programs we DO have an opportunity to evaluate and re-design according to the latest techniques, and add functionality (or not) in an orderly – maintainable – fashion. I don’t suggest adding functionality “just because you can”, yet if it “fits”, if it adds to the useability of the application, then consider it.
There is many a program which I have re-written as the result of a re-evaluation of the application. Particularly I will choose to re-write when the application has become a “bear” to maintain. Sometimes the user sees no change, yet an application which can be easily maintained and is up-to-date with the technology is (at least in my book) always preferable.