KBSI developed a library of models for post deployment software maintenance (PDSM) workload estimation along with a comprehensive methodology for PDSM concept analysis: i.e., how to think about supporting software-intensive systems, and how to formulate and analyze trade-offs in the design space.
To meet the National Defense Strategy of global engagement, rapid mobility, a small logistics footprint, and inherent reliability, the U.S. Army’s weapon systems program office wanted a means for more effective post-deployment software maintenance. Software is now recognized as the highest risk system component in virtually every major defense acquisition, and the role of software in the overall weapon systems acquisition enterprise continues to grow. For example, when the C-17 development program began in 1985, the government planned for the development of four subsystems with about 164,000 lines of code. By 1990, this number had increased to 56 subsystems and about 1,356,000 lines of code, including approximately 643,000 newly developed lines-of-code.
The increased emphasis on software in defense acquisitions comes with a parallel emphasis on maintaining the software. Software modifications for F-16 avionics, mission planning, or automatic test equipment for all U.S. and foreign military sales aircraft is approximately one million lines of code per year. The Army’s Future Combat System (FCS) will be a networked system in which every piece of equipment on the battlefield, from tank to drone, is connected by about 33 million lines of software code. In addition, the operational availability of these defense acquisitions, once a function of parts availability, tend now to be driven by manpower: the application administrators, database administrators, network administrators, field technicians, etc. that are characteristic of information technology-intensive enterprise. Today, software maintenance costs account for approximately 50% to 80% of the overall software life cycle costs.
KBSI, in a project funded by the U.S. Army, developed an advanced methodology and the supporting tools to facilitate the definition of post-deployment software support staff selection, staffing levels, and training requirements for emerging weapon systems. The Post Deployment Software Maintenance (PDSM) project developed and refined a library of models for PDSM workload estimation and a comprehensive methodology for PDSM concept analysis: i.e., how to think about the support of software-intensive systems, and how to formulate and analyze trade-offs in the design space. This methodology helps users answer questions like: What is the expected maintenance burden? What knowledge, skills, and specialties will be required to operate and maintain the system? How should I plan to accommodate changes in technology? What are the trade-offs (e.g., more technology versus more hardware, more automation versus more training, higher salaries versus lower retention rates).
Phase II Developments
Phase II developed an architectural strategy and automated set of tools to support PDSM concept formulation and analysis. These tools include a methodology application framework that, via a graphic user interface, operates like a software wizard to help users successfully apply the methodology in different contexts and according to different project needs. The wizard poses questions to the user in order to refine the analysis and pull the model types and templates from the library that could apply. The framework then makes available trade-off analysis functions via parametric modeling, Monte Carlo and discrete event simulation, and systems dynamic modeling that allow the user to determine the trade-off options and their weight.
As software becomes more and more ubiquitous, whether through the advancement of the Army’s system of systems concept or the acquisition of new defense technologies, the importance of the PDSM analysis support technologies will continue to grow and become increasingly pronounced. The PDSM methodology and automated framework help the Army better plan for and address their software maintenance needs.