Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin
1. The Requirement
1. The Requirement
12. Rationale
23. Guidance
34. Small Projects
45. Resources
56. Lessons Learned

1. Requirements

Excerpt Center Director, or designee, will maintain and implement software training to advance its in-house software engineering capabilities.  

1.1 Notes

NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement.

1.2 History

titleClick here to view the history of this requirement: SWE-101 History

Include Page
SITE:SWE-101 History
SITE:SWE-101 History


2. Rationale

Effective training requires a detailed, integrated, and monitored and controlled training plan. NASA's programs and projects call for a plan that is dynamic, changeable, and able to be maintained. The development and existence of a Center Software Training Plan reduce the risk to projects and software development activities. The plan:

  • Develops required state of the practice software skills or expertise.
  • Takes a consistent Center approach to software engineering that supports the reliable execution of core software processes across projects.
  • Minimizes project-specific software training that needs to be provided out of project funds.
  • Provides an appropriate training schedule that supports civil servant career development.
  • Develops training needed to maintain the Center's Capability Maturity Model Integration (CMMI) rating and software capabilities.

3. Guidance

The nature of NASA projects varies considerably across Centers and over the years. Planning for individual projects will not always identify, schedule, and maintain particular software skills and expertise that may be needed for a later time, career development, or specific project needs. To mitigate this risk, Centers are required to develop a general 5.15 - Train - Software Training Plan to assure that the necessary range of software skills is available as needed. This, in turn, allows project leaders to develop specific project training plans that are focused on a needed unique skill or on an array of skills that are needed for their projects.

Centers typically perform their training planning on an annual cycle. Training plan input requests often occur during the annual budget cycle. Centers produce a plan that integrates all training needs for Center organizations, career development, and CMMI ratings. Software training requirements, while generated from a software perspective, are often integrated into the overall Center Training Plan. On rare occasions, additional plans or plan supplements may be developed to address unique or new needs. This requirement specifies that training plans for software engineering capability enhancements be maintained and implemented.

NASA has undertaken the development of curricula for various software engineering disciplines. For software safety and assurance, the curriculum is contained in the NASA's Safety and Mission Assurance (SMA) Technical Excellence Program (STEP)

This program provides courses that software safety and assurance engineers can take to learn and enhance their knowledge in their specific disciplines throughout their careers.

Software Assurance (SA) Competencies

For software engineering, a curriculum has been developed and has been captured in the NASA Software Engineering DACUM accessible to NASA personnel on the NASA Engineering Network (NEN). The program will provide courses that software engineers can take to learn and enhance their knowledge in software engineering throughout their careers. 

In both cases, the curricula provide courses that incorporate both NASA knowledge and the way that NASA does business.

The software training plans developed by the Centers can be augmented by making use of the courses provided by both STEP and SWEET, as much as possible, to make sure that the Centers utilize the information in the STEP curricula and to maximize the benefits from both of these NASA investments.

Several types of software training usually included are:

  • Software Requirements Development and Management.
  • Software Configuration Management.
  • Software Design.
  • Software Implementation.
  • Software Assurance and Safety.
  • Software Testing.
  • Software Estimation.
  • Software Process and Product Metrics.
  • Software Process Improvement (including CMMI-related courses).
  • Software Acquisition.
  • Software Formal Methods.
  • Software Formal Inspections.
  • Software for Embedded Systems.
  • Software Engineering (course numbers 101, 201, 301: advancement between entry, mid, and senior career levels).
  • Software Management.

These Center training classes are provided by a mix of NASA (internal, computer-based) and contractor-taught courses.  

Since the objective of a contracted software development effort is to produce and deliver to NASA a software work product or software system that is important to its research and development mission, it makes sense to take steps to reduce the risk in doing this by promoting uniformity in approach, practice, and methodologies between NASA and its contractor(s). In addition to educating its employees, NASA also wants to improve the quality of the software processes and expertise that are applied to its contracts. Allowing contractors to leverage Center training plans for their own benefit assists in promoting alignment and communications between NASA and its contractor(s) thus reducing risk, especially if the contractor personnel acquire similar training experiences.

NASA-specific training documentation information and resources are available in Software Processes Across NASA (SPAN), accessible to NASA users from the SPAN tab in this Handbook. 

Additional guidance related to software training may be found in the following related requirements in this Handbook:


4. Small Projects

The Center Software Training Plan covers the knowledge and skills required for small projects.


5. Resources

5.1 References

Show If
titleVisible to editors only

Enter the necessary modifications to be made in the table below:

SWEREFs to be addedSWEREFS to be deleted

SWEREFs called out in the text: 294

SWEREFs NOT called out in text but listed as germane: 041, 082, 157, 289

5.2 Tools

Include Page
Tools Table Statement
Tools Table Statement


6. Lessons Learned

6.1 NASA Lessons Learned

No Lessons Learned have currently been identified for this requirement.

6.2 Other Lessons Learned

No other Lessons Learned have currently been identified for this requirement.