The word “scrum” brings to mind some vivid images – Black Friday shoppers, rush-hour commuters, mud-covered rugby football players jostling above a ball. And how about this one: business people standing together to review progress on a project?
The last two images are more related than you might think. Scrum is a project management approach designed to increase speed and flexibility through teamwork and incremental working. Its early proponents called it the “rugby approach,” because of its emphasis on teams achieving results together, step by step. The fact that the process often includes short huddled meetings helped the name to stick.
Scrum is part of the Agile software development movement, characterized by a lighter-weight, team-centered approach to creating software. The methodology is now widely used outside the world of software development too.
So sports metaphors aside, what exactly is Scrum?
“The main characteristic [of Scrum] is to do things incrementally, build a little bit, see how people like what you’ve built, and then use the feedback from that to figure out the next thing that you’re going to do,” explains Scrum and Agile expert Mike Cohn, founder of Mountain Goat Software.
To illustrate how this works in practice, he talks about his dentist. During a recent visit, she asked him what he did for a living.
“I said, ‘If you wanted to start a new software product for your dental practice, the traditional way would be to have somebody write a 100- or 200-page document describing everything you need. And then people would go away and build that software, come back in a year, and probably give you something that didn’t really match your needs’,” he says.
“In an Agile or Scrum approach, what we do is go to that dentist and say, not ‘What do you need?’ but ‘What do you need most? What do you need next?'”
With the general goal far in the distance, the team then builds just one thing to show to the dentist.
“Then she can say, ‘No, that’s not what I want,’ or, ‘Yes, it is.’ And then, based on that, we build the second thing and then the third thing,” Cohn continues. “So it’s about having teams working together with their customer collaboratively and building just a little bit, rather than trying to get the whole thing specified out up-front.”
In our Expert Interview podcast, Cohn describes how this way of developing projects is working well in some unexpected environments. There’s a website that helps people to plan their weddings using Scrum, for example, and it’s also being used effectively in schools. He knows some children who are learning about the pyramids using the Scrum approach.
“The way these nine-year-old kids are doing this is they’ll work as a team. One of them will perhaps draw pictures of the pyramids, the other one will prepare a little oral report that they’ll give, and things like that,” he says, adding, “One of the teachers refers to her students as her ‘little Scrum monsters’ because they are so interested in working that way.”
Scrum may often be fun, fast and motivating, but what effect does it have on the quality of the finished product? Cohn says this approach can lead to very high-quality results, but standards need to be monitored every step of the way. It makes no sense to try to retrofit quality later, as an afterthought.
And as you continually check the quality of your product, you should also check that you’re actually building the right thing, Cohn says.
“[We could] go away for a year and build a super-high-quality thing, no bugs, and then hand it over to our customer and the customer says, ‘That’s not what I want’.”
What a lot of wasted time and effort that would be. That’s why regular meetings between the development team and the customer, internal or external, are a central part of the Scrum process.
So how much planning is involved in Scrum, bearing in mind the need to stay nimble and be able to switch direction after every meeting? In this clip, from our Expert Interview podcast, Cohn reflects on the nuances of planning a Scrum project.
Have you been part of a Scrum or Agile team? How did this approach help the outcome of your project? Join in the discussion below!