ISO/IEC 14764:1999 Information technology – Software maintenance
Maintenance consumes approximately 80% of a software life cycle’s financial resources, yet is rarely planned for or operated with engineering discipline.
Often there are many more changes during the maintenance phase of a product as it evolves with the expertise of its users than there were during its initial development. The software becomes field tested much more thoroughly while in use and the resulting changes, fixes, and enhancements result in being either a patchwork quilt of code that may or may not work. Or it can become a highly robust and reliable product whose components can be reused over again.
The difference in the end product depends on the engineering discipline with which the software is maintained.