Maintenance is frequently the most neglected part of application development. A production system can run for thirty years or more. It may have only taken two years' effort to build.

Design decisions taken during the development of an application can, therefore, cost far more than was apparent at the time. See On the Criteria To Be Used in Decomposing Systems into Modules. Making the right decisions allows unforeseen changes to be made cost-effectively. Making the wrong decisions can mean that business-driven changes in requirements cannot be made to the existing system.

The "new model" (see rouftop's write-up) takes this latter statement to heart. No effort is expended on making the system maintainable. The development lifecycle is geared towards getting something delivered cheaply.

It remains to be seen if, in the longer term, this proves to be a cost-effective model.