Team 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.
The Manager administrates the Project Plan.
Assists team members in following all software process definitions in
all project plans; documents compliance failures.
Identify and assign individual action items and track them on the
Trac system.
Writes (with assistance from Designer) product size estimates.
Write Budget and Cost Estimate Calculations.
Writes and maintain visibility indicators of project progress
(resources, schedule, and quality) via team Web page.
Create and maintain the detailed schedule of project activities on the
Web page.
Facilitates team status meetings during each laboratory period.
Coordinates recording and publishing of team meeting minutes.
Gathers individual status reports and writes weekly progress reports to
"upper management."
Coordinates creation of Team Expectations and Project Vision statements.
Schedules Acceptance Test Meeting with customer.
Facilitates Project Retrospective meeting and writes summary report.
Webmaster (in most cases the Team Manager is also
the Webmaster)
All 309 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.
Finalizes the web site at the end of the project, ensuring there are no
offsite links. E.g., Google docs must be converted to PDF on the wiki,
Javadocs must be on the wiki and not a student account, etc.
Implementation Manager
Writes and maintains the Integration and Implementation Plan.
Supervises programmers during implementation and unit testing,
allocating the workload equitably among available staff.
Cooperates with QA Mgr to ensure good detailed designs are written
before coding begins.
Writes or customizes Unit Development Procedure and Integration
Procedure and monitor developer conformance.
With assistance from CM creates developer HOWTO directions for setting
up developer environment.
Writes Daily Build Procedure.
Assist Analyst in writing the Staged Delivery Plan.
Writes the build script and performs all [daily] builds and informs
developers of check-ins that break the build.
Present daily build report during lecture.
Present weekly report on integration status ("code complete").
Cooperates with Test to produce daily smoke test report.
Assigns defect reports to appropriate programmer.
Under supervision of QA Mgr, carries out activities in Release
Checklist (Ch 16).
Writes and executes Software Deployment Plan. Writes Install program
(if needed) and procedures and documentation.
Analyst Jobs (Requirements and Prototype)
The analyst maintains the project Specification document (and/or User
Documentation) and serves as the system analyst and customer
liaison.
Responsible for ensuring consistency between specification, design, and
implementation. The SRS, design, code, and tests must
match.
This is an ongoing activity, not a once-only task.
Develop or maintain the user interface prototype. This may be
archived once GUI code is implemented. On some projects, the UI
Prototyper is a separate role.
Negotiates and writes Staged Delivery Plan (in consultation with
team). Obtains customer signoff.
Coordinates production of all end-user documentation (quick reference
guides, online help, tutorial, manuals, etc).
Negotiate with all other team members and customer on product features.
Keeps log of every customer contact.
Facilitates customer acceptance test meeting.
Training Coordinator
Responsible that all project personnel are trained to a level of
competency that enables them to perform their technical
responsibilities.
Administer Training Plan provided by instructor.
Customizes Training Plan with additional activities and assessments as
appropriate for your specific project.
Completes each training activity one class meeting day before the class
due date.
May be required to facilitate group scoring of training assessments.
Toolsmith
(Often combined with Training Coordinator)
Coordinates team selection of necessary development tools and completes
Tool List in Project Plan.
Provide training on all development tools. (May cooperate/assist with
CM group about CM tools).
Assist team members in installations on their individual machines.
Provide tech support for the target platform (hardware, o/s, and
language).
Risk Manager
Write/maintain top 10 risks list (p93-101)
Presents weekly risk status report (table 7-2).
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.
Maintains the Javadocs (including DBC or Error Checking specs as
appropriate) for one or more system components.
Write the detailed design (pseudocode) for one or more system
components.
Writes the implementation for one or more system components.
Write unit tests and performs unit testing for one or more system
components.
Writes system test case for one or more use cases (requirements)
Assists Test Manager in writing integration tests and system tests.
Tracks and reports time spent on all project activities.
Writes weekly status reports.
Reports perceived project risks via appropriate reporting channel.
Responsible for becoming competent with the development tools.
Follows all established processes and adheres to standards.
Will follow the Personal Software Process (PSP) as described in
the QA Plan.