CSE/ISE 308
Fall 2001
Stony Brook
Software Engineering
Annie Liu
Homework 3
Handout H3
Sept. 11, 2001
Due Sept. 20

Group Project Plan; What I Did

This assignment has two parts, worth 90% and 10% of the grade, respectively. Printed/written copies of both parts are due on Thursday Sept. 20.

Part I. Group Project Plan.

Each group is asked to write a plan for the group project. Here are a number of items that should be included in the plan.

1. What are all the tasks that need to be performed?

Certainly this should contain all the phases from requirement analysis to system delivery.

Orthogonally, each group is asked to divide its project into a set of minimum functionalities / features, each as small as possible. The goal is to enable them to be added incrementally, so you could always have a deliverable in the shortest time possible.

2. How are all the tasks related?

This should include in particular how all the functionalites relate to each other. Include all the dependencies. This will allow you to schedule tasks following the dependencies, and to schedule independent tasks to be done in parallel.

3. What all the roles of each person in the group?

Each person can take multiple roles. For learning purposes, each person should take as many roles as possible; these can be various different roles for producing various different features. The overall tasks of all the members should be as balanced as possible, since group members will get the same points for work on the group project (except in special rare circumstances).

You could indeed take into account personal constraints. For example, a member could do relatively less work on the week of his/her other midterms.

4. Make a complete schedule of all the tasks.

You could have different member take care of different features (so tasks can be carried out in parallel for independent features) or have difference members take care the same phase of all features (so tasks can be carried out in pipelined fashion by multiple members), or more likely, use some combination in between these two extremes. In all cases, make sure you give enough for putting features together and for transition between the phases.

Make sure your plan include the activities of evaluating progress and revising the plan itself.

The project deadline is one week before the end of classes. Plan enough time for testing, documentation, delivery (posting on web), and other related activities (preparing demo, preparing presentation, etc.). You may also consult the course outline for related schedules.

The above is a set of most basic requirements that emphasize incremental and iterative development. Your plan should be as complete as it can reasonably be. It should include items like what language to use for implementation, what database to use if one is needed, whether to prototype certain features first, when to make necessary decisions if not made yet, etc. Reference Chapter 3 of the SE textbook for other items to be planed.

Part II. What I did.

Describe what you did for the course this week, as in Part III of Homework 1.

Bonus.

1. Of course, your project plan needs to be based on the project description you wrote last week. You can see now that if you have a more precise project description, well thought out last week, then planning is easier. If you do want to revise your project description, then state the problem and the fix, and add them (together with date of the addition) at the end of your project description page. Mention this in your handin, and you will get extra credit for improvments.

2. As in the Bonus part of Homework 1.