bannera

Book A.
Introduction

Book B.
7150 Requirements Guidance

Book C.
Topics

Tools,
References, & Terms

SPAN
(NASA Only)

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

Error formatting macro: alias: java.lang.NullPointerException
SWE-101 - Center SW Training Plans
Unknown macro: {div3}

1. Requirements

4.6.2 Each Center shall maintain and implement Software Training Plan(s) to advance its in-house software engineering capability and as a reference for its contractors.

1.1 Notes">1.1 Notes

The Software Training Plan content is defined by the Software Training Plan requirement in Chapter 5.

1.2 Applicability Across Classes

Class

  A_SC 

A_NSC

  B_SC 

B_NSC

  C_SC 

C_NSC

  D_SC 

D_NSC

  E_SC 

E_NSC

     F      

     G      

     H      

Applicable?

   

   

   

   

   

   

   

   

   

   

   

   

   

Key:    A_SC = Class A Software, Safety Critical | A_NSC = Class A Software, Not Safety Critical | ... | - Applicable | - Not Applicable
X - Applicable with details, read above for more | P(C) - P(Center), follow center requirements or procedures

Unknown macro: {div3}

2. Rationale

Effective training requires a detailed, integrated, and monitored 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 reduces 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 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 which supports civil servant career development
  • Develops training needed to maintain the Center's CMMI rating and software capabilities
Unknown macro: {div3}

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 software training plan (see [SWE-107]) to assure that the necessary range of software skills are available as needed.  This in turn allows project leaders to develop specific project training plans that are focused on a needed unique skill, or an array of skills that are needed for their project.

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 both learn and enhance their knowledge in their specific disciplines throughout their career.

For software engineering, a curriculum has been developed and has been captured in the NASA Software Engineering DACUM.  The curriculum will be contained in the Software Engineering Technical Excellence Training (SWEET) program.  The program will provide courses that a software engineer can take to both learn and enhance their knowledge in software engineering throughout their career. 

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 Centerscan 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 and SWEET curricula and to maximize the benefits from both of these NASA investments.

Several of the types of software training usually included are:

  • Software Requirements Development & 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 nos.101, 201, 301: advancement between entry, mid, & 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), and thus reduces the risk, especially if the contractor personnel acquire similar training experiences.

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

[SWE-017]

Project & Software Training

[SWE-100]

Software Training Funding

[SWE-107]

SW Training Plan Content


Unknown macro: {div3}

4. Small Projects

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

Unknown macro: {div3}

5. Resources

  1. NASA Systems Engineering Processes and Requirements with Change 1, NPR 7123.1A, 2009
  2. NASA Space Flight Program and Project Management Requirements, NPR 7120.5D (NM-7120.81), 2009.
  3. "CMMI for Development, Version 1.3", CMU/SEI-2010-TR-033, Software Engineering Institute, 2010
  4. OCE Software Engineering Training   
  5. NASA APPEL Training Master Schedule and Registration
  6. System for Administration, Training, and Educational Resources for NASA (SATERN)
  7. The NASA Engineering Network website includes an abbreviated template for a Center Software Training Plan within the NASA Software Process Asset Library (PAL). The cover page asks for a signature by the Center Director.

5.1 Tools

Tools to aid in compliance with this SWE, if any, may be found in the Tools Library in the NASA Engineering Network (NEN).

NASA users find this in the Tools Library in the Software Processes Across NASA (SPAN) site of the Software Engineering Community in NEN.

The list is informational only and does not represent an “approved tool list”, nor does it represent an endorsement of any particular tool. The purpose is to provide examples of tools being used across the Agency and to help projects and centers decide what tools to consider.

Unknown macro: {div3}

6. Lessons Learned

No Lessons Learned have currently been identified for this requirement.

  • No labels