1. Requirements

2.1.1.5 The NASA OCE and Center training organizations shall provide and fund training to advance software engineering practices and software acquisition.

1.1 Notes

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

2. Rationale

NASA software development activities in support of projects often require a balanced blend of software engineering development expertise and knowledge. If 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.

OCE conducts an annual call with Software Working Group (SWG) representatives to plan the following year's needs and course offerings.

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

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

4. Small Projects

Projects are not responsible for this requirement.

5. Resources

6. Lessons Learned

No Lessons Learned have currently been identified for this requirement.