{alias:SWE-006}
{div3:id=tabs-1}

h1. 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.

h2. {color:#003366}{*}1.1 Notes{*}{color}

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

h2. 1.2 Applicability Across Classes

{applicable:asc=1|ansc=1|bsc=1|bnsc=1|csc=1|cnsc=1|dsc=1|dnsc=1|esc=1|ensc=0|f=1|g=1|h=0}
{div3}
{div3:id=tabs-2}

h1. 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:
# 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.
# 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.
# The Software Inventory supports the OCE in helping to determine whether Centers' software engineering capabilities are commensurate with their responsibilities.
# 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.
# The Software Inventory supports Mission Directorate offices in supplementing the Master Agency Project List's Metadata Manager (MDM) system with information on critical software.
# 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. 
# The Software Inventory provides NASA personnel with current data for decision-making.
# The Software Inventory supports the OCE and Office of S&MA during the planning phase of Center surveys and {term:IPS} 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.
{div3}
{div3:id=tabs-3}

h1. 3. Guidance

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

Periodically the {term:OCE}issues a request to the Centers with instructions {sweref: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. {sweref: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 {sweref: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 {term:KSLOC}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 {term:DPC}to include facility software as part of the Center's data inputs.

{panel}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. {panel}

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|https://nen.nasa.gov/web/software/documents] {sweref:258}in the {tablink:5|Resources} section of this guidance for an indication of how the information from the software inventory may be reviewed.
{div3}
{div3:id=tabs-4}

h1. 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.
{div3}
{div3:id=tabs-5}

h1. 5. Resources


{refstable}

{toolstable}
{div3}
{div3:id=tabs-6}

h1. 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." {sweref:423}
{div3}