The amount of time and expense spent debugging, customizing, updating, and maintaining software far outstrips the amount spent buying it. This book provides a simple and straightforward introduction to software maintenance activities that work. It is the first book to cover software transition, the process of moving the product from developer to maintainer. Written by one of the world's foremost experts on software maintenance, it draws on real world case studies to explore basic do's and don'ts, IEEE and ISO requirements, organizational issues, and the often sticky issue of metrics. Other topics addressed include object-oriented software and client/server software, corporate education and training programs, creative cost controls, and more.
Authored by one of the world's foremost experts on software maintenance, this handy guide to software maintenance translates a great deal of theory into practical guidelines for daily operations. In a book packed with helpful real-world examples, maintenance do's and don'ts, and rules of thumb, Tom Pigoski covers all the bases, including:
"One of the most detailed treatments of software maintenance currently in print. . . . This book is a worthwhile addition to the library of any software professional who works on the maintenance of existing computer programs and that means most of us!" - Roger S. Pressman, PhD R. S. Pressman & Associates, Inc.
THOMAS M. PIGOSKI is Senior Software Engineer at TECHSOFT, Project Editor and primary author of ISO's proposed International Standard on Software Maintenance, and General Chair of the IEEE International Conference on Software Maintenance.
The author provides a very compelling story based on his real world experiences as it relates to operations and maintenance for medium to large size software implementations. This is a great book to read for those who are not familiar with the challenges of software maintenance.
What sets this book apart is the fact that is one of the few still in print that addresses software maintenance (the other one of which I am familiar is more focused on maintenance programming as opposed to maintenance as a process and discipline).
The main value is the maintenance-oriented framework that the author provides, which encompasses planning activities, a set of processes and organizational and cost considerations. These are valuable guidelines and will help to clearly define the transition between application delivery and maintenance and support operations within IT. Much of this material is also applicable to product-based organizations that produce commercial software.
I would have liked more information about maintenance metrics that I could have compared to resources I already have, and also would have liked more emphasis on reliability and quality metrics. However, the book is more focused on processes and support, and it shines in those areas. If you are interested in software maintenance from developer's and software engineering viewpoints I recommend "Designing Maintainable Software" by Dennis D. Smith (ISBN 0387987835). For metrics I strongly recommend "Software Metrics: Establishing a Company-wide Program" by Robert B. Grady ISBN 0138218447).