4.1.1 The project shall develop a Software Configuration Management Plan that describes the functions, responsibilities, and authority for the implementation of software configuration management for the project. The Software Configuration Management Plan may be a part of the project configuration management plan. The content is defined by the requirement in Chapter 5 [of NPR 7150.2, NASA Software Engineering Requirements, Section 5.1.2]. Class G is labeled with "P (Center)." This means that an approved Center-defined process which meets a non-empty subset of the full requirement can be used to achieve this requirement. Class A_SC A_NSC B_SC B_NSC C_SC C_NSC D_SC D_NSC E_SC E_NSC F G H Applicable? P(C) Key: A_SC = Class A Software, Safety-Critical | A_NSC = Class A Software, Not Safety-Critical | ... | - Applicable | - Not Applicable "The discipline of CM (configuration management) is vital to the success of any software effort. CM is an integrated process for identifying, documenting, monitoring, evaluating, controlling, and approving all changes made during the life-cycle of the program for information that is shared by more than one individual or organization." (NASA-GB-8719.13, NASA Software Safety Guidebook) "Software configuration management is practiced during all phases of the software life cycle, from initiation of development through software maintenance, and is responsible for ensuring that any changes during the development and maintenance processes are made in a controlled and complete manner... Configuration management contributes to software safety by ensuring that documentation and source code are updated only through a formal process." (NASA-STD-8719.13B, NASA Software Safety Standard) 271 Given that CM occurs throughout the project life cycle and is critical to controlling and tracking all elements of the project, having a plan in place ensures that the team is informed of and performs all necessary and required configuration management tasks. Development of the SCM plan provides the opportunity for stakeholders to give input and assist with the documentation and tailoring of the planned configuration management activities for the project. The SCM plan has both internal and external uses. Internally, it is used within the project to guide, monitor, and measure the overall CM process. It describes both the CM activities planned for future acquisition phases and the schedule for implementing those activities. Externally, the SCM plan is used to communicate the CM process to the contractors involved in the program. It establishes consistent CM processes and working relationships. (NASA Systems Engineering Handbook 273) The SCM plan describes the software configuration management for the project, including functions, responsibilities, and implementation authority. This plan may be part of the software development plan (SDP)/software management plan (SMP) or it may be a standalone document. If the plan is a standalone document, part of its content needs to describe the SCM plan's relationship to other project plans, especially if configuration management activities are referenced or described in those plans. Both providers and acquirers need to have a SCM plan. The contents of the provider plan are established in the contract. The SCM plan primarily provides a formal method for managing change, but other activities are key to the overall process and are also appropriate to describe in the plan. See SWE-103 in this Handbook for guidance on required contents, but consider the following topics as well when developing the SCM plan: When writing the SCM plan, consider the following tailoring suggestions from IEEE STD 828-2005 216: The SCM plan may also be tailored by software classification. Goddard Space Flight Center (GSFC)'s Requirements for Minimum Contents of Software Documents 090 provides one suggestion for tailoring an SCM plan based on the required contents and the classification of the software being developed. Development of the SCM plan, typically by engineering, begins during project formulation. Inputs to developing the project-level plan include the program CM plan, the IEEE Standard for Software Configuration Management Plans (IEEE STD 828-2005), and any Agency or Center-specific templates and guidance material. Once the SCM plan is created, it is peer reviewed (SWE-137), coordinated with the project customer and other stakeholders, and reviewed at project milestone reviews, such as the System Requirements Review (SRR), Software Requirements Review (SwRR), Mission Definition Review (MDR), etc. (see Topic 7.08 - Maturity of Life Cycle Products at Milestone Reviews). The SCM plan needs to be reviewed by software assurance to ensure compliance with applicable standards, procedures, and to ensure the plan is being properly implemented. Consult Center Process Asset Libraries (PALs) for Center-specific guidance and resources related to CM. Additional guidance related to CM and topics that have to be addressed in the SCM plan may be found in the following related requirements in this Handbook: Track and Evaluate Changes Identify Software Configuration Management Items Authorizing Changes Status Accounting Configuration Audits Release Management Software Configuration Management Plan CM activities are based on risk, so projects designated small by size of the team or budget need to ensure that their SCM (Software Configuration Management) plans consider all the required content noted in SWE-103, but only include those processes and the associated structure commensurate with project risk. This might mean planning to use simpler tools or fewer personnel (filling multiple roles) to carry out the SCM processes. It could also mean planning to use a single tool for multiple purposes to reduce tool management and overhead. Note that waivers may be necessary if any required content is left out of the SCM plan. Small projects may not require the formality of a separate SCM plan; instead SCM planning may be documented as a section of the project's Software Management Plan. Alternatively, one master SCM plan may document CM for multiple small projects. Tools to aid in compliance with this SWE, if any, may be found in the Tools Library in the NASA Engineering Network (NEN). NASA users find this in the Tools Library in the Software Processes Across NASA (SPAN) site of the Software Engineering Community in NEN. The list is informational only and does not represent an “approved tool list”, nor does it represent an endorsement of any particular tool. The purpose is to provide examples of tools being used across the Agency and to help projects and centers decide what tools to consider. The NASA Lessons Learned database contains the following lessons learned related to the importance of configuration management:
See edit history of this section
Post feedback on this section
1. Requirements
1.1 Notes
1.2 Applicability Across Classes
X - Applicable with details, read above for more | P(C) - P(Center), follow center requirements or procedures2. Rationale
NASA-GB-8719.13, NASA Software Safety Guidebook, 276 describes the software configuration management (SCM) plan in this manner: "All software products, which includes far more than just code, must be configuration managed. Old files in a software build are a notorious problem, as are lost updates and other problems with changed files. The plan specifies what will be under configuration management (CM), what CM system will be used, and the process for moving an item into or out of the CM system."3. Guidance
4. Small Projects
5. Resources
5.1 Tools
6. Lessons Learned
SWE-079 - Develop CM Plan
Web Resources
View this section on the websiteUnknown macro: {page-info}