Learning the Planning Game


Initial Story Writing (20 minutes)
Customers decide what you want and begin to develop feature cards--one feature per card. Keep the constructors informed. Give them the cards as they are written. Keep your features simple and independent.

Constructors self organize and discuss things with the customers. When you get a card, estimate its time in ideal minutes/seconds. Write the estimate on the card in "ideal pair minutes". Give it back to customers. If something seems impossible, give it a large (infinite) estimate. The estimate is the ideal time it would take two people working together to build the feature described assuming no interruptions, meetings, etc.

Planning (10 minutes)
Constructors announce your velocity for the next peroid. This is a number up to 45 minutes times the number of pairs you have on your team. You will get cards with total estimated times up to your velocity. Your velocity is an estimate of how much you can do within an elapsed time. Be conservative with this the first time.

Customers choose the most desirable cards/features up to the time limit (velocity) announced by constructors.

Developing (45 minutes)
Constructors build features on the cards given above and consult with customers as needed. Before building anything, draw a sketch of it. These sketches can be (should be) developed with the customers. When you build, always do so in pairs. Two constructors on every task. In a pair, continuously discuss what to do and how to do it. Try to have several pairs working independently, but don't forget to integrate what you do into the overall project. When done with a feature, verify with customer that it is as described on the card and looks like the sketch you made. Try to switch partners for different tasks. Monitors will ask you if you are on schedule to complete your tasks. If not s/he will hold a one minute meeting.

Customers develop new cards as desired. Consult with the constructors when they have questions. Don't change cards in the current cycle, but if you see you asked for the wrong thing based on what is being built, write more cards.

Planning (10 minutes)
Constructors estimate new cards if any and decide on a new effective time (velocity). Adjust your velocity based on the previous cycle. Use "yesterday's weather".

Customers choose new features as before.

Developing (45 minutes)
As above. Constructors may re-build any parts that they think they can do better. They can modify (refactor) things built earlier, but no additional time is allocated for this.

Planning (10 minutes)
As above.

Developing (45 minutes)
As above.

(etc. for as many cycles as necessary)

Discussion/Debrief by instructor and students (90 minutes at least) You can also do a project retrospective if time permits, using Norm Kerth's ideas. Allow at least another hour for this. See http://www.retrospectives.com/