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:
CMMI Levels for class A, B, and C Software
Software Process Determination
Agency Process Asset Library
Identity Applicable practices
Center SW Improvement Plan