"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: