Book A.

Book B.
7150 Requirements Guidance

Book C.

References, & Terms

(NASA Only)

SWE-083 - Status Accounting

1. Requirements

4.1.5 The project shall prepare and maintain records of the configuration status of configuration items.

1.1 Notes

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.





























Key:    A_SC = Class A Software, Safety-Critical | A_NSC = Class A Software, Not Safety-Critical | ... | - Applicable | - Not Applicable
X - Applicable with details, read above for more | P(C) - P(Center), follow center requirements or procedures

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 management to monitor the developing software and know, based on status accounting reports, the contents of versions and releases of software.

3. Guidance

"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 276)

Per the NASA Configuration Management (CM) Standard 275, 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 343 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 212)

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:


Release Version Description


Develop CM Plan


Software Configuration Management Plan


Software Version Description

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 Tools

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.

6. Lessons Learned

There are currently no Lessons Learned identified for this requirement.