Overview
In this activity, the project software manager, assisted by the software engineering process group (SEPG), identifies software assets generated on other projects or available from outside sources as candidates for reuse on the current software project. The project software manager also identifies any potential candidates for future reuse that will be developed during this software project. Planned reuse is documented in the Reusable Software Products section of the Software Development Plan (SDP) (see Appendix E).
Roles and Responsibilities
The project software manager and software engineering manager promotes software reuse throughout the software project, coordinates research of reuse libraries to identify candidate software life cycle products, and selects reusable assets to incorporate into the software project.
The SEPG may assist the project software manager in identifying and acquiring, and/or submitting software products for reuse.
Controls
MIL-STD-498, Appendix B, pp. 33-35, specifying criteria for evaluating reusable software products.
Department of Defense (DoD) Program Managers Reuse Issues Handbook, 1996, discussing issues of acquiring and incorporating reusable software.
Inputs
Reusable software products for evaluation.
Procedures
For general information on software reuse, the project software manager should review the DoD Program Managers Reuse Issues Handbook, and Appendix B of MIL-STD-498 .
1) Based on the systems functionality, the project software manager seeks to identify reusable software products for use on the software project. These products may include the software, as well as documentation (e.g., detailed design documents, test procedures). Common areas of reuse are device drivers, math and string libraries, graphical displays, and common data structure operations.
2) The project software manager should consult with the SEPG to determine what reusable software products are available in the organizations asset library or via Government or commercial asset libraries. One such NASA-sponsored library is the Computer Software Management and Information Center (COSMIC) operated by the University of Georgia. Three major DoD libraries are: the Defense Software Repository System (DSRS), the Comprehensive Approach to Reusable Defense Software (CARDS) library, and the Asset Source for Software Engineering Technology (ASSET). A commercial source of reusable Ada products is the Generic Reusable Ada Components for Engineering (GRACE) library.
3) Identified reusable products should be evaluated for use on the project based on the evaluation criteria provided by MIL-STD-498 Appendix B.
4) Once it is determined that a product will be reused, it is acquired and placed under software configuration management (SCM) (see activity 2.1 Place Software Products Under Software Configuration Management). The work breakdown structure (WBS) (see activity 1.1.1.1.2 Develop Work Breakdown Structure) and cost estimate (see activity 1.1.1.1.4 Perform Cost Estimating) are updated, if applicable.
5) The project software manager and software engineering manager, together with the SEPG, also should consider developing reusable software products as part of this software project effort. The SEPG should determine what products are most likely to be reused on future projects with the organization, and assist the project software manager and software engineering manager in determining the standards and procedures for developing reusable products and submitting them to a reuse library.
6) The project software manager documents the reusable products to be developed and those that will be reused during the project in the Reusable Software Products section of the SDP.
Outputs
The software products identified for reuse (both on this project and to be developed for future projects) that are documented in the Reusable Software Products section of the SDP.
The software products for reuse that were acquired and placed under SCM.