Introduction to Software Engineering
CS3302 Spring Quarter 1998
Project Overview
The class will be divided up into a number of smaller project
teams. The project teams will consist of 4-5 students and will be
determined in coordination with the instructor. Each project team will responsible for the planning,
documentation and design of a product to be delivered by the end of
the quarter. Possible topics for the group project are discussed later
in this document.
Project notebook
Each project team will be responsible for assembling and maintaining a
project notebook. This project notebook will be a Web-based document
that contains all of the required documentation for the system as well
as pointers to the system prototype and source code. A suggested
format for the project notebook can be found here.
Defining project roles
There are a number of roles that individuals can fulfill as a member of
a project team. Briefly, these are:
- Manager
- Prepares and maintains project schedule; organizes and runs
project meetings; Concerned with overall direction of project
and allocation of resources.
- Architect
- Lead technical person on team; Understands and documents overall
organization of system; leads programming effort; sees the big
picture.
- Programmer
- Learns any/all programming environments; trains others in
environment; maintains control of source code; develops code
with help from architect; interested in details of getting
things working and following lead of architect.
- Technical Writer
- Maintains project notebook; oversees quality of organization and
writing for all documents; Webmaster.
- Quality Assurance
- Handles testing and configuration management issues for project.
Some advice. Define these roles early in the project, but allow the
team the flexibility to have members performed the tasks of more than
one role during the quarter. Different roles will have demands at
different times during the quarter. It is unwise to assume that all
of the work covered by one role is to be completely fulfilled by a
person assigned to that role. Assignment to a role determines
responsibility that the work gets done, not necessarily who does the
work.
Grading policies
The majority of grades given in the group project will be uniformly
distributed to all members of the project. Bottom line: your
individual grade suffers if the group does not perform well.
There
are some measures that will be taken in assessment to adjust for
imbalances in team contributions. One measure will be confidential
peer evaluations in which each team member will be given the
opportunity to assess contributions made by all team members.
Another measure that will be used is to assign personal responsibility
to individual project members for various work products of the group.
Finally, the kind and benevolent instructor will allow for certain
project deliverables to be graded twice, with the final grade assigned
being some reasonable function of the two assessments, such as the
second grade counts twice as much in a weighted average.