3. GuidancePreparation for the development of software training plans begins in the Formulation phase of a project. As the initial efforts occur to define the requirements and performance characteristics for the software work products, the Project Team makes an analysis of the software-specific skills and expertise needed to develop these work products and to support the software activities on a project. Not all skills required to accomplish a software project are "software" skills. The software engineering staff may require training in other domains to facilitate support of a project. The Project Team uses surveys and interviews with task managers and team leaders to identify existing capabilities and shortfalls in expertise. The analysis also includes reviews of histories and lessons learned on past projects and software activities. Information developed from the analysis is documented in the Software Development or Management Plan (see SDP-SMP). The training information is also included in a Center training plan (see SWE-101 and STP - Software Test Plan) to avoid duplicate requests for training among the Center's projects. Key software-specific training areas to consider during the analysis include: - Architecture and design development and assessment.
- Process methods.
- Requirements development.
- Configuration management.
- Development languages and environments.
- Target processing systems.
- Verification and validation skills.
- Software assurance skills.
Once the analysis of the needed skills and expertise is completed, the project reviews the integrated set of training needs with training organizations and their course providers to identify the available training opportunities. These may include formal course work, self-study events, or on-the-job development opportunities. Specific organizations within NASA to contact about the needed training include the Office of the Chief Engineer (OCE) , the Academy of Program/Project and Engineering Leadership (APPEL) , a Center's Software Engineering Process Group (SEPG), STEP- NASA’s university for safety and mission assurance, the team member's own engineering organization, and the Center's Training Office. These organizations often maintain web-based curricula and schedules of training classes. The System for Administration, Training and Educational Resources for NASA (SATERN) website provides a convenient and controlled tool for scheduling, registering, and monitoring training. See the tools table resource for the website. This review will also identify any issues with the availability of specific types of training. When deficiencies are identified, they are presented to the organizations providing the training. If training deficiencies persist, the project will need to develop work-around plans, which may include procuring or developing training that is focused on the shortfalls in specific knowledge or skills. Once training plans have been developed for individuals and teams, the scheduling, attendance, and completion of these activities is monitored and recorded. Just as the type and nature of training opportunities varies among Centers and projects, so to the methods for tracking and recording training vary. These usually align with Center training and records retention processes that are currently in effect at each Center. If no training is needed to execute the software development activity then the requirement is satisfied by stating this fact in the Software Development Plan training section (see SDP-SMP). Good practice suggests that these scheduled training activities, their completion, and the impacts to the project and software activities be evaluated. Surveys, collections of lessons learned, solicitations for best practices, and evaluations of improvements in project performance are all sources of inputs for judging the effectiveness of the training. Remedial training or additional training can be scheduled, as needed, based on a review of the results. The software team members often need supporting discipline capabilities beyond software engineering expertise (e.g., project management, scheduling). The Center training departments plan, schedule and provide all appropriate training in these supporting disciplines to the people who need it. Additional guidance related to software training may be found in the following related requirements in this Handbook: |