Establishing a Basis for Software Reuse
Systematic software reuse is a strategy that can bring products to market or field more quickly, improve quality, and lower costs. Recently, this strategy has become more popular in the increasingly competitive development environment brought about by budgetary restrictions. For example, the DoD Systems Engineering FY 2014 Annual Report (issued in March 2015) notes that the CH-53K Heavy Lift Replacement Helicopter includes 7 million software lines of code, with 64 percent reuse.
Underlying today's efforts to reuse software is a 1990s technology called feature-oriented domain analysis (FODA). Developed by the SEI, FODA analyzes a problem domain across multiple similar systems to identify common and variable features. In developing FODA, the SEI demonstrated that managing variation was essential to systematic software reuse and that simply identifying common elements and features is insufficient.
At the SEI, FODA later evolved into product line analysis, which extended the analysis of commonality and variability beyond features to quality attributes.