1. Requirements

1.2.2 Each Center shall maintain, staff, and implement a plan to continually advance its in-house software engineering capability and monitor the software engineering capability of NASA's contractors, as per NASA's Software Engineering Initiative Improvement Plan.

1.1 Notes

The requirement for the content of each Center Software Engineering Improvement Plan is defined in Chapter 5 [section 5.1.7 of NPR 7150.2, NASA Software Engineering Requirements].

Each Center has a current Center Software Engineering Improvement Plan on file in the NASA Headquarters' Office of the Chief Engineer (OCE).

1.2 Applicability Across Classes

Class E and Not Safety Critical and Class H are labeled with "P (Center)." P (Center) means that an approved Center-defined process which meets a non-empty subset of the full requirement can be used to achieve this requirement. 




2. Rationale

This requirement allows the Agency to have insight into each Center's plans for maintaining in-house software engineering capabilities and how the Center monitors the software engineering capability of the contractors supporting the Center's projects. A key goal in the 2011 NASA Strategic Plan  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 a Center plan. The Center plan 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.


3. Guidance

The purpose of this requirement is to ensure that each Center:

  • 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 process to be used by that Center, including standards, procedures, templates, requirements, and policies that need to be performed.
  • Reviews (by the relevant stakeholders) and gets buyin and agreement within a Center and with NASA Headquarters.
  • Enables revision and maintenance of the plan as necessary.
  • Ensures that the plan addresses all relevant organizations in a Center that develop or procure software components.

NASA designed its Software Engineering Initiative Implementation Plan (NSEIIP)  to be a common approach for improving software engineering practices across the Agency. The use of a common approach reduces the risk to projects when porting software development practices and processes between Centers. Common training in processes and tools allows the assignment of software personnel from across the Agency to multi-Center projects with an assurance that quality will be maintained. The commonality of processes, training, tools, and best practices will produce efficiencies in the use of resources across NASA's multi-Center, systems of systems projects.

The NSEIIP called upon each Center to develop an approved Center Software Engineering Improvement Plan (hereafter referred to as Center Plan) by September 2001. The approval of Center Plans commits the Center management and staff to the development of its software engineering capabilities and related software process improvements.  The collection of approved Center 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 comparison of the approved Center Plans to contracted statements of work provisions enables the software development team to evaluate contractor and supplier software engineering capabilities and plans against the requirements of NPR 7150.2, NASA Software Engineering Requirements, and the NASA software development team's own capabilities.

Section 5, Resources, provides examples of several Center Plans. ,,Updates to the approved plans are expected in August of each year. 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 annual 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 and SWE-099). 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.

The Center Plan defines how the Center will ensure that the Agency requirements are being met by the Center's contractors developing or procuring software components.  The purpose of this comparison activity is to evaluate contractor and supplier software engineering capabilities and plans against the NPR requirements and both the Capability Maturity Model Integration (CMMI) and the software development team's own capabilities. A Center Plan includes appropriate risk management strategies and tactics when executing in-house or contracted software acquisition activities, including those that relate to the contractor evaluation findings.


NASA organizations might develop their Center Plans to provide a basic inventory of their Class E (Not Safety Critical) software and to include a plan to regularly update their Class H desktop software. This would be sufficient for satisfying the P (Center) aspect of this requirement.


Additional guidance related to Center Plan development may be found in the following related requirements in this Handbook:


SWE-032

CMMI Levels for class A, B, and C Software

SWE-036

Software Process Determination

SWE-098

Agency Process Asset Library

SWE-099

Identity Applicable practices

SWE-108

Center SW Improvement Plan




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.


5. Resources



6. Lessons Learned

No lessons learned have currently been identified for this requirement.