Planning Proposal

From DaVinci

Contents


Purpose

This proposal describes how team DaVinci will approach project planning. We will use it as a guideline when planning, scheduling, estimating effort and tracking progress in our project. We will modify these guidelines as our understanding of the project evolves.

Planning

The planning stage of the studio project is divided into:

  • Scope
  • Schedule
  • Tasks Estimation
  • Tasks Tracking
  • Resource Allocation

Scope

The project scope will be agreed upon with the client, as stated in the SOW and its addendums. The scope for each sprint will be defined by the priority of the requirements given by the client. Also, the scope and the deliverables for the particular sprint will be specified as an addendum within the SOW containing a pointer to the sprint backlog.

Schedule

We will create a project plan for every iteration. The iteration's main goal will be captured in the plan. Tasks will be identified, estimated and scheduled at the beginning of each iteration. The specific tasks to implement are determined based on the input given by the customer, who selects the features he would like to have implemented in the iteration, and also based on the technical feasibility to implement those features at the particular sprint.

Tasks Estimation

We have found task estimation difficult because we lack historical data. Given this background, the team will use Wideband Delphi to carry out estimates for new tasks or tasks consider to have multiple unknowns. At the start of the iteration, the team will hold a meeting where each team member will give an estimate for each of these tasks in the iteration. Two rounds will be held and the estimated time for each task will be its average in the last round.

Tasks Tracking

We will track the project using burn down charts, which will show us the remaining effort of the sprint. Effort spent on each task will also be tracked to be compared with the original estimates to help improve future estimates of similar tasks.

Resources Allocation

  • Team DaVinci has a fixed resource allocation per week as follows:
Resource Allocation
Term CMU NY
Fall 2005 9 hr/wk 9 hr/wk
Spring 2006 12 hr/wk 12 hr/wk
Summer 2006 48 hr/wk 36 hr/wk
  • Engineers will take predefined roles such as team lead, customer manager, risk manager, infrastructure lead, etc. These roles are explained in detail in the software process specification.

Reflection

No software development process is perfect. With that in mind, the team at the end of each sprint will reflect on how the execution of the process failed and how it might be tuned in order to improve our work. The following are a series of evaluation criteria that the team will use for that purpose.

  • Suitability of the estimation mechanism.
    • As we moved into the summer, the number of tasks we had to plan for each sprint grew significantly. This made Wideband Delphi a tedious process. We decided at the end of sprint 7 that for sprint 8 individuals would provide estimates for tasks which they are familiar with and Wideband Delphi will only be used for new tasks or tasks with multiple unknowns.
    • For sprint 8 and forward, we are also considering getting estimates from outside experts for tasks the team is not comfortable estimating.
  • Suitability of the planning mechanism.
  • Suitability of the tracking mechanism.
    • As we moved into the summer, the number of tasks we had to plan for each sprint grew significantly. This makes prioritization a tedious process. Starting with sprint 8, the team will group like tasks and prioritize task groups instead of all the individual tasks.
  • Accuracy of estimated duration of tasks.
  • Comparison of workload distribution.
  • Relevance of the planned tasks.
  • Visibility of what each member of the team is doing at any time.
  • Why was the goal of the sprint achieved/not achieved?