Business generally seems drawn to simple models and metaphors for understanding and communicating complex principles and organizational behavior. This leads us to everything from Porter’s 5-Forces Analysis and Myers-Briggs personality dichotomies to Who moved my cheese? and “peeling the onion.” Certainly, software development is not immune to this behavior and so we would expect Agile thinking would have its share of models and metaphors (see also A Misleading Agile Metaphor).
Foremost among the Agile metaphors is the term “Scrum” used to identify an iterative software development approach based on a collection of assumptions and specific development techniques and processes. In the paper “SCRUM Development Process” presented by Ken Schwaber at the OOPSLA 95 conference, he wrote that “We call the approach the SCRUM methodology (see Takeuchi and Nonaka, 1986) after the SCRUM in rugby – a tight formation of forwards who bind together in specific positions when a scrumdown is called.” Expanding on the metaphor in the book Becoming Agile in an imperfect world, Smith and Sidky wrote, “The game of rugby provides a nice visual example of how the process works. In rugby, one of the team formations is called a scrum. The scrum formation involves many players meeting at the same point on the field and literally interlocking their heads.” Unfortunately, these descriptions miss the point of a rugby scrum and so misapply it as a metaphor for software development.
In rugby, “scrum” describes a highly competitive and confrontational element of the game, like a basketball jump-ball or a hockey face-off, where opposing teams work aggressively to physically push each other away from the ball. It is a fierce contest of brute force with the teams driving each other away from the goal which is possession of the ball. This hardly seems the metaphor for software team behavior that Schwaber had in mind.
Perhaps the more apt element of the game, and the one referenced in the article by Takeuchi and Nonaka, is the free-form running and then passing of the ball as individual runners are stopped – which might represent the cooperative nature of advancing toward a goal leveraging individual skills. But that part of the game lacks a pithy or evocative name that might lend itself to an idealized software development approach. A possibly better metaphor for Scrum stand-ups in particular might be the football huddle as suggested by Schwaber and Beedle in Agile Software Development with Scrum (2001), although that is problematic as well since that process takes the form of a one-way communication using a fixed vocabulary of pre-defined actions to apply (plays), rather than a structured exchange of status information.
Good metaphors that stand up to examination are a tough nut to crack and will be the topic of future posts. For a counterargument, see as well Seth Goden’s The map is not the territory.