


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">1.1 Notes
NPR 7150.2 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 (in coordination with the Chief of the Safety and Mission Assurance 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 Safety and Mission Assurance Officer and the IV&V Board of Directors (IBD) in the selection of projects to receive Agency funded Independent Verification and Validation services each year.
- The Software Inventory supports Engineering and Safety & Mission Assurance Technical Authorities' duties by cataloging the classification of software on projects and whether it is safety critical.
- The Software Inventory supports the Office of the Chief Engineer (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 & 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 Mission Assurance 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 Office of the Chief Engineer and Office of Safety and Mission Assurance during the planning phase of Center Surveys & 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 Office of the Chief Engineer 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
<ac:macro ac:name="unmigrated-wiki-markup">
<ac:plain-text-body><![CDATA[
]]></ac:plain-text-body>
</ac:macro>

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 the Software Inventory Management System (SIMS)2. 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 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 safety and mission assurance personnel will also have access to SIMS to enable the updating of the safety and mission assurance 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 safety and mission assurance office.
Detailed instructions1 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
<ac:macro ac:name="unmigrated-wiki-markup">
KSLOC
<ac:plain-text-body><![CDATA[]]></ac:plain-text-body>
s
</ac:macro> - 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
<ac:macro ac:name="unmigrated-wiki-markup">
<ac:plain-text-body><![CDATA[
]]></ac:plain-text-body>
</ac:macro>
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 3 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
- 2010 Software Inventory Instructions
, version 7 (available from the OCE)
- Software Inventory Management System (SIMS).
, maintained at the NASA-JPL
- OCE Software Survey Instructions and Templates
are in the document library for software engineering at the NASA Engineering Network (NEN) website.
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.