NPR 7150.2A, NASA PROCEDURAL REQUIREMENTS: SOFTWARE ENGINEERING REQUIREMENTS (19 NOV 2009)
NPR 7150.2A, NASA PROCEDURAL REQUIREMENTS: SOFTWARE ENGINEERING REQUIREMENTS (19 NOV 2009)., Software engineering is a core capability and a key enabling technology for NASA's missions and
supporting infrastructure. This NASA Procedural Requirements (NPR) supports the implementation
of the NASA Policy Directive (NPD) 7120.4, NASA Engineering and Program/Project Management
Policy. This NPR provides the minimal set of requirements established by the Agency for software
acquisition, development, maintenance, retirement, operations, and management. This NPR is
intended to support NASA programs and projects to accomplish their planned goals (e.g., mission
success, safety, schedule, and budget) while satisfying their specified requirements. This NPR
provides a set of software engineering requirements in generic terms to be applied throughout
NASA and its contractor community. For this NPR, Software Engineering is defined as the
application of a systematic, disciplined, quantifiable approach to the development, operation, and
maintenance of software: that is, the application of engineering to software. For this NPR, Software
is defined as the computer programs, procedures, scripts, rules, and associated documentation and
data pertaining to the development and operation of a computer system. Software includes programs
and data. This definition includes commercial-off-the-shelf (COTS) software,
government-off-the-shelf (GOTS) software, modified-off-the-shelf (MOTS) software, reused
software, auto generated code, embedded software, firmware, and open source software
components.