Wednesday, April 13, 2016

Agile simulations - lego game

I teach an introductory class at University of Houston. This semester I did half technical and half soft skills (like Agile). 

Given that I have a 3 hour class, I had the ability to try out the Agile simulation using legos ( )

I had introduced agile to my class, but didn't go into any depth about Scrum or any of the other flavors. We basically had a conversation about if you were going to spend a lot of money on something that you were unsure about the final result (like a full sleeve tattoo), what steps would you go through to ensure that it matched your expectations. 

All of this saying, they were not familiar with actually implementing agile or scrum. 

I brought in a huge tub of my kids legos and set them in the middle of the class. I also brought 8 smaller storage containers that would allow the students to take scoops of legos back to their desks / work area. 

I introduced the project explaining that we were going to be building a lego city, my lego city, and that I recommend that they break into small groups of 3-5 people (class of 25, although about 50% decided to not show up), and rearrange the furniture as they saw fit to prepare to build the city. 

While they moved a couple of desks to sit on the floor, they generally used this time to come scoop up containers full of legos to take back to their spots. Meanwhile I covered the "land" with paper.  I informed them that this paper was were the city was to be built and that for certain things, like roads, it was okay to draw them on the paper rather than make them out of legos. 

Then I introduced the things that I wanted in my city. I had, in my head, organized them by potential teams, but I never mentioned that to the class.  I also intentionally didn't mention the acceptance criteria unless asked. 
  • Living: 
    • 4 x 1 story homes 
      • Must have a window 
    • 2 x 2 story homes 
      • Twice the size of a 1 story home 
    • Apartment 
      • 3 stories, outside stairs 
  • Recreation 
    • Park 
      • Trees 
      • Playground 
    • Stadium 
      • Open roof 
    • Zoo 
      • One animal and enclosure 
  • Business 
    • TV station 
      • Satellite dish or Broadcast tower 
    • Retail shops 
      • 4 doors, each shop a different color 
    • Hospital 
      • Has a red plus on it 
  • Education 
    • Elementary school 
      • Has a fence 
    • University 
      • Looking down on the top of the univeristy it should look like UH 
  • Worship 
    • Religious symbol on it 
  • Infrastructure 
    • Power station 
      • Wind turbine (ie propeller) 
    • Waste water treatment 
      • Visible Pipes 
    • City Hall 
      • Dome on top 
    • Transportation 
      • Mass transit 
        • 8” and 6+ wheels 
      • Dedicated bike lanes 
        • Barrier from cars 
      • Roads 
        • Drawn + 1 car 
      • Airport 
        • 1 plane + terminal

I wrote each item on sticky notes, and used Team estimation game to size the stories. (Think bubble sort). We were about 60% of the way through (when we got to the university), that they started to ask about what I was expecting for the university.

Since we had been sizing the stories as we went, we decided that we needed to start over. This time through we talked about the acceptance criteria before they determined left, right or same for the sizing.

Once all of the stories were grouped and positioned, I assigned Fibonacci numbers to them for the points. We had 1,2,3,5,8,13,21 and 50.

I then organized the stories into a priority order. (I wished I had taken a picture of the final priority order before doing sprint planning). Meanwhile I had told the class to figure out if they were going to represent themselves as the separate teams, or as the company as a whole and to determine what they think is a good number of points to take on for the first sprint, which was 8 minutes.

We had 4 minutes for sprint planning, where the class, having decided that they were one company (instead of 5 teams) choose the items from the backlog that they were going to deliver for the first sprint. (They completely ignored the priority order and choose what they wanted to work on, including the lowest priorty highest point story). Also somewhat independently, some of the students had already started building, while others where choosing the stories from the backlog.

We started our first 8 minute sprint with a 106 point commitment. When the bell rang, there was nothing on the "land", so they got zero points. They were pretty disappointed, because they didn't realize that their structures needed to be on the table by the end of the sprint.

We did a 4 minute retrospective, where again 5-8 students participated and another 4 minute planning, the others continued building. The planning was essentially moving over all of the unfinished stories, but they did add another 3 point story. Sprint 2 started with a 108 point commitment, but many of the structures were "done" and on the land within the first couple of minutes.

The different groups, not surprisingly didn't talk to each other, and using the single story house as a scale reference, the "3 story apartment" was about 1/3 the size of a 1 story house. The hospital was about 1/2 the size of the house. The stadium, (the lowest priority and highest points), was done and used up a significant amount of lego bricks (that they would want for the next round).

Sprint 2 ended with 96 points of the 108 awarded. The Sprint 2 retro was largely ignored as everyone just kept building. One person participated in sprint planning. They didn't move any of the unfinished stories over, but they did add 2 more stories. Ultimately they ended up committing to 6 points but completing 46.

Here is a photo of the finished city.
Front L to R: Water treatment, power station, place of worship, university, stadium, hospital, airport
Back L to R: zoo, elementary school, playground, 1 story house, tv station, 1 story house, 2 story house, apartment

From the debriefing after the last sprint, here is what the students said were issues, especially after talking about some of the things in red from above:
  • knowing the scale of the buildings
  • not knowing what the other groups were working on
  • Initially there was no talking, but it really improved towards the end when the groups started working together
  • Pain point: What does the client expect to see
  • Pain point: Client Priority
  • Pain point: Dimensions / scale
  • Pain point: 8 min sprints were stressful
  • Pain point: looking for resources / running out of resources
We talked about how they were overall more interested in building (playing with the legos) and less interested in understanding the clients needs. We talked about how they were also skipping the planning, which helps communicate expectations to the client, as well as the retro which would help them improve the internal processes.

We then talked about variations and improvements. Interestingly enough most of them expressed that even though there were improvements that could have happened in the delivery of the exercise, they valued the mistakes that they made as it were, and ultimately decided that I should not add any more explanation or details the next time around.

Overall, it was an incredibly useful exercise and discussion around teamwork and communication with the client.