Software Development Roles & Responsibilities

Back to Software Development Roles Intro

Project Manager

The person or group responsible for management of cost, schedule and resources for the software project.

Software Engineering

The person or group responsible for the design, implementation, and integration of the software product.

Software Process Engineering

The person or group responsible for defining, tailoring, and maintaining the software development process. This responsibility includes the adaptation of new life-cycle models and the adaptation of project-specific development requirements within the bounds of the process improvement task.

Systems Engineering

The person or group responsible for specifying the system requirements; allocating these requirements to software; identifying the external interfaces to the software; and monitoring the design, development and conformance of the software components as they are integrated into the system.

Test Engineering

The person or group responsible for performing the independent system testing of the software product to determine whether all the allocated requirements have been met.

Software Quality Assurance

The person or group responsible for ensuring that the development process has been followed and that the products meet the established standards. The software quality assurance role cannot be combined with others and must be kept independent at the project management level and below.

Software Configuration Management

The person or group responsible for identification and control of the software product baseline. Responsible for keeping track of the differences between software versions and for ensuring that new versions are derived in a controlled manner.

Training Group

The person or group responsible for the technical training of the software development organization.

Sample Reporting Chain

Sample Reporting Chain