1.2.1 The NASA Headquarters Office of the Chief Engineer shall lead, maintain, and fund a NASA Software Engineering Initiative to advance software engineering practices. NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement. 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 | ... | Software engineering is a core capability and a key enabling technology for NASA's missions and supporting infrastructure. The objective of the NASA Software Initiative is to support NASA programs and projects to accomplish their planned goals (e.g., mission success, safety, schedule, and budget) while satisfying their specified software requirements. Software engineering is defined as the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, i.e., the application of engineering to software. A key goal in the 2011 NASA Strategic Plan 117 indicates that the Agency must maintain and sustain its diverse workforce with the right balance of skills and talents. The associated objective is to establish and maintain a workforce that possesses state-of-the-art technical competencies. One of these is software engineering, which is considered to be a core competency for the Agency. The Software Engineering Initiative Plan (SEIP) 038 addresses this objective. Some of the key motivations for the NASA Software Initiative activities are to do the following: This requirement primarily applies to the NASA Headquarters Office of the Chief Engineer (OCE). The requirement states that the leadership of the NASA Software Initiative resides with the NASA OCE. The OCE has the responsibility to lead, maintain, and fund the Agency leadership and Agency-wide Software Initiative activities. Centers have the responsibilities to lead, maintain, and fund the Center software improvement activities and Center or organizational software process activities, including the flow down of Agency policies and requirements into Center or organizational processes, requirements, and policies. The final decision on the direction and selection of implementation approaches for the NASA Software Engineering Initiative is made by the NASA OCE. The NASA Software Engineering Initiative (NSEI) began in 2002. The SEIP 038 "defines a NASA-wide comprehensive approach for improving software engineering to a quantifiable maturity level commensurate with mission criticality in order to meet the software challenges of NASA." NASA's plan employs common frameworks for software process improvement, which it does through the establishment and maintenance of an engineering infrastructure. This approach includes the implementation of advanced practices, the establishment of an integrated requirements set, and integrated training in advanced software engineering. The OCE assures the achievement of these activities by providing funding and coordination. NSEI came into existence as one of three basic components of the NASA Engineering Excellence Initiative (EEI). (Systems engineering and project engineering are the other two main components.) In coordination with Center software engineering improvement activities, the Software Engineering Initiative Plan (SEIP) contains a NASA-wide comprehensive approach for improving software engineering to quantifiable maturity levels commensurate with mission criticality in order to meet the software challenges of NASA. As a part of the SEIP, the OCE (Office of the Chief Engineer) leads the Agency Software Working Group (SWG) to provide assistance and guidance to the OCE for implementing and assessing this software engineering initiative. The OCE's Program Executive for Software oversees and approves Center Software Engineering Improvement Plans (see SWE-108), Center Software Training Plans (see SWE-107), reviews benchmark results of the Center's progress (see SWE-004), and oversees updates to these plans. Because the requirements in this NPR also incorporate elements of best practices, the OCE assesses the Centers' use of these practices through the compliance review of these requirements (see SWE-129). Because all NASA projects and activities have a finite length, the Centers and their software engineering organizations are expected to capture, maintain and support the software engineering improvement activities within their Center activities once the OCE Software Engineering Initiative concludes. This requirement primarily applies to the OCE at headquarters and to the performing Centers executing projects. The size of the project is not relevant to this requirement. 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. NASA based the need for software engineering improvement on a general recognition of the mixed state of its software development procedures and a string of visible failures in the space exploration program that were traced back to software errors. The NASA Lessons Learned database contains the following lessons learned related to the Mars exploration activities that illustrate the need for the NSEI:
View this section on the website
See edit history of this section
Post feedback on this section
1. Requirements
1.1 Notes
1.2 Applicability Across Classes
- Applicable |
- Not Applicable
X - Applicable with details, read above for more | P(C) - P(Center), follow center requirements or procedures
2. Rationale
3. Guidance
4. Small Projects
5. Resources
5.1 Tools
6. Lessons Learned
SWE-002 - Software Engineering Initiative
Web Resources
Unknown macro: {page-info}