Month: February 2017

Scrum Soup

Over the last year, our team has adapted the Scrum framework to help our students work through class projects. In the classrooms where Scrum is used regularly, students have a deep understanding of what it means to collaborate and be part of a learning community. Teachers can plan complex projects, confident that students will rise to the challenge and present outstanding products to their classmates at the end of a few weeks. To us, Scrum makes perfect sense. And it is not too hard to implement with some guidance and coaching. However, getting started on your own can be tough, especially because most of us have never tried anything like it.

 

When talking about Scrum, we bandy about lots of unusual words to refer to the roles, artifacts, and ceremonies involved. Even those three make Scrum sound like a strange cult. Instead of suggesting books and articles, It might be useful to walk through an everyday, non-educational project in Scrum to give interested teachers a frame of reference. It might also be a good way to introduce Scrum to students in classrooms.

 

Let’s make a vegetable soup following an everyday workflow. Everyone knows how to make soup, right? What are the steps?

 

  1. Gather all your ingredients
  2. Clean, peel, and chop all veggies and maybe some meat
  3. Cook all ingredients in a pot of water with salt and seasonings
  4. Serve and eat

 

Generally, that’s how soup works. Of course, the stuff I put in my vegetable soup might not be exactly the same that you put in yours. How long the process takes depends on how many different ingredients I have to prepare before adding them to the soup. If I had to plan this down to the smallest detail, I’d have to expand the above steps to include everything.

 

Let’s see what a detailed plan for my soup might look like. I have to include every step to make sure I can give my guests a good idea of when we will sit down to eat our soup. Notice that these steps have a well-defined beginning and an end, and usually, will be easily managed in a predictable amount of time.

 

  1. Decide on a list of ingredients
  2. Make a shopping list based on what you have on hand
  3. Go to the store
  4. Select carrots
  5. Select onions
  6. Select celery
  7. Select potatoes
  8. Select a cut of beef
  9. Pick up some kosher salt
  10. Pay
  11. Return home
  12. Start water boiling in a large pot
  13. Add salt
  14. Trim and cube beef
  15. Wash, peel, and chop onions
  16. Wash, peel, and chop potatoes
  17. Wash, trim, and chop celery
  18. Wash, core, and chop peppers
  19. Wash, trim, and chop green beans
  20. Wash, slice yellow squash
  21. Peel, chop garlic cloves
  22. Thaw a bag of corn kernels in the microwave
  23. Add ingredients to the pot
  24. Add two bay leaves to pot
  25. Add peppercorns to pot
  26. Wash cooking utensils (cutting board, knives, peelers bowls)
  27. Taste the soup and adjust salt
  28. Set table
  29. Slice and toast bread
  30. Arrange toasted bread in a basket
  31. Serve soup

 

Mmm…The soup turned out really good. Too bad it took the whole day to make. Next time, I’ll try this with a team of friends (or maybe I’ll just coerce my children) and I will use a Scrum approach to make sure we can work together well. Let’s see how Scrum would help us get things done with three team members.

 

I’m going to leave the above as my plan and work from there. These 31 steps constitute our backlog. Each task is a story point. I’m going to break them into three sprints.

 

1-11 Planning

12-25 Making

26-31 Sharing

 

Let’s look at the first part of the list. Notice how items 2-11 depend on our list of ingredients and what we have on hand. The backlog likely did not have any of these items on it until after we, as a team, decided what to include in the soup and looked at what we had on hand and what was missing. If we had found everything in the refrigerator or pantry, we would not have groomed the backlog to include the trip to the store and the items to purchase.

 

Let’s go to the store with our shopping list. We will start with a standup meeting in the parking lot.

 

  • What have we done so far? We made a list of ingredients, a shopping list, and we drove to the store.
  • What will we do now? We will each get two ingredients on the list and meet back at the cash register.
  • Does anyone have any questions or problems? Yes, I do not know where to find the kosher salt. I either trade this task with someone who does, or I get help in finding the salt.

 

When we meet at the cash register, we will have another standup meeting.

 

  • What did we do here? We got ingredients.
  • Are they of a quality we all like? The team should ensure that the vegetables are all fresh and nice and meet the quality standard set by the members.
  • When everyone agrees we are done at the store, we pay and go home.

 

At home, we might want to have another standup meeting to start our second sprint. We might divide the cleaning, peeling, and chopping based on personal preference and skill. We might choose to groom the backlog once again and add some herbs to to the ingredients. And luckily, we are a 1:1 cutting board and knife kitchen. We can work in parallel rather than in series. What might have taken a sole cook a full hour could take three cooks a third of the time or less. Awesome!!

 

As we are all working on our selected veggie story points, we have to be in constant communication to make sure our work meets our collective standard of quality. Are the potatoes chopped in small enough cubes? Are the carrots sliced thin enough? Should there be a bit more garlic? Does anyone need to have their knife sharpened? Are we keeping an eye on the pot to make sure it does not boil over? If I’m finished with my veggies, may I help someone else with theirs? We are working independently on our tasks, but we are working towards a common goal.

 

Even though the soup is being made in a single day during a single work session, we could structure this particular sprint to have a standup meeting before adding ingredients to the boiling water. Once things are in boiling water, it will be too late to chop anything finer or to wash something that might look like it needs cleaning. This is the time to make corrections. In this case, we are alone in the kitchen. We do not have a product owner who is outside the team. Still, our progress has to meet our quality standard and our definition of done.

 

Since this is a critical point in the soup-making process, we might want to have a product demo. If we were making this soup for anyone other than ourselves, our product owner would listen to what we had to say about the soup so far and examine the results. The team would answer questions, listen to feedback, and plan on correcting anything that was not to the product owner’s liking. Based on the feedback and required changes, we might need to groom our backlog to include missing ingredients or eliminate something that does not fit with the project.

 

What? Eliminate something? But we already washed, peeled, chopped the yellow squash!!

 

I know, I know… But we have realized one of our guests is allergic to yellow squash. Keeping it in our soup would be a terrible mistake. It is better to have noticed this small failure now, before we serve the soup. Reviewing the project often, identifying failure, and learning from it is a crucial part of Scrum. FLeRD will help us do better next time. Fail, Learn, Rethink, Do. We failed to ask if anyone was allergic to the ingredients. Now we have learned from our mistake. We rethink our process and add a step to check for allergies when we are making our list of ingredients. And that is how we will do it next time we make soup or any other recipe.

 

Now we move to the final sprint while the soup is cooking. We clean up, set the table, and get some bread ready. While this seems like a slow, easy sprint, it is crucial. We are getting ready to unveil our finished product. We must set the stage, know what we will say if anyone has questions, and be ready to accept feedback from our guests. We must also be ready to give and take feedback from our teammates.

 

Let’s have a final standup meeting.

 

  • What have we done so far? We have prepared a delicious soup.
  • What do we have left to do? We have to serve the soup. Let me grab the ladle from the kitchen before we sit down.
  • Does anyone have any final questions or problems? Nope, I think we are okay.
  • Do we agree that the soup is done and ready to serve? Yes! Let’s eat!

 

How did the process go? I did not add the final kitchen cleanup to my backlog, but while we dry and put away the dishes, the team should have a retrospective. We must examine how the day went, from beginning to end. We must decide, from planning to serving, what went well and what could use some improvement. Reflecting upon the process and examining the results objectively is a good way to ensure future improvements.

 

Now that we have a point of reference for the artifacts and ceremonies of Scrum, we can bring this back into the classroom. We don’t usually make soup as a classroom project, but the essential steps for many classroom projects line up well with this example: Planning, gathering resources, executing, presenting, and reflecting. The essential elements of Scrum keep the project from ever going off the rails. The structure demands constant communication and prompt resolution of any conflict or difficulty.

 

  • All the work is explicitly enumerated in the backlog to help all members of the team know what needs to be done.
  • The team grooms the backlog based on discussions during standup meetings and on feedback from the teacher.
  • All completed story points must be reviewed by the team to ensure an agreed-upon standard of quality for the work.
  • Standup meetings encourage team members to communicate and resolve conflicts
  • The teacher, as the product  owner, calls for a product demo to give formal feedback while the project is in progress.

Scrum may have its origins in the software development industry, but the idea of working towards a common goal without disruptive conflict applies to any context and any situation. If we have a recipe for teaching our students to work in teams, we should definitely make Scrum soup.

Better Backlogs

If you are new to Scrum and your students are having trouble keeping their backlogs full, here are some great tips to help your students better their backlogs.

  • Model It: Model what a backlog should look like, especially if this is your first time implementing Scrum.  List all of the things the students have to complete in order for the project to be considered “done” as a class. I typically list all of the things the students need to do on my white board. Don’t forget to make sure every story point has its own sticky note.
  • Start Small: Choose a project that should only take a couple days to complete. Movie or poster projects are great for beginners. When students start setting up their backlogs, it shouldn’t be too overwhelming.
  • Groom It: I am constantly walking around and checking my students’ backlogs. Story Points that only have the words “plan,” “research,” or any other words that one person cannot do alone are not good story points. Unpack those story points further. Change “plan” to “plan the advertisement logo” or “research” to “research the nucleus.”
  • Top Priority: Teach students to put their most important story points towards the top. In other words, what do we have to get done today in order to move onto the next sprint? Those story points should be moved to the top of the Scrum Board.

Now that you know how to help your students monitor their backlog, your students will be more efficient and effective when completing their group projects.

Thank You VCEC

                

We had a blast presenting Scrum at VCEC. Our updated slides are attached below!

VCEC: Scrum PDF 2017

© 2017 Scrum in Goochland

Theme by Anders NorenUp ↑