Dispelling much of the folklore surrounding software maintenance, Software Maintenance Success Recipes identifies actionable formulas for success based on in-depth analysis of more than 200 real-world maintenance projects. It details the set of factors that are usually present when effective software maintenance teams do their work and instructs on the methods required to achieve success.
Donald J. Reifer—an award winner for his contributions to the field of software engineering and whose experience includes managing the DoD Software Initiatives Office—provides step-by-step guidance on how to structure the job to complete the work related to the task. Covering all phases of maintenance up to software retirement, he identifies the resources required to ready support system operation during transition and turnover, details best practices for establishing a maintenance infrastructure, and spells out a wealth of best practices aimed at maintaining and sustaining the product once it is deployed.
This book tells you how to manage today’s ever-evolving maintenance environment so you can build the foundation for sound maintenance work. It explains how to create a robust management infrastructure, ensure proper resources are available, establish a user support structure, and conduct a meaningful measurement program. Filled with real-world examples and a detailed case study that is threaded across chapters, it provides you with the understanding and tools to plan for a major upgrade and determine the best time to retire your current software systems.
Maintenance Is Everybody’s Primary Business
Why Read This Book?
Goals and Scope
Maintenance Viewpoints
Product—User Needs and Adaptation Requirements
Process—Evolution and Change Management
People—Workforce Needs
Project—Deadlines and Management
Focus on Work Activities Performed
Questions to Be Answered
Lessons Learned
Case Study
Key Point Summary
References
Web Pointers
Software Maintenance Overview
Who Does Is, Why, Where, When, and How?
As Part of Development
During Transition
After Turnover
Operational Concepts and Constraints
Characteristics of World-Class Organizations
Issues and Answers
Lessons Learned
Case Study
References
Web Pointers
The Maintenance Pie—What Work Needs to Be Done
Software Operations, Maintenance, and Support Work Breakdown Structure (WBS)
Activity Distributions
Resource Needs
Success Formulas
Lessons Learned
Case Study
References
Web Pointers
Ten Success Recipes for Surviving the Maintenance Battles
Emphasis on Managing the Work
Establish a Proper Infrastructure
Address Operational Restrictions
Ten Success Recipes
Lessons Learned
Case Study
References
Web Pointers
Adequate Transition and Turnover Planning
What You Need to Execute an Effective
Maintenance Program
During Development
Product
Process
People
Project
After Transition and Turnover
What Happens When a System Does Not Transition
When to Replace rather than Repair
Lessons Learned
Case Study
References
Web Pointers
Establishing a Solid Management Infrastructure
Role of Capability Maturity Model (CMM) and Capability Maturity Model Integration (CMMI)
The Role of Requirements
Budgeting and Estimating
Release Management
Focus on Reuse, Rejuvenation, and Resuscitation
Lessons Learned
Case Study
References
Web Pointers
Best-in-Class Facilities
Integration Laboratories
Maintenance Facilities
Methods and Tools
Where Investments Are Needed
Lessons Learned
Case Study
References
Web Pointers
Responsive User Support Structure
Emergency Fixes
Help Desk
Web Facilities
Lessons Learned
Case Study
References
Web Pointers
A Focus on Regression Testing
Revalidation and Qualification
Field Testing and Releases
Field Support and Repairs
Lessons Learned
Case Study
References
Web Pointers
Content-Based Annual Releases
Adaptive, Corrective, and Perfective Changes
What Changes to Include, When, and Why
Focus on Quality
Distribution Controls
Lessons Learned
Case Study
References
Web Pointers
Proper Resourcing (Staff and Equipment)
Necessary Skills, Knowledge, and Abilities
Facility Optimization and Utilization
Focusing on Workload Load Balancing
Lessons Learned
Case Study
References
Web Pointers
Effective Measurement Data Utilization
Quality Insights Using Defect Data
Productivity Insights Using Cost Data
Management Insights Using Process Feedback
Lessons Learned
Case Study
References
Web Pointers
Being Ready for the Next Major Upgrade
Feasibility Studies
Cost-Benefit Trade-Offs
Cost-Effectiveness Analysis
Other Techniques
Lessons Learned
Case Study
Key Point Summary
References
Web Pointers
Knowing When to Retire the System
Death Spirals
Retirement Plans
Deployment Options
Cutover
Lessons Learned
Case Study
References
Web Pointers
Future Shock—An Action Plan
Looking to the Future
Development Technologies
Technology Readiness Level
Lean Manufacturing (Kanban)
Users as Maintainers
Cloud Computing and Its Impact
Lessons Learned
Case Study
References
Web Pointers
Winning the Battles for Prestige, Resources, and Recognition
Playing to Win
Developing Your Support Base
Winning the Battle of the Budget
Keeping Users Involved
Delivering Exceptional Products and Services
You Can Be Successful
Key Point Summary
Final Remarks
References
Appendix A: Acronyms
Appendix B: Glossary
Appendix C: Recommended Readings, References, and Resources
Biography
Donald J. Reifer is one of the leading figures in the field of systems/software engineering and management with over 40 years of progressive experience. He has built businesses, steered troubled projects, and served in executive positions in industry and government. He specializes in the area of metrics and measurement. From 1993 to 1995, Mr. Reifer managed the DoD Software Initiatives Office under an Intergovernmental Personnel Act assignment with the Defense Information Systems Agency (DISA). As part of this Senior Executive Service (SES) assignment, he also served as the Director of the DoD Software Reuse Initiative and Chief of the Ada Joint Program Office and worked in the Office of the Assistant Secretary of Defense (ASD/C3I).
Previously, while with TRW, Mr. Reifer served as Deputy Program Manager for their Global Positioning Satellite (GPS) efforts. While with the Aerospace Corporation, Mr. Reifer managed all of the software efforts related to the Space Transportation System (Space Shuttle). Mr. Reifer started his software career at Hughes Aircraft Company as a software engineer on the Phoenix missile project.
Currently, as President of RCI, Mr. Reifer supports executives in many Fortune 500 firms who are developing investment strategies aimed at improving their systems and software engineering capabilities and capacity. Mr. Reifer also serves as the Principal Investigator on our information warfare and software protection SBIR efforts. In addition, he serves as a Visiting Associate at the Center for Systems and Software Engineering at the University of Southern California (USC). He leads several of the Center's COCOMO-II efforts and mentors graduate students and Affiliates in the proper use of this popular cost model.
Mr. Reifer was awarded the Secretary of Defense's Medal for Outstanding Public Service in 1995 for the innovations he brought to the DoD during his assignment. Some of his many other honors include the include the AIAA Software Engineering Award, Hughes Aircraft Company Fellowship, the Frieman Award for advancing the field of parametrics (cost estimation), the NASA Exceptional Service Medal and membership in Who's Who in the West. In 2002, Mr. Reifer was presented the AIAA Software Engineering award for accomplishments in the field. Reifer is a senior member of the ACM and IEEE and a member of INCOSE and ISPA.
In this book, Don Reifer provides you with a better understanding of what the maintenance challenge really is and, more importantly, what you can do about it. If you follow Don’s guidance, you will be better positioned to meet the software maintenance challenge—today and into the future.
—Roger S. Pressman, Ph.D.