A job is a continuous work assignment that has no particular
start/end date and may not create milestones or deliverables.
Project Manager
Work Product: Project Plan
The Project Manager is the administrative coordinator for all
project activities. This job is critical to completing the final
deliverable on time.
Creates cost and schedule estimates.
Coordinates creation of Team Expectations and Project Vision
statements.
The Manager writes, maintains, and administers the Project Plan
(SPMP).
Maintain the project detailed schedule and provides visibility to
project status via Trac.
Identify, allocate, and track individual task assignments (action
items) via Trac.
Present project schedule and status to team each week during
class.
Identify, gather, and allocate needed resources.
Ensures all staff receive appropriate training in their required
skills.
Collect weekly individual status reports.
Set the agenda and schedule for lab time.
Create or select Time Accounting procedures.
Write weekly progress report (or attend weekly manager meeting, as
determined by instructor).
Write performance appraisals of team members.
Risk Manager.
Quality Assurance (QA)
Work Product: QA Plan, System Test Cases, FTR Summary Report
Assures deliverables conform to project standards and meet QA
criteria.
Writes and maintains QA 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.
Establishes and monitors appropriate Defect Reporting and Tracking
Procedures via Trac.
Change Manager / Toolsmith
Work Product: CM Plan, Deployment Plan
Maintains all project documentation in the team's Trac wiki.
Ensure that all relevant team material (deliverables, work
products, processes, rationale, ...) are on the wiki and are kept
current.
Manages changes to all documents and to the product under
development.
Manages the team's source code repository on Trac.
Specifies and administers all change control procedures.
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).
Analyst / customer liaison
Deliverable: System Requirements Specification (SRS)
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
(SRS), though he/she may delegate people to work on specific
sections.
Prioritize requirements and negotiate with all other team members
and customer on product features.
Maintain consistency between all work products to ensure product
validity.
User Interface Designer
Work Product: UI Prototype, Usability Evaluation, and Swing GUIDesigner/Architect
Work Product: Feasibility Prototype, High Level Design
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.
Creates the feasibility
prototype.
If required, coordinates development of the functional prototype,
(aka "extended prototype"): a working application that
demonstrates all the functional requirements but not the
non-functional ones.
Programmer - All
Everyone on the team will serve as a developer / programmer.
Creates a detailed design for certain modules assigned by the
Designer.
Implements (write Java source code) for assigned modules.
Performs unit testing on assigned modules.
Responsible for becoming competent with the development tools.
Follows all established processes and adheres to standards.