CPE 307 Jobs Spring 2015

Project Manager

The Manager is the administrative coordinator for all project activities. The manager is responsible for ensuring that the product is delivered on time, within budget, with the desired features, and with an agreed upon level of quality.  Identifies threats to project success and creates plans to mitigate risks. Read Ch 11 and Software Project Survival Guide.
Responsible for:  Project Plan and Schedule

Quality Assurance (QA)

Assures deliverables conform to project standards and meet QA criteria. The QA manager is the person ultimately responsible for ensuring that the product meets the specifications and satisfies the product's release criteria. Writes the product's Test Plan and supervises all aspects of software testing. Read Ch 10 and Test Coverage and Software Release(pdf)
Responsible for:  Source code, Inspections, Unit and System Tests

Configuration Manager /  Toolsmith

Configuration management takes administrative responsibility for the project's source code and documentation. Manages the build process for creating the deployable product.  Manages changes to all project artifacts. 
Provides technical support on team tools.  Read Intro to SCM (slideshow).  Read Subversion references.
Responsible for:  Build and Deployment of deliverable product

Analyst / customer liaison

The analyst maintains the Software Requirements Specification (SRS) document and serves as the system analyst and is responsible for ensuring the product meets the customer's needs.   Writes the end-user documentation. Read Ch 4.
Responsible for: SRS, User Documentation.

User Interface Designer

Responsible for the behavioral requirements section of the SRS: screen layouts, storyboards, prototypes, etc that specify the external behavior of the system.  Create the production code for the graphical user interface. Read Ch 7.
Responsible for:  UI Prototype, UI Design and implementation.

Designer/Architect

The designer creates and maintains the high-level software design. This job may be decomposed in some situations where the design can be clearly decomposed (e.g., database, User Interface, Networking, AI).
Writes and administers a detailed schedule for the order in which source modules will be implemented and assembled into a completed product ("Integration Plan"). Supervises programmers during implementation and unit testing, allocating the workload equitably among available staff.  Read Ch 3.1-3.2, Ch 5, Ch 8, Ch 9.
Responsible for: Feasibility Prototype, High Level and Detailed Design

Programmer - ALL

Everyone on the team will serve as a developer / programmer. A programmer does the implementation and unit testing for certain modules assigned by the Designer.