1.1.1.2.1 Identify Software Project Organization

Overview

In this activity, the project software manager determines the software project organizational structure for the software project, including the organizations involved, their relationships to one another, and the authority and responsibility of each organization for carrying out required activities based on the selected software development process. Personnel then are assigned based on their availability and the software project schedule. The software project organization is a substructure of the higher-level project organization shown in the Project Plan. The software project organization is documented in the Project Organization and Resources section of the Software Development Plan (SDP) (see Appendix E).

Roles and Responsibilities

The project software manager determines the organizational structure and assigns personnel to the project.

Office of Safety, Environment and Mission Assurance (OSEMA) representatives who work with the project software manager to determine OSEMA’s role.

Controls

The availability of personnel in the organization.

The Project Plan showing the project’s higher-level organizational structure.

The software project schedule (see activity 1.1.1.1.5 Develop Software Schedule) and the work breakdown structure (WBS) (see activity 1.1.1.1.2 Develop Work Breakdown Structure).

Inputs

The software development process.

Procedures

1) The project software manager selects a software configuration management (SCM) manager, software engineering manager, and software test manager based on the available personnel, and the selected software development process and software project schedule. For projects with multiple computer software configuration items (CSCI), multiple software engineering managers may be chosen and assigned one or more CSCIs. The software quality assurance (SQA) personnel are provided by the OSEMA. The project software manager should meet with OSEMA representatives to review the project’s SQA needs and level of OSEMA support. For small projects, a software developer or the project software manager may assume the SCM manager’s role. The software test manager and software testers must be individuals other than the software engineering manager and software developers [SEI, 1993, pp. L3-92].

When selecting personnel, the project software manager must verify that the individuals have the proper background for their roles (as defined in the Organizational Training Plan (OTP) (see Appendix E) (see activity 4.3 Develop And Provide Organizational Training)) or that the proper training can be rapidly acquired (see activity 1.1.4 Plan And Provide Software Project Training). Additionally, personality traits should be considered when selecting individual personnel. [Sommerville, 1992, pp. 31-38] provides an overview of group dynamics issues among software development personnel. For small projects, the project software manager may select the individual software developers and testers. For larger projects, selection of lower-level personnel is left up to the software engineering manager and the software test manager.Figure 1.1.1.2.1-1shows a typical NASA Langley Research Center (LaRC) project organization.

Figure 1.1.1.2.1-1 Software Project Organization

2) The responsibility of each role and group (e.g., the software engineering test manager and staff) should be clearly defined in terms of products from the WBS (e.g., Software Configuration Management Plan ( SCMP), Flight CSCI) and milestones associated with each product (e.g. draft and final deliveries) from the software project schedule.

3) The software project organization and assigned personnel and their responsibilities are documented in the Project Organization and Resources section of the SDP.

Outputs

The software project organization, assigned personnel, and their responsibilities documented in the Project Organization and Resources section of the SDP.