A Method For Developing And Maintaining Evolving Systems With Software Product Lines
information technology and software
A Method For Developing And Maintaining Evolving Systems With Software Product Lines (GSC-TOPS-42)
Applying physical mass manufacturing ideas to software
Physical manufacturers have been taking advantage of mass manufacturing ideas for a long time, increasing their productivity, cutting their costs, and ensuring the quality and uniformity of their products. Now, this idea is being applied to software production so the same benefits can be reaped in that field.
The idea of a software product line has been developed that views software products that are substantially similar, or which have substantially similar content, as being different products in a line of products that the organization develops. For example, flight software for different missions can be viewed as a line of products that fulfills this purpose, with many of the products having similarities, or in extreme cases being very similar with a few specializations. This method expands this view further and sees an evolving system, one that will likely run for a long period of time, and which must have corrections, enhancements and changes made to it over a period of time, as essentially exhibiting a product line. More specifically, different versions or releases of the system are viewed as different 'products' that are substantially similar. This method opens a new field of developing a complex system that is likely to involve many interacting components for development as a product line, which can be developed with state-of-the-art software engineering techniques.
- Enables much higher productivity than traditional software engineering practices;
- Increases productivity and reduces costs and time; and
- Higher quality software: reduced costs and time allow for more attention to be paid in ensuring the quality of the software.
- Any large-scale software production; and
- Version control.