Teach Scrum with Minecraft
Based on Lego for Scrum
In my pre-pandemic Project Management classes, I often used a “Lego City” activity to teach the basics of Scrum. Conceived by Alexey Krivitsky, teachers and trainers worldwide have used variations of his original concept with their students. Teachers share their modifications, experiences, and extensions on the #lego4scrum website and in a dedicated slack community and a Facebook group. The version I developed over the years was condensed to just two 90 minute sessions. Planning and discussion of Scrum and the user stories occur on Day 1, and all building takes place on Day2. Progress is slow at first but accelerates as students modify their processes between iterations (three ten-minute sprints with a 5-minute review and 3 minute retrospective on building day).
Lego + Zoom = Minecraft
However, the immediate shift to online classes in the spring of 2020 left me searching for an online substitute. So I turned to my students and challenged them: What if we use Minecraft instead? They took up the challenge with full knowledge that I would be of no help with Minecraft but act as the Product Owner and occasional Scrum consultant.
It turns out that I should have been using Minecraft to teach SCRUM all along! And now that I am back in the classroom, I still use Minecraft (plus zoom and Trello) as my main activity for teaching Scrum.
Using Minecraft to teach Scrum has several advantages beyond Legos:
- Like any project team, team members have different skill levels, so the “old pros” at Minecraft building have to help out and mentor the newbies.
- Students who have been less active in the class sometimes come alive with this project, especially when teaching others about Minecraft.
- It allows the students to experience a situation where they are the technical experts (I still “fall through” the ground in Minecraft and get lost sometimes🤣).
- The product owner (me) doesn’t know the skills required to complete the user stories.
- I give zoom host permissions to the student scrum master and let them run the Spring Planning meetings, etc. The team figures out how to best organize their work without directions from me. (The student team often decides to break off into breakout rooms for work on various user stories).
- The exercise re-enforces what we have learned in class about self-forming teams and interacting with virtual team members.
If you want to do this activity with your classes, here is my guide! All downloads are at the bottom of this post, including Minecraft files with the cities built by my students. I have completed this exercise successfully with forty students, but I think it would get a bit dicey if you had more than forty. Twenty is ideal.
You will need the following to complete this activity:
- Minecraft Education Edition (If your school subscribes to Microsoft 365, you probably have free access)
- A Zoom or Other Videoconferencing app (Webex, google meet, MSteams, should all work)
- A Trello Board or other electronic Kanban tool (I use the Trello free account).
- A list of user stories (a word doc is provided below)
- Optional, a hardhat and a fedora (or two other types of hats for the teacher to switch between as they go from Product Owner to Scrum Consultant during the simulation)🎩
Step zero: Pre-class preparation
- Ask for two student volunteers to host the Minecraft world. Whoever has the best computer and internet connection should be the host, and the other volunteer should be the backup. Power outages, new firewall rules, illness, and a dozen other issues can cause problems, so you need a backup. Also, ask the host to save the “world” file after each class and to send that file to you and to the student who is the backup host so that you can switch hosts quickly if needed without losing any work.
- Setup a Trello board and have all your students join the board.
- Have all your students download and install Minecraft for Education, NOT the commercial Minecraft. You can also make an extra credit assignment to build something in Minecraft so that they all test it out. However, some students might go overboard like this student who recreated our football stadium: https://youtu.be/m4JbtAEdaQA
- Ask the host to create a new world (Default Game Mode: Creative, Difficulty: Easy, World Type: Flat, turn off all other WORLD OPTIONS and CHEATS). Have students connect to the world. If some students have older laptops and cannot connect or launch Minecraft, they should be selected to serve as the Scrum Master (or assistant Scrum Master who can do the burndown chart, help with the Trello board, etc.).
Step one: Setup the exercise.
- Review the principles of Agile and Scrum; here are my slides (contact me if you need Keynote or PowerPoint versions)).
- Explain that everyone will be building a single product — they are not competing. The product is a City with certain features and the building elements are Minecraft blocks.
- Explain that you will not be able to monitor all conversations and interactions, and students are expected to act like they are in a classroom at all times. Any unprofessional behavior will be punished severely.
- Explain that you will have two roles during the simulation: Mayor of the city under construction (product owner), I wear my hardhat when I am in this role; and Scrum consultant, I wear a different hat (fedora, etc.) when in this role.
- As the Mayor I will be the primary decision-maker regarding the acceptance of the product — it is my city. I will be available to answer questions and provide feedback during the Sprint Planning Process and the Sprint Review (but not during the Sprint or the Sprint Retrospectives). As mayor, I want to see the maximum value for my citizens.
- As Scrum consultant, I will be available to help with questions about the process at any time.
Step two: Swim lane sizing in Trello
Bring up the Trello board. Provide the list of user stories to the students (via chat or beforehand). Split the students into groups and ask the students to enter the user stories into the Product Backlog.
Then create lists (1,2,3,5,8,13) that represent the relative difficulty of completing each user story. The Scrum Master should then lead the group to discuss the user stories and how to achieve them, moving the user’s stories into the respective column when a decision is made about the difficulty of the work required to deliver a story. The instructor should take on the role of the Product Owner/Mayor and answer any question from the team. Once all the stories have been sorted, the Scrum Master should facilitate a review and gut check, moving cards as the team re-evaluates their decisions.
If the students have not figured it out themselves, the instructor as Scrum Consultant should explain that there might be things that they will have to do that the user didn’t anticipate (deciding where things will go, the relative size of houses, and buildings, etc.). They may need to add tasks or user stories to account for these items or get direction from the Mayor.
The difficulty level should be noted on each card and all those numbers should be added up to give a total representing the work to be completed. This number will be used to calculate the burndown rate and produce a chart.
Step 2: Sprints
Sprint Planning Meeting. Reset the Trello board by moving all stories back to the product backlog. The team should decide which stories to take on for the first Sprint, and students should self-select the user stories to work on and indicate their choice by adding themselves to the Trello card. The student Scrum Master should lead the planning meeting, but the instructor should remind the Scrum Master of their role as a servant leader and not as the boss!
Sprint. Students complete the work, and move cards from “To Do” to “Ready to Review.” It might be good to time box this, or students will be making stuff for hours. I normally give then 25 minutes per Sprint.
Sprint Review. The Mayor reviews the work (and normally has an issue with one or two items). All accepted work moves to done-done, and stories that require re-work move to Sprint 2 to do. The Burndown chart is updated.
Sprint Retrospective. The Scrum Master leads the Retrospective with some input from the Instructor/Scrum consultant.
Sprints two and three. Rinse and repeat for Sprints two and three!
Step 3: End of Game Discussion.
At the end of the game, the instructor can lead the discussion on what was observed and or have the students write a reflection.
Let me know if you have any additions, suggestions for improvement or questions about this activity. I would love to hear how it works for you!
If you want more content like this, please subscribe to my newsletter, The Free-Range Technologist.
Please download files from here: https://github.com/JScottMO/minecraft-scrum
J. Scott Christianson is a technologist and an Associate Teaching Professor of management at the Trulaske College of Business, where his interests are focused on the impact of technology on society. You can connect with him on his website, LinkedIn, Twitter, or by following his newsletter, The Free-Range Technologist.