Team Project - Teams and Schedule
CS 420 - Spring 2005 - Ms. Katz

Schedule Due
9am Friday, January 21

Goals
- to get acquainted with your group and set a project schedule
- to get started on the team project

Overview
You're going to be working on a team project throughout this term. Team organization and collaboration will be a major factor in your success. Your first task as a team is to decide on a schedule.

You will use iterative enhancement to develop the project in at least three full iterations through the project life cycle. The first iteration will be somewhat informal as we will not have covered particular software development techniques. However, the later iterations will involve appropriate formalisms.

Schedule and Deliverables
We'll discuss a rough schedule in class to get started. For each iteration, you will deliver at least

Some of these items will be delivered at the end of the iteration. The specification and designs should be delivered earlier. I'll try to grade them by the next class period. You will be graded on the quality of each document you deliver. If you revise that document within an appropriate period of time after seeing my evaluation, I will adjust the grade to reflect this additional effort. This does not mean that the new grade will replace the original.

The schedule you turn in on January 21st should contain dates you plan to deliver specifications, high-level-design, low-level design, and the remainder of the deliverables for each iteration. The mid-term is March 2. Presentations are April 20. In addition to those dates, you should have four dates for each iteration.

Teams
I've divided you into teams mostly based on what I thought could be compatible schedules. There aren't huge chunks of time for either group. But I think I found some common times.

There are four people in each group. Each member is expected to contribute substantially to the team effort. See me as soon as problems arise.

Each team member should be the team leader throughout one iteration. The team leader is responsible for setting meeting times, settling disputes, asking for clarification of requirements, and enforcing deadlines agreed upon by the team. Otherwise, the team should be a democracy with each person's opinion considered. Let me know at the beginning of each iteration who will be the leader of your team. That person will be my contact for any team business. However, any of you can talk with me about your project.

You should meet frequently as a group. I will set aside some classtime for this activity, but it won't be frequently enough to complete all your discussions and collaborative work. This project will take time. I've tried to keep the problem complexity manageable, but you will need to work outside class as a whole team, in pairs, and individually.

Although this is a team project, I will consider individual efforts (including facilitating team interactions, presentations, cooperation, irresponsibility, and violation of team agreements) in assigning grades. Doing the project yourself rather than as part of the team will lower your grade. Note that each iteration has an individual contribution portion. Normally, everyone in the team will receive the same grade on a delivered portion of the project.

Remember that you are team members sharing a project. Treat it as a job. Be professional. Don't let your ego get caught up in the programming. Criticisms of your code are criticisms of the code, not you. Be open to new ways of viewing the problem. Respect other people's egos, opinions, and feelings. You have to work with each other.

Be responsible. Attend team meetings and be ready to work on the project. Pull your fair share and let others pull theirs. This project should take priority over elective activities; it is classwork. See me early if you have problems with team members not sharing the work.