bannera

Book A.
Introduction

Book B.
7150 Requirements Guidance

Book C.
Topics

Tools,
References, & Terms

SPAN
(NASA Only)


SWE-006 - Agency Software Inventory

1. Requirements

1.2.5 To support compliance with NASA policy and facilitate the application of resources to mitigate risk, the NASA Headquarters' Chief Engineer, in coordination with the Chief, Safety and Mission Assurance, shall maintain a reliable list of the Agency's programs and projects containing software.

1.1 Notes

NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement.

1.2 Applicability Across Classes

Class

  A_SC 

A_NSC

  B_SC 

B_NSC

  C_SC 

C_NSC

  D_SC 

D_NSC

  E_SC 

E_NSC

     F      

     G      

     H      

Applicable?

   

   

   

   

   

   

   

   

   

   

   

   

   

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

NASA develops and maintains an inventory of software across the Agency to facilitate strategic decisions based on actual data. The NASA Office of the Chief Engineer (OCE) (in coordination with the Chief of the Safety and Mission Assurance (S&MA) Office) and the Software Steering Board are overseeing the update of the Software Inventory of projects based on the classification of software.  The Centers provide updates with supporting data directly into the Software Inventory Management System (SIMS), the Agency's software inventory database. The rationale and uses of this Software Inventory include:

  1. The Software Inventory directly supports the NASA Chief S&MA Officer and the Independent Verification and Validation (IV&V) Board of Directors (IBD) in the selection of projects to receive Agency-funded IV&V services each year.
  2. The Software Inventory supports Engineering and S&MA Technical Authorities' duties by cataloging the classification of software on projects and whether it is safety critical.
  3. The Software Inventory supports the OCE in helping to determine whether Centers' software engineering capabilities are commensurate with their responsibilities.
  4. The Software Inventory provides an accurate profile of critical software (Class A, B, and C and Class D and E safety critical) across the Agency to facilitate strategic decisions based on real data.
  5. The Software Inventory supports Mission Directorate offices in supplementing the Master Agency Project List's Metadata Manager (MDM) system with information on critical software.
  6. Center S&MA personnel utilize the Software Inventory to help identify projects and assure they are covered and have been assessed for safety critical software and software assurance. 
  7. The Software Inventory provides NASA personnel with current data for decision-making.
  8. The Software Inventory supports the OCE and Office of S&MA during the planning phase of Center surveys and IPS (Institutional Programmatic Support) audits.

In coordination with this process, each Center's Office of Safety and Mission Assurance (OSMA) organization is requested to provide safety critical software and software assurance information.  Once the Center inputs are complete, the OCE may augment the Center lists with inputs from Mission Directorates, Support Offices, and Centers as appropriate.  The inventory data for a specific Center also supports Center planning for project support and review activities.

3. Guidance

The guidance for this requirement applies to software Classes A though E (see SWE-020).  Inventory information for software Classes F through H are captured separately and maintained by the NASA Chief Information Officer.

Periodically the OCE (Office of the Chief Engineer) issues a request to the Centers with instructions 290 for an update to the inventory of software projects under its purview. When these instructions are completed, the resulting submission provides the information necessary to complete the data collection for the software inventory for projects containing Class A, B, C, D, and E software. The OCE typically reviews the Center submissions for consistency and reliability. The OCE may augment the Center submissions with comments on Center inputs from Mission Directorates, support offices, and other Centers, if appropriate. Execution of the software inventory process results in a prioritized list of projects based on the criticality of software under development or maintenance. 

There is a minimal set of data collected for Class D and Class E software. Since projects containing exclusively Classes F, G, and H software are inventoried separately under the direction of the Chief Information Officer, they are not required to report under the OCE request.

The OCE software inventory is officially maintained in SIMS. 330 Access to this password protected site is controlled by the OCE.

The OCE requires that a "Designated Point of Contact" (DPC) be named at each Center for the inventory activities. The DPC (or a designee) will be responsible for accessing the Software Inventory Management System (SIMS) and entering the Center's updated data into the system, or in the case of a new project, creating a new entry in the SIMS tool. The Center S&MA personnel will also have access to SIMS to enable the updating of the S&MA information for their Center's projects. All data must be reviewed and prioritized at the Center (based on the criticality and risk inherent in the project) by the appropriate Center personnel. The review must include participation by the representatives of the local S&MA office.

Detailed instructions 290 for completing the software inventory survey are contained in the annual call letter for the inventory from the OCE. Entries for the software inventory include:

  • Project information.
  • Software title(s).
  • Whether the software in development is safety critical.
  • The size in KSLOC (Thousand Software Lines of Code)s
  • Whether it is using the NASA IV&V facility services.
  • The current software classification.
  • Dates of major milestone reviews.
  • The percentage of new or reused code.
  • The software quality assurance effort on the project.
  • Indications of primary and secondary languages being used.
  • Contact information.
  • Other identifying data.

The instructions counsel the DPC (designated point of contact) to include facility software as part of the Center's data inputs.

One particular instruction of note states that if a project contains software of multiple classes, the data requirements are to be based on the highest class.

In addition to the OCE review of the Center's submission, the OCE may review the Center software inventory at its periodic software surveys at the Center. See the reference to the OCE survey worksheet 258 in the Resources section of this guidance for an indication of how the information from the software inventory may be reviewed.

4. Small Projects

All software developed, acquired or being maintained by NASA is included in the inventory. Size of the project is not used as a discriminator for inclusion of project data in the inventory.

5. Resources

  • (SWEREF-082) NPR 7120.5F, Office of the Chief Engineer, Effective Date: August 03, 2021, Expiration Date: August 03, 2026,
  • (SWEREF-271) NASA STD 8719.13 (Rev C ) , Document Date: 2013-05-07
  • (SWEREF-290) OCE Software Survey Instructions and Templates (on SPAN) This NASA-specific information and resource is available in Software Processes Across NASA (SPAN), accessible to NASA-users from the SPAN tab in this Handbook. 2010 Software Inventory instructions, version 7 (available from the OCE).

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

 
As part of its 2003 audit report on IV&V software, the Inspector General (IG) included this recommendation: "The NASA Chief Engineer, in coordination with the Associate Administrator for Safety and Mission Assurance, should establish a process that provides the NASA IV&V Facility, on a recurring basis, a complete and accurate list of the Agency's programs and projects governed by either NASA Procedures and Guidelines 7120.5A or NASA Technical Standard 8719.13A." 423