Software Maintenance: Concepts And Practice, Second Edition

Maintaining software is a complex field and it is not easy to keep track of everything that is happening. Nonetheless, it is vital to do so. In this part of the book, we look at how to keep track of all the complexities of the maintenance process and, related to this, how to be sure that what we are doing is effective.
IT systems grow and change. The more successful a system, the better used it will be and the more it will evolve. Uncontrolled change leads to less order within a system and eventually to a system that is so degraded and disordered it can no longer change. With software at the heart of so many systems in the modern world, it is ever more vital that software change and evolution is controlled so that systems can grow in functionality and usefulness, rather than defaulting to an uncontrolled slide towards disordered complexity.
Even if you will never be called upon to take charge of the management of complex software change, you need a good understanding of what controlling software is all about. It will underpin much of what you do and the decisions you make as a maintenance programmer.
The development of good, maintainable systems is a laudable aim, but what exactly does good and maintainable mean? How can you judge if one system is better than another? Measures such as user satisfaction are...