Migration of unmigrated content due to installation of a new plugin
1. The Requirement
1. The Requirement
4. Small Projects
6. Lessons Learned
4.1.5 The project shall prepare and maintain records of the configuration status of configuration items.
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.
1.2 Applicability Across Classes
Class G and Class H are 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.
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
Per the NASA Configuration Management (CM) Standard
, CSA is "a by-product of all the other CM processes to ensure that information is systematically recorded, safeguarded, validated, and disseminated." 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.
The STEP (SMA (Safety and Mission Assurance) Technical Excellence Program) 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?
"The procedure for tracking the status of CIs should be established early enough in the software development process to allow data gathering when it is most easily generated (that is, at the decision and response points) rather than after the fact. The desirable amount of automation depends in large part on the tools available, the size of the project and the maturity of the existing procedures.
"Status accounting for multiple sites represents a more complex reporting procedure...Other general requirements for reporting must anticipate management needs for various combinations of information. An ad hoc query capability is often most useful." (IEEE SA 1042-1987, IEEE Guide to Software Configuration Management
Once the information to be captured, collected, and reported has been defined, it is captured in the CM plan (see SWE-079 and SWE-103).
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: