CPE 308 Job Descriptions


A job is a continuous work assignment that has no particular start/end date and may not create milestones or deliverables.

Project Manager

The Project Manager is the administrative coordinator for all project activities. This job is critical to completing the final deliverable on time.
Coordinates creation of Team Expectations and Project Vision statements.
The Manager writes, maintains, and administers the Project Plan (SPMP).
Set the agenda and schedule for lab time.
Create or select Time Accounting procedures.
Identify, allocate, and track individual job assignments (action items).
Identify, gather, and allocate needed resources.
Collect weekly individual status reports.
Write weekly progress report (or attend weekly manager meeting, as determined by instructor).
Maintain the project detailed schedule and provided visibility to project status via team Web page.
Present project schedule and status to team each week during class.
Risk Manager.
 

Quality Assurance (QA)

The QA person ensures that the product meets the specifications and satisfies the product's release criteria. The QA person is ultimately responsible for the quality of the deliverables.
Writes QA plan. 
Writes Test Plan.
Coordinates all metrics collection and reporting.
Plans, coordinates and monitors all formal reviews and inspections.  (At least one Formal Technical Review is required).
Writes Review Summary reports.
Assures deliverables conform to project standards and meet QA criteria.
Setup appropriate Defect Reporting and Tracking Procedures (309).
 

Analyst / customer liaison

The analyst's job is to understand all of the problem requirements.  The analyst is the "point person" for all customer contact and is responsible for ensuring the product meets the customer's needs.  It is the analysts responsibility to communicate the customer needs to the other group members.
The analyst coordinates production of the specification document (including UI prototype and User Manual), though he/she may delegate people to work on specific sections.
Negotiate with all other team members and customer on product features.

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, Concurrency).
Maintains and defends the Design Issues and Rationale.
Distributes design tasks and integrates work into the complete deliverable.
Writes and maintains the Requirements Traceability matrix.

Implementation Manager

Coordinates development of the feasibility prototype.
Coordinates development of the detailed design (a.k.a. "method designs").
Develops Implementation and Integration Plan.
Supervises programmers during implementation.

Change Manager / Web Master / Toolsmith

All 308 team project documentation is maintained on the Web. This person designs and administers the project web page.
Ensure that all relevant team material (deliverables, processess, decisions, ...) are on the web page and are kept current.
Manages changes to all documents and to the product under development.
Obtains and installs necessary software development tools (See Project Plan), guides team in their installation and use.  Troubleshoots problems with tools.
Coordinates any required training on all development tools.
Assist team members in installations on their individual machines.
Provide tech support for the target platform (hardware, o/s, and language).

Programmer - All

Everyone on the team will serve as a developer / programmer. A programmer does the detailed design for certain modules assigned by the Designer.
Responsible for becoming competent with the development tools.
Follows all established processes and adheres to standards.