The MGS Blog

Tuesday, April 5, 2011

Exercise: Distributed Agile Planning Game

Agile release iterations deliver multiple features and improvements in response to customer requests and/or project requirements (Kroll, 2007). One of the key elements of the scrum iteration is the planning activities that take place at its commencement. The goal is the organisation establishes a clear view of feature specification and value, understanding of architectural implications, and possible design solutions, and estimates of effort to facilitate the planning process between those representing the customer (or the business) and those responsible for development (Beck, 2000). The following figure suggests both how this can be part of both an up-front and an on-going process (fig. 1).
scrumIteration
Goal
To demonstrate and experience the process of planning in a distributed team environment.
PlanningGameCards
Overview
For the purpose of this exercise the following roles and activities are defined...
Roles/Identities:
  • Product Owner
  • Architect
  • Lead Developer
  • Scrum Master
  • and additional developers if needed (Joe, Mary, Wu)
Activities for the PLANNING GAME
  • Feature Discussion (5 minutes)
  • Architecture discussion (~5 minutes)
  • Design-delivery discussion (~5 minutes)
  • Decide backlog including iteration deliverables, project size etc. (~10 minutes)
Materials
  • Role cards
  • Feature:Architecture:Deliverable diagram card
  • Rules card
  • A1 work sheets
  • Marker pens and post-its
scrummaterials
Part 1. Instructions  ~50'
This exercise is quite involved and difficult to understand first time, give sufficient time for the groups to produce a planning chart.
  1. Divide the class into an even number of groups.
  2. Handout materials and cards to each group (this can be done in advance of the class)
  3. Groups assign roles.
  4. Commence and conclude the first run of the group-centred PLANNING GAME. Allocate approximately 25' for this stage.
  5. Each group produces a product backlog list with tentative delivery dates (Gantt style project schedule) using the A1 worksheet, post-its etc.
  6. Review results with the whole class.

Discussion ~10'
What helped establish shared understanding?
How might you share knowledge in a commercial setting?
What tools and technologies facilitate?


Part 2. Instructions  ~50'
  1. Divide equal numbers of either 'Clients' or 'Suppliers'
  2. Now assign pairs of groups - Blue with Yellow - to conduct the second run of the game in a distributed-teams mode. 
  3. Pairs of groups spend 5 minutes to introduce each other and roles.
  4. Groups return to their work areas (opposite sides of the room or in different rooms).
  5. Paired groups to discuss and agree a new product backlog and tentative delivery date for the first and/or subsequent iterations. Allocate approximately 15' for this stage. Paired groups may meet in person, via phone/skype, chat/text.
  6. Each groups three points that worked well, three points that could be improved.
  7. Paired groups report progress to the whole class.
Discussion ~10'
Do you think of the planning exercise as a problem with a fixed solution?
Do you think of the exercise as a process (on-going or one that could continue later)?
Once the groups were split into clients and suppliers did geographic separation improve or disimprove the planning process?
What kinds of things act as impediments to managing distributed teams?

References
Beck, K. (2000) Extreme Programming Explained : embrace change, Reading, MA, Addison-Wesley.
Kroll, P. (2007) OpenUP In a Nutshell. IBM Rational.
Schwaber, K. (2004) Agile Project Management with Scrum, Redmond, Washington, Microsoft Press.