CSE/ISE 308
Fall 2004
Stony Brook
Software Engineering
Annie Liu
Assignment 3
Handout A3
Sept. 14, 2004
Due Sept. 21

Group Project Plan; What I Did

This assignment has two parts.

Part 1. 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 functionalities relate to each other. Include all the dependencies. This will allow you to easily see what the next possible functionality / feature / increment is at any point, 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 time 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 the last class of the semester. 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 basic requirements that emphasize incremental and iterative development. Your plan should be as complete as it can reasonably be at this point. 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 Chapters 3 and 14 of the textbook to help understand some of the issues relevant to project planning and management.

Part 2. What I did

Describe what you did for the course this week, as in Part 3 of Assignment 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 improve your project description, then state your problem from before and your fix now, and add them (together with the date of the addition) explicitly at the end of your project description page. Include the addition also in your handin, and you will get extra credit for the improvement.

2. As in the Bonus part of Assignment 1.

Handins

For Part 1, each group is asked to hand in a printout in class. For Part 2, each person is asked to hand in a separate printout in class.

Grading

This assignment is worth about 4% of the course grade. Each of the two parts is worth 90 and 10% of the grade, respectively.