1. Requirements The NASA OCE and Center training organizations shall provide training to advance software engineering practices.  

1.1 Notes

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

1.2 History

2. Rationale

NASA software development activities in support of projects often require a balanced blend of software engineering development expertise and knowledge. If the software is contracted out, the development activities also require knowledge of NASA's acquisition practices and regulations. The Office of the Chief Engineer(OCE) and the Centers have committed to support these objectives by providing sufficient funding in support of the training.  In some instances, funding for training may be provided by multiple organizations if the training is beneficial to the communities they represent.

3. Guidance

Software engineering skills and expertise can be acquired through formal courses, on-the-job training, and specialized work assignments. While some of these skill enhancements come about while executing the project's activities, i.e., funded by the project, many need formal course work to achieve improvements in software engineering capability. 

OCE and Center funding provides an opportunity to build a foundation that supports software improvement activities, as well as core courses across a software engineer's career. 

These courses typically are formally developed and are usually found and maintained as part of the Developing a Curriculum (DACUM) set by the OCE and Center training organizations. The OCE partners in funding these courses with Centers to assure balanced offerings and availability around the Agency. The OCE funding supports training for courses associated with (1) CMMI appraisals that support the OCE Software Engineering Improvement Initiative, as well as (2) core software courses across a software engineer's career.

Software engineers use project training funds to develop specific skills and expertise in programming languages, design tools, operating systems, coding standards, etc.  Project-funded training differs from OCE- and Center-funded training in that it is generally focused on skills needed to produce software specific for its systems and subsystems.

Software Assurance training approach can be found at https://nsc.nasa.gov/step2020

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

SWE-017 - Project and Software Training
Topic 7.18 - Documentation Guidance

4. Small Projects

Primarily this requirement is an institutional requirement, training in a unique implementation approach and technologies being used by a small project is the responsibility of the small project to provide.

5. Resources

5.1 References

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

SWEREFs to be addedSWEREFS to be deleted

SWEREFs called out in the text: 289

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

5.2 Tools

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.