5.1.6 The project manager shall prepare and maintain records of the configuration status of configuration items.
NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement.
1.2 Applicability Across Classes
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 management to monitor the developing software and know, based on status accounting reports, the contents of versions and releases of software.
"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." (NASA-GB-8719.13, NASA Software Safety Guidebook
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.
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.
SMA (Safety and Mission Assurance) Technical Excellence Program (STEP) Level 2 Software Configuration Management and Data Management course
provides 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?
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.
Once the information to be captured, collected, and reported has been defined, it is captured in the CM plan (see SWE-079 and SCMP).
NASA users should consult Center Process Asset Libraries (PALs) for Center-specific guidance and resources related to status accounting.
Additional guidance related to status accounting may be found in the following related requirements in this Handbook: