1st Edition

Software Maintenance Success Recipes

By Donald J. Reifer Copyright 2011
    338 Pages 30 B/W Illustrations
    by Auerbach Publications

    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
    What Is Maintenance and Why Is It Important?
    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
    Work Breakdown Structure
         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
    Balance between Agility and Discipline
    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
    Prerequisites for Success
    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
    Best Practices
    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
    Facilities Overview
    Integration Laboratories
    Maintenance Facilities
    Methods and Tools
    Where Investments Are Needed
    Lessons Learned
    Case Study
    References
    Web Pointers

    Responsive User Support Structure
    Maintenance Releases
    Emergency Fixes
    Help Desk
    Web Facilities
    Lessons Learned
    Case Study
    References
    Web Pointers

    A Focus on Regression Testing
    Regression Tests and Test Baselines
    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)
    Estimating/Budgeting Best Practices
    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
    What Data, When, and Why
    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
    Real Option Concepts
    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.