1.1.4 Plan And Provide Software Project Training

Overview

In this activity, the software project’s training needs are identified, the training approach is determined, the training materials are selected, and the training is conducted. This training is in addition to, and in no way should substitute for, the organization’s standard training program.

Roles and Responsibilities

The project software manager is responsible for developing the Software Project’s Training Plan.

Controls

The Software Development Plan (SDP) (see Appendix E) which documents the software engineering environment, schedule, and software project personnel.

The Software Test Plan (STP) (see Appendix E) which documents the test schedule and test environment.

The Organizational Training Plan (OTP) Data Item Description (DID) (see Appendix E) which provides the format for the Software Project Training Plan.

Inputs

Software Configuration Management (SCM) Training Plan which documents the software configuration management (SCM) training needed.

Training background of software project personnel as documented in the software metrics database.

Procedures

Adequate training is essential to the success of any project and, thus, adequate funding and resources must be provided for it.

1) The project software manager first reviews the training background of the individuals assigned to the project roles identified in the SDP. This information is obtained from the organization’s software metrics database. The project software manager determines if the individuals have had adequate organizational training on topics such as formal inspections, object-oriented design, etc. If the software engineering group members lack organizational-level training, the software engineering process group (SEPG) members should be contacted to determine when the appropriate training courses can be taught.

2) The project software manager determines any project-specific training needed by the software engineering group members. The configuration management (CM) training should be documented in the SCM Training Plan. The SDP and STP must be reviewed to determine any training needed. This may include training on tools specific to the software engineering or testing environment (e.g., test data generators, compilers), mathematical methods (e.g, Markov processes, Runge-Kutta integration), or domain-specific training (e.g., wind-tunnel control systems, spacecraft attitude determination and control).

3) Once the types of training needed are identified, the project software manager determines how the training will be provided. It has been found that in comparing conventional training methods, in-house (i.e., training developed and conducted by the organization) and commercial training programs (i.e., training conducted by commercial training companies) are the most effective methods [Jones, 1995] . An alternative approach is to have a part-time consultant(s) provide training in-house and support projects over several months. Developing in-house training should not be considered for project-specific training needs when commercial training is available, unless it is likely that the training will be needed on multiple projects throughout the organization.

4) Identify the cost and time required for the training. Initial training can be somewhat lengthy. Studies [Quann, 1995, pp. 25-30] have shown approximate classroom needs as follows in Table 1.1.4 -1.

Table 1.1.4-1 Training Time Estimates

Subject Weeks
Software development tools 1 (per tool)
Basic Ada programming skills 1 - 2
Advanced Ada concepts 1 - 3

Financial support must be provided to the project. Upper management must be made aware of the cost and training needs, and be willing to invest in training their personnel. The training cost is added into the project cost estimates (1.1.1.1.4 Perform Cost Estimating) and the project schedule (1.1.1.1.5 Develop Software Schedule) is updated.

5) Once the training needs, training development efforts, and courses are identified and funding is secured, they are documented in the Software Project Training Plan using the OTP DID. The training plan is placed under SCM.

6) Training is obtained and conducted in accordance with the Software Project Training Plan.

7) For each training class, the individuals completing the training should be tracked using the Course Record Form (see Appendix C), which is entered into the metrics database.

Outputs

The Software Project Training Plan which documents the project-specific training required for the software engineering group members.

The Course Record Form entered into the metrics database.