3. Roles

The following primary roles (see Figure 3-1) are discussed throughout the Guidebook. It should be clearly understood that an individual may perform several different roles on a project, especially small projects with limited staffing. For example, it is possible for the project software manager to be the SCM manager. Assigning roles to individuals on a project is discussed in activity 1.1.1.2.1 Identify Software Project Organization.

Figure 3-1. Example of Software Project Roles

The project manager holds total business responsibility for an entire project. This individual directs, controls, administers, and regulates a project team that is building a software or hardware/software system. The project manager is ultimately responsible to the customer [CMU/SEI-93-TR-25].

The project software manager holds total responsibility for all the software activities of a project. The project manager interacts with the project software manager on software commitments. The project software manager controls all software resources for a project [CMU/SEI-93-TR-25].

The SCM manager has total responsibility for all SCM activities on a project.

The SCM staff comprises the individuals who perform the day-to-day SCM duties (e.g., placing products under SCM).

The software engineering manager is responsible for all software development and maintenance activities except qualification testing.

The software engineering staff comprises the software technical people (e.g., developers), who perform the software design, development, and unit and integration testing on the project.

The SQA manager is assigned by the Office of Safety, Environment, and Mission Assurance (OSEMA), and is responsible for all SQA activities on a given project. The individual filling this role may not fill any other team role must also report directly to a level of management above the project manager.

The SQA staff comprises the individuals who perform the day-to-day SQA duties (e.g., performing audits and participating in reviews).

The software test manager has overall responsibility for planning and performing qualification tests on the software being developed. This role may not be filled by any member of the software engineering group.

The software test staff writes the software test cases and procedures, and performs the tests. For software qualification testing, these individuals must not be in the software engineering group.