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
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.