See edit history of this section
Post feedback on this section
- 1. The Requirement
- 2. Rationale
- 3. Guidance
- 4. Small Projects
- 5. Resources
- 6. Lessons Learned
- 7. Software Assurance
1. Requirements
5.1.6 The project manager shall prepare and maintain records of the configuration status of software configuration items.
1.1 Notes
NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement.
1.2 History
1.3 Applicability Across Classes
Class A B C D E F Applicable?
Key: - Applicable | - Not Applicable
2. Rationale
Configuration status accounting (CSA) provides a way for a project to determine the content of configuration items (CIs) throughout the life cycle by capturing the status of submitted products such as data, models, scripts, code, and their associated change requests. It also allows project managers to monitor the developing software and know, based on status accounting reports, the contents of versions and releases of software. See also SWE-063 - Release Version Description.
3. Guidance
4.5.3 Status Accounting
"While the status information can be compiled by hand, it can be a tedious process. Many tools exist that provide an integrated configuration management system for all kinds of documents, including source code, and that can generate the status reports when requested. Some of these tools are free or low-priced." 276
3.1 Configuration Status Accounting
Configuration status accounting generates and/or maintains records of the status and contents of the software throughout the life cycle. This function keeps track of the changes and the contents of versions and releases. Both the acquirer and the provider need to have a status accounting system. See also SWE-063 - Release Version Description, SWE-080 - Track and Evaluate Changes, SWE-084 - Configuration Audits, SWE-085 - Release Management,
When preparing status accounting records, consider the intended audience for those records and prepare them so that the receiver can obtain the information they need quickly and clearly. Consider the following information for CSA records:
- Stages of incompleteness, correctness, and obsoleteness for each CI.
- Identify each stage (e.g., draft, under review, ready for integration/delivery, operational, superseded).
- Status of each CI (version, whether it is checked-out when it was last updated, who made the changes, and what was changed).
- Status of change requests/problem reports. See also Topic 5.01 - CR-PR - Software Change Request - Problem Report,
The SMA (Safety and Mission Assurance) Technical Excellence Program (STEP) Level 2 Software Configuration Management and Data Management course 343 provide a set of questions useful for determining the type of status accounting data that is important to a project. If the answers are important, then the appropriate data needs to be collected and reported as part of CSA. A few of those questions are shown below:
Which versions of which products are installed at which sites? | What are the differences between versions? |
What is the version history of each CI in each version of each product? | What documents support each version of each product? |
What hardware configuration is required to operate a specific version of each product? | When will the next version of a given CI for a given product be available? |
Which versions of which products are affected by a given configuration item revision? | Which revisions of which CIs make up a specific version of a product? |
How many errors were reported and/or fixed in each version of each product in a given time period? | Which product versions are affected by a specific problem report? |
3.2 Data Management
When establishing status accounting activities, consider coordinating or applying the same concepts as part of data management activities. A basic description of data management is provided in SWE-079 - Develop CM Plan.
Once the information to be captured, collected, and reported has been defined, it is captured in the CM plan (see SWE-079 - Develop CM Plan and 5.06 - SCMP - Software Configuration Management Plan).
3.3 Additional Guidance
Additional guidance related to this requirement may be found in the following materials in this Handbook:
Related Links |
---|
3.4 Center Process Asset Libraries
SPAN - Software Processes Across NASA
SPAN contains links to Center managed Process Asset Libraries. Consult these Process Asset Libraries (PALs) for Center-specific guidance including processes, forms, checklists, training, and templates related to Software Development. See SPAN in the Software Engineering Community of NEN. Available to NASA only. https://nen.nasa.gov/web/software/wiki 197
See the following link(s) in SPAN for process assets from contributing Centers (NASA Only).
SPAN Links |
---|
4. Small Projects
Projects with limited personnel and access to an automated CM tool that has reporting features may find that those features are helpful in fulfilling this requirement.
5. Resources
5.1 References
- (SWEREF-197) Software Processes Across NASA (SPAN) web site in NEN SPAN is a compendium of Processes, Procedures, Job Aids, Examples and other recommended best practices.
- (SWEREF-212) IEEE Computer Society, IEEE STD 1042-1987, 1987. This link requires an account on the NASA START (AGCY NTSS) system (https://standards.nasa.gov ). Once logged in, users can access Standards Organizations, IEEE and then search to get to authorized copies of IEEE standards.
- (SWEREF-216) IEEE STD IEEE 828-2012, 2012., NASA users can access IEEE standards via the NASA Technical Standards System located at https://standards.nasa.gov/. Once logged in, search to get to authorized copies of IEEE standards.
- (SWEREF-276) NASA-GB-8719.13, NASA, 2004. Access NASA-GB-8719.13 directly: https://swehb.nasa.gov/download/attachments/16450020/nasa-gb-871913.pdf?api=v2
- (SWEREF-343) This NASA-specific information and resource is available in at the System for Administration, Training, and Educational Resources for NASA (SATERN), accessible to NASA-users at https://saterninfo.nasa.gov/.
5.2 Tools
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.
6. Lessons Learned
6.1 NASA Lessons Learned
No Lessons Learned have currently been identified for this requirement.
6.2 Other Lessons Learned
No other Lessons Learned have currently been identified for this requirement.
7. Software Assurance
7.1 Tasking for Software Assurance
1. Confirm that the project maintains records of the configuration status of the configuration items.
7.2 Software Assurance Products
- None at this time
Objective Evidence
- Software Problem reporting or defect tracking data
- Software configuration management system data
- Software assurance audit results of the change management processes.
- Software version description document(s).
7.3 Metrics
- None identified at this time.
7.4 Guidance
The software engineering guidance in SWE-083 (this requirement) provides guidance on the types of configuration records that should be kept. Particularly important are the records of the items and their versions in each baseline, and the records of the configurations that are being delivered and described in the version description documents that accompany a delivery. Confirm that all the configuration management records are being kept and that they are accurate.
7.5 Additional Guidance
Additional guidance related to this requirement may be found in the following materials in this Handbook: