This version of SWEHB is associated with NPR 7150.2B. Click for the latest version of the SWEHB based on NPR7150.2C
1. Requirements220.127.116.11 Center Directors, or designees, shall maintain, staff, and implement a plan to continually advance the Center’s in-house software engineering capability and monitor the software engineering capability of NASA's contractors.
The recommended practices and guidelines for the content of a Center Software Engineering Improvement Plan are defined in the NASA-HDBK-2203, NASA Software Engineering Handbook. Each Center has a current Center Software Engineering Improvement Plan on file in the NASA Chief Engineer’s office.
This requirement allows the Agency to have insight into each Center's plans for maintaining in-house software engineering capabilities and Center processes used to monitor the software engineering capability of the contractors supporting the Center's projects. 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. In order for the Agency to succeed, each Center is required to develop, maintain and follow Center plan(s).
The Center plan(s) addresses how that Center will continually advance the Center's in-house software engineering capabilities and define how the Center will monitor the software engineering capability of the Center's software contractors. The Center plans are to be maintained and updated as needed to reflect the Center software engineering activities. Centers are responsible for maintaining and implementing the Agency's software engineering capabilities. The plan is required to ensure that a documented approach is defined and that the Center stakeholders are in agreement with the plan, and that the plan is being monitored and controlled.
The purpose of this requirement is to ensure that each Center Director (or designee):
- Defines and documents a plan or approach for maintaining in-house software engineering capabilities and how the Center monitors the software engineering capability of the contractors supporting the Center’s projects.
- Defines and documents the processes to be used by that Center’s software development organizations, including standards, procedures, templates, requirements and policies that need to be performed.
- Reviews (by the relevant stakeholders) and ensures agreement, acceptance, and willingness to support the plan within a Center and with NASA Headquarters.
- Enables revision and maintenance of the plan as necessary.
The approval of Center Plans commits the Engineering management and staff to the development of its software engineering capabilities and related software process improvements. The collection of approved plans serves as a basis for the NASA OCE to assess the progress being made at each Center and in aggregate across the Agency. The plans should address how an Engineering organization evaluates contractor and supplier software engineering capabilities against the requirements of NPR 7150.2, NASA Software Engineering Requirements
Examples of Center plans are available in Software Processes Across NASA (SPAN), accessible to NASA users from the SPAN tab in this Handbook. The updates can capture major changes to the plans for improving software engineering capabilities that are necessary to accommodate the needs and variations in the NASA mission. These updates also allow for the consideration and adoption of newly identified best practices, the knowledge gleaned from new lessons learned, the results of regular evaluations of the contents of the various process asset libraries, and general industry advances in applicable practices (see SWE-098). The OCE analyzes the Center plans and uses their updated content when developing working plans for tactical implementation strategies (like this Handbook) that are funded under annual task agreements with each Center.
A common approach used by Centers is the setup and utilization of one or more Software Engineering Process Group(s) (SEPG), staffed by members and stakeholders in the community, whose main charter is to plan, assist, and assure the day-to-day implementation of the planned activities for process and discipline improvements. The SEPG also reviews these activities on a regular basis to assure that the improvements are maintained. In addition to staffing the SEPG, the Center provides appropriate staffing to train and implement the process improvements within its software engineering community. A Center Management Steering Group (MSG) can be established to focus and guide the implementation activities at the Center. The number and organizational representation on the SEPG(s) and the MSG are determined by the individual Centers. However, the Center's Software Quality Assurance organization is called to be represented on the SEPG.Additional guidance related to Center Plan development may be found in Topic 7.18 - Documentation Guidance and the following related requirements in this Handbook:
4. Small Projects
Small Projects are not responsible for this requirement but do have to meet the Center requirements. Center requirements and policies apply to small projects as defined in the Center documentation.
Tools relative to this SWE may be found in the table below. You may wish to reference the Tools Table in this handbook for an evolving list of these and other tools in use at NASA. Note that this table should not be considered all-inclusive, nor is it an endorsement of any particular tool. Check with your Center to see what tools are available to facilitate compliance with this requirement.
No tools have been currently identified for this SWE. If you wish to suggest a tool, please leave a comment below.
6. Lessons Learned
No lessons learned have currently been identified for this requirement.