[NASA Logo]

NASA Procedures and Guidelines

This Document is Obsolete and Is No Longer Used.
Check the NODIS Library to access the current version:
http://nodis3.gsfc.nasa.gov


NPR 7150.2B
Eff. Date: November 19, 2014
Cancellation Date:

NASA Software Engineering Requirements

| TOC | Preface | Chapter1 | Chapter2 | Chapter3 | Chapter4 | Chapter5 | Chapter6 | AppendixA | AppendixB | AppendixC | AppendixD | AppendixE | ALL |


Chapter 1: Introduction

1.1 Overview

1.1.1 This directive imposes requirements on procedures, design considerations, activities, and tasks used to acquire, develop, assure, and maintain software created and acquired by or for NASA programs. This directive is a designed set of requirements for protecting the Agency's investment in software engineering products and to fulfill its responsibility to the citizens of the United States.

1.1.2 The requirements in this directive have been extracted from industry standards and proven NASA experience in software engineering. Centers and software developers will find that many of the requirements are satisfied through programs, procedures, and processes that are in place.

1.1.3. The Agency makes significant investments in software engineering to support the Agency's investment areas: Space Flight, Aeronautics, Research and Technology, Information Technology (IT), and Institutional Infrastructure. NASA ensures that programs, projects, systems, and subsystems that use software follow a standard set of requirements. One of the goals of this directive is to bring the Agency's engineering community together to optimize resources and talents across Center boundaries. For engineers to effectively communicate and work seamlessly among Centers, a common framework of generic requirements is needed. This directive fulfills this need for the Agency within the discipline of software engineering.

1.1.4 This directive does not require a specific software life-cycle model; but where this NPR refers to phases and milestone reviews in the software life-cycle, it uses the standard NASA life-cycle models described in NPR 7120.5, NASA Space Flight Program and Project Management Requirement; NPR 7120.7, NASA Information Technology and Institutional Infrastructure Program and Project Management Requirements; and NPR 7120.8, NASA Research and Technology Program and Project Management Requirements, as supported by milestone reviews described in NPR 7123.1, NASA Systems Engineering Processes and Requirements.

1.1.5 The NASA Chief Engineer is committed to instituting and updating these requirements to meet the Agency's current and future challenges in software engineering. Successful experiences will be codified in updated versions of this directive after experience has been gained through its use within the NASA software community, the collection of lessons learned from projects, and the implementation records of the Engineering Technical Authorities.

1.2 Hierarchy of NASA Software-Related Documents

This section helps the reader understand the flow down of requirements with respect to software created and acquired by or for NASA. Figure 1-2 shows the software engineering perspective of the relationship between relevant documents. The shaded documents in the figure show documents that primarily address software engineering policy and requirements. The text that follows the figure provides a brief description of each type of document, listed according to its position in the figure.

FIGURE 1-2: Relationships of Governing Software Documents

FIGURE 1-2 Relationships of Governing Software Documents

1.2.1 Higher Agency-Level Requirements

NPD 1000.0 is the highest ranking NASA directive. NPD 1000.0 sets forth the principles by which NASA will manage the Agency, describes the means for doing so, and identifies the specific requirements that drive NASA's strategic planning process, leading to products such as the Strategic Plan and the Annual Performance and Accountability Report. NPD 1000.3, The NASA Organization, defines the basic roles and responsibilities necessary to conduct the mission and business of NASA. It is the official repository for defining NASA's organizational architecture. NPD 1000.5 provides the overall policy framework of NASA's disciplined, comprehensive strategic acquisition process with appropriate references to other key processes and directives. This acquisition process complies with NASA obligations as a Federal agency and is tailored to each of NASA's major areas of investment to ensure the efficient, effective use of the resources entrusted to the Agency. In the event of a conflict among the top-level directives, the information provided in the highest ranking directive takes precedence. In the event of conflict among the top-level directives and one or more lower-level NPDs and/or NPRs, the information provided in the top-level directive(s) takes precedence. These policies may include very high-level requirements relevant to software and information technology that are elaborated in lower-level policies and procedural requirements.

1.2.2 Agency-Level Software Policies and Requirements

NPD 7120.4, NASA Engineering and Program/Project Management Policy, is an overarching document that establishes top-level policies for all software created, acquired, and maintained by or for NASA, including COTS, GOTS, and MOTS software and open-source, embedded, reused, legacy, and heritage software. This directive supports the implementation of NPD 7120.4. NPR 7150.2 establishes the set of software engineering requirements established by the Agency for software acquisition, development, maintenance, retirement, operations, and management. It provides a set of software engineering requirements in generic terms to be applied throughout NASA and its contractor community. Software engineering is a core capability and a key enabling technology for NASA's missions and supporting infrastructure. Additional Agency-level project management requirements (NPR 7120.5; NPD 7120.6, Knowledge Policy on Programs and Projects; NPR 7120.7, Information Technology Requirements; NPR 7120.8; NPR 7120.9, NASA Product Data and Life-Cycle Management (PDLM) for Flight Programs and Projects; and NPR 7120.10, Technical Standards for NASA Programs and Projects); and systems engineering requirements (NPR 7123.1) exist that influence and affect the software development activities on a project. In the event of a conflict between an NPD and an NPR, the information provided in the NPD takes precedence.

1.2.3 Agency-Level Multi-Center and Product Line Requirements (non-software specific)

These NPDs and NPRs elaborate, tailor, and in some cases add requirements to those above to address the needs of major multi-Center projects, specific product lines, and specific focus areas. Examples of representative NPRs in this category are NPR 8705.2, Human-Rating Requirements for Space Systems; NPR 8715.3, NASA General Safety Program Requirements; and NPR 8735.2, Management of Government Quality Assurance Functions for NASA Contracts.

1.2.4 NASA and Industry Software Standards and Guidebooks

NASA-preferred industry software standards and guidebooks and NASA software-related standards and guidebooks are required when invoked by an NPD, NPR, Center-level directive, contract clause, specification, or statement of work.

1.2.5 Center-Level Directives (related to software)

Center-level directives are developed by NASA Centers to document their local software policies, requirements, and procedures. These directives are responsive to the higher-level requirements while addressing the specific application areas and the Center's mission within the Agency. In the event of a conflict between an NPD or NPR with a Center-level directive, the information provided in the NPD or NPR takes precedence.

1.2.6 Government In-House Development

Government in-house software development policies and procedures are developed to provide quality software products that fulfill the requirements passed down by the project. Government in-house software development policies and procedures are typically designed to meet the needs of the supported projects in an effective and efficient manner.

1.2.7 Contractor and Subcontractor Development

Policies and procedures are developed by contractors and subcontractors to provide quality software products and to fulfill the requirements passed down through a contract by a customer. Contractor and subcontractor policies and procedures are typically designed to satisfy different customers in an effective, efficient manner.

1.3 Document Structure

a. Chapter 2 describes roles and responsibilities relevant to the requirements in this directive.

b. Chapter 3 establishes software management requirements.

c. Chapter 4 provides software engineering life-cycle requirements.

d. Chapter 5 provides supporting software life-cycle requirements.

e. Chapter 6 provides recommended software records content.

f. Appendix A provides definitions.

g. Appendix B provides acronyms used in this directive.

h. Appendix C contains the Requirements Mapping and Compliance Matrix.

i. Appendix D contains software classifications.

j. Appendix E contains software references for this directive.



| TOC | Preface | Chapter1 | Chapter2 | Chapter3 | Chapter4 | Chapter5 | Chapter6 | AppendixA | AppendixB | AppendixC | AppendixD | AppendixE | ALL |
 
| NODIS Library | Program Formulation(7000s) | Search |

DISTRIBUTION:
NODIS


This Document is Obsolete and Is No Longer Used.
Check the NODIS Library to access the current version:
http://nodis3.gsfc.nasa.gov