The Mozaic Works coaches have many conversations with people who have burning questions about Scrum, either in community or during trainings. We’ve decided to start answering the most common ones in a series of “Burning Questions” blog posts.
So here’s another burning question. This time it’s about managing Scrum:
How Do We Make Sure All Our Teams Follow The Same Scrum Process?
Short answer: if it’s the same process, it’s not agile anymore.
Long answer: The classic management thinking relies on simplifying the complexity of work through hierarchy and consistency. Coming from this background leads to interpreting agile like this:
- split people into teams
- split the projects in user stories
- assign user stories to teams
- make sure all teams work in a consistent manner
The need for consistency is natural because consistency leads to a better understanding of how the company works. However, consistency leads to under-performance in knowledge work. Here’s why.
Looking from far ahead, all Scrum teams seem to do the same things. They get a backlog, they follow certain technical practices, they produce working software increments. This is, however, a simplified view of a complex system: the team.
Jeff Sutherland, the co-creator of Scrum, often tells the story of how he realized the need for self-organizing teams. He was helping a company called iRobot that was trying to build a multi-legged robot. One of their prototypes used a central processing unit that will make all the necessary decisions. This didn’t work because the central unit was overloaded with data. They then decided to use smaller processing units in various places in the robot. Each unit would make a decision, measure the effects and then compensate very quickly whenever needed. Surprisingly, this worked much better. This type of system is called a “Complex Adaptive System“.
A Scrum team should be one such processing, decision and executing unit, a Complex Adaptive System. The idea is that the manager doesn’t know what each of the team members does, or what each of the teams does; the team is free enough to get feedback and adapt quickly to the rest of the environment. This means that each team needs to find and use its own process to get the best performance.
We began to do a lot of research, and that led us into Japanese manufacturing. We knew how they were operating, so we had some basic ground level ideas on how to work, but I told the team, it’s not going to be enough to do what we’ve been doing. We need to look at what the best teams in the world are doing, and then adopt their practices. We started by looking at 30 years of IBM systems journals. IBM thought the ‘Surgical Team’ was the best way to build software: one brilliant individual cuts every line of code and is surrounded by helpers; language experts, tool experts, documentation people and so forth. But we looked at our biggest customers like Ford Motor Company, who had a thousand IT workers using our tooling, and we didn’t think they had any surgeons, so we couldn’t implement that.
So we kept looking. I had helped iRobot as a startup in their very early days and I learned about how they made these intelligent multi-legged robots work, and how they cause the robot to exhibit goal seeking behavior, and understand how that was based on complex adaptive systems theory. So I thought that whatever we did needed to be based on inspecting and adapting in a complex systems way.”
– Jeff Sutherland, co-creator of Scrum. Full article here: http://www.mendix.com/blog/scrum-cocreator-jeff-sutherland-on-innovating-with-scrum/
Why it’s hard to understand: First, it’s not intuitive. Second, it requires managers to change their mindsets. Managers should no longer care about how each person does his or her job or how the teams are organized. Instead, managers need to focus on understanding the complex system and steering it through experiments, feedback, and constraints. The book “Management 3.0” by Jurgen Appelo is a necessary read if you find yourself lost in this new environment.