Going Bananas over Mob Programming

Sharing is good

bananagram_highlight_smallBananagrams is a word game wherein lettered tiles are used to spell words. The object of the game is to be the first to complete a word grid after the pool of tiles has been exhausted. Bananagrams uses elements of both Boggle and Scrabble. It’s similar to Boggle in the sense that game play is simultaneous, yet players build interlocking puzzles similar to those in Scrabble. Because Bananagrams can be played by players at any (English) reading level, the game is useful for multicultural teams.

I’m always looking for new ways to teach agile concepts that are engaging, not forced, and just plain fun. I recently found Jumbo Bananagrams. These are the same as regular Bananagrams except that the tiles are super-sized and rubberized. It got me to thinking that there’s got to be a use for them in coaching teams. So without further adieu, here’s my take on using Bananagrams to enable a fun conversation about self-organizing and the principles and practices of mob programming

Number of Players. Using a team-based approach, break the larger group into up to eight teams of four people each.

Duration of Play. The duration will vary based on number and size of teams. For a benchmark, a full game for two teams of one person each takes around 25 minutes.

How to Play (Rules for the real game of Bananagrams)

Preparation

  1. Unzip the banana-shaped pouch and dump out all of the tiles onto a flat surface such as the floor or a table. Flip all of the tiles face down, so no letters are visible.
  2. Group into teams of up to four.

Team Set-up

  1. The number of tiles each team takes is determined by the number of teams playing the game.
    1. For 2-4 teams, draw 21 tiles each.
    2. For 5-6 teams, draw 15 tiles each.
    3. For 7-8 teams, draw 11 tiles each.
  2. Group the leftover tiles into a middle pile or “bunch”.
  3. Once all teams have pulled their tiles say, “Split!” This is the signal for everyone to flip over their tiles.

Team Play

  1. Each team arranges their tiles into an interlocking crossword. Tiles may connect vertically or horizontally, but not diagonally. The goal is to create complete words out of all your tiles. Note: If you have a tile you do not wish to use, you can “dump” unwanted tiles by placing the single tile you are dumping back in the bunch and drawing out three new tiles.
  2. Once a team had finished making valid words with all of their tiles, someone calls out “Peel!”, at which each team must draw one new tile from the bunch.
  3. Work in the new tiles. Tiles can be moved, rearranged, rotated, etc.
  4. Continue playing in this manner until all the tiles in the bunch have been used or the number of tiles left is fewer than the number of teams. At this point the team with a finished crossword, proclaims “Bananas!” and is the winner!

Learning Strategy. Here are approaches to the game that could be taken to help teams learn about mob programming or self-organizing teams.

  • Active Learning Approach for Mob Programming Concepts
Special Instructions
Guiding Questions
  • One person from each team is picked to move the tiles and cannot talk
  • The rest of the team can talk but not touch the tiles.
  • Every 5 minutes the facilitator will call “Switch!” and a new driver will take over.
After the game, discuss how mob programming principles and practices affected game-play, with the facilitator asking probing questions around each other following mobbing principles and practices.

    • Principle: Treat each other with kindness, consideration, and respect.
    • Practice: Driver/navigator pair programming adapted to work with the whole team.
    • Practice: Timed Rotation.
    • Practice: Whole Team.
    • Practice: Reflect, Tune, and Adjust Frequently. How did the team adapt to improve game-play performance?
  • Active Learning Approach for Teaching About the Value of Self-Organization
Special Instructions
Guiding Questions
The facilitator gives no guidance, Just tell them the standard rules of the game and let them start. After the game, ask questions of each team to get a readout of how each team organized, why they ended up that way, and the pros/cons of that approach. Realization of the processes of self-organization are the golden nuggets of the discussion.

  • Flexibility + support = speed. A self-organized team allows team members to work collaboratively with each other independent of management oversight. This makes teams more efficient, not only because they don’t have to waste time waiting for directions, but because working with a set group of coworkers gives them a feel for everyone’s strengths and weaknesses, allowing them to delegate responsibilities accordingly.
  • Sprinting with caution. One of the biggest challenges self-organizing teams face is finding the balance the freedom of movement with processes that prevent them from wasting time when their instincts lead them astray. It takes longer to fix the mistakes you make when you’re moving too quickly than it does to avoid those errors in the first place.
  • Getting Answers to the Standard Retrospective Questions of “What Worked?” and “What Didn’t Work?”
Instructions
Guiding Questions
  • Split the Team in half.
  • One group is assigned the task of incorporating the most important thing that worked for the Team in the sprint.
  • One group is assigned the task of incorporating the most important thing that didn’t work so hot for the Team in the sprint.
  • Game is played according to standard Bananagram rules.
After the game, each group tells their story to the overall Team. The main ideas behind this approach are that

  • This timeboxed the discussion in a creative way that’s fun for the Team
  • It also teaches some aspect of emergent design because the groups may have one idea in mind at the start but they have to react and think and change along with the letters they are dealt.
  • Emergent Design.  Coming soon!