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: