Links
CS home page
Dick Brown's home page
Site home page
Printable version of this page
-----
CSA online text
Laboratory assignments
Homework assignments
Escher: Web Portfolio Manager Project
Course directory ~cs284
-----
Java API
Project log form




The planning game

CS 284 (CSA), Spring 2005

Two groups of players: User ("Business") and Development. The goal of the game is to maximize the value of the software produced by the team, deducting the cost of development and risk incurred during development. The strategy is to invest as little as possible to produce the most valuable functionality (as assessed by User) as quickly as possible, while reducing risk. Then, iterate.

User people have to decide the following:

  • Scope

  • Priority

  • Composition of releases (how much is enough)

  • Dates of releases

Development (a.k.a., Technical) team must decide the following:

  • Estimates (amount of time/effort required to complete a task or story)

  • Consequences (e.g., choice of database system)

  • Process (i.e., how the tasks will be implemented)

  • Detailed scheduling

Moves of the game

  • Exploration: write a story; estimate a story; split a story if necessary.

  • Commitment phase: User sorts stories by value; Development sorts stories by risk; Development sets velocity; User chooses scope.

  • Steering phase:

    • Iteration: User selects one iteration (e.g., 2-3 weeks) worth of the most valuable stories, resulting in an end-to-end system.
    • Recovery: If Development realizes it has overestimated velocity, it can re-estimate and reset velocity, and ask User to determine most valuable stories to retain in current release.
    • New story: If User realizes it needs a new story during an iteration, User can write the story. Development then estimates, User removes equivalent quantity of stories from remainder of this release and inserts the new story.
    • Reestimate: If Development believes current plan is inaccurate map of development, Development can re-estimate remaining stories and reset velocity.

Details

  • User sorts stories by value into three categories:

    1. Essential for system functioning;

    2. Significant user value but less essential;

    3. Would be nice.

  • Development sorts stories by risk into three categories:

    1. Can estimate the task precisely;

    2. Can estimate the task reasonably well;

    3. Cannot estimate the task.





rab@stolaf.edu, May 09, 2005