Two weeks back, we played the Agile lego game in office. The idea was to give a feel of how distributed agile teams works to our new Product Owner and few new team members.
A typical agile lego game consists of teams working for around 3 to 4 iterations and trying to build something using the lego blocks. A product owner is sitting with the team while they build and helps the team in understanding the requirements. He is right there to answer all the queries and the teams get a feel of how interactions help over documentation. The team also tries to builds incrementally and learns the value of being able to build small and change as needed.
We aimed higher, we wanted to give a feel of distributed teams and hence had to add the twist of taking the product owner away from the team and available only on calls :)
We started by creating 3 teams with 5 members each. Each team had 2 product owners and 1 facilitator assigned. We called everyone and explained the rules of the game
- Planning Meeting for 3 mins (including estimation)
- Each iteration is 7 mins
- Showcase to get stories signed off is 2 mins
- Post showcase everyone will come together for a huddle to discuss the learnings and observation
- The team gets 3 iterations to build an animal
- Since the teams were to get a feel of distribution, we had set-up 6 laptops with a gotomeeting (web conferencing and online meeting tool) which we use regularly on our project. The customer was available online through it.
- A team could make 1 person travel once during the iteration to customer site (if needed)
The teams were assigned their Product Owners and facilitators and we started the first iteration. The teams were on one side of the office and the product owners were sitting in meeting rooms. Below is a picture of the teams trying to talk to the PO over a call.
The teams started by looking at stories and trying to talk to the PO to understand more details on each of the stories. Once call was done, the teams got head down building the animal. Here are some pics of teams busy building the animal using the lego blocks
In no time our facilitators called "time out" as time for development was over and it was showcase time. Since it would have been difficult to show a lego animal over call, we decided to have the PO visit the teams for showcase. The teams had to showcase the stories that they had developed and get it signed-off from the customer. A few teams managed to get a couple of stories signed off.
We called all the teams together and asked for observations/comments
- Communicating over a call: The first point was how difficult it was to interact over the call, all the teams & PO understood the challenges of communications that we face on an everyday basis and the importance of using the right tools - online meetings, speakers, camera etc.
- Availability of PO: Some of the PO decided that they were busy in other meetings and were not available for calls ( a very real life scenario) that gave a feel of what the teams face and how important is the availability of a PO for the success of the team.
- Not pushing back on design constraints: Since one story mentioned build the animal in a color, the teams just went ahead and built it in a color of customer choice. No one pushed back on this and later realized how much constraint it adds on the team since lego blocks of that color are limited. This is also a very real life scenario were you might end up making some design decisions that might put big constraints on you if you only think short term.
- Not deciding which stories are priority: Most of the teams just started working on stories immediately, they did not take advantage of planning meeting to discuss the priority of a particular story or the business value it might add. The customer was available and would have informed if they needed a particular story or not.
- No Collaboration between team members: Another challenge that teams faced was many people ended up doing the same activity (like building a fence for the animal). This happened because team members were not collaborating and there was lack of communication between them. This helped in understanding the importance of communication and collaboration between teams. The teams discussed how dining table setting for working helps in communication.
This session was very helpful to the teams as it gave them a quick feedback on how they are doing, and what they need to improve upon. This also emphasized the need of doing regular feedbacks in the team.
The teams then got into their next iteration. This time some of the teams improvised based on the feedback received. This time we decided to have the PO with the teams.
- Some teams planned well and decided on what they will pickup in the iteration. They got their PO to prioritize their stories.
- One team managed to collaborate really well - divided the tasks among themselves
- They got their PO to work very closely with them and managed to build the animal by second iteration.
Below is the picture of the team collaborating effective, working closely with the PO and the animal they build at the end of the second iteration.
It was now time for some twists, based on what we observed
- We decided to swap the PO of 2 teams. We just announced that both these teams now have new PO. It was exactly replicating our real life scenario where we had a new PO.
- We observed that the team which was collaborating well, was heavily dependent on one person interacting with the PO, we decided that he is out sick and took him out of the team
- We also decided that although one team had managed to build the animal in the 2nd iteration, due to business requirements we wanted lots of changes in it.
The idea was to give the teams a feel of real life situations and see how teams adapt to change of key stakeholders and change in business needs. We also wanted the teams to experience what happens if there is a single point of failure.
At the end of 3 iterations the teams had some real fun playing the game & building the animal along with the an effective & long lasting learning experience.