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.