I recently attended a Tony Robbins Business Mastery course where he shares one of his most famous quotes: “complexity is the enemy of execution”. I always find this quote challenging. After all, when I learned about Scrum from Ken Schwaber, his company was called “Control Chaos”! In the two most recent versions of the Scrum Guide at the time I’m writing this, we read that Scrum is a framework for dealing with complexity or complex problems. Wow! If that’s true, what are we to make of Mr. Robbins‘ quote? Is complexity _really_ the enemy of execution? Or can we use a framework like Scrum to actually execute effectively _despite_ complexity?
Me and Complexity
Mr. Robbins‘ quote is challenging to me because I enjoy complexity. I started out as a software developer working on complex code in complex businesses. My hobbies often have an element of complexity to them. I love building custom Lego models without any plans or instructions and I love learning advanced mathematics such as abstract algebra and analysis. And, I’ve always liked exploring, newness, uncertainty, and change. I don‘t just enjoy complexity, I thrive in complexity!
But, admittedly, through much of my life, I’ve struggled with execution. So, despite my enjoyment of complexity, was Mr. Robbins right?
Execution, or Poor Execution?
Is, in fact, complexity the enemy of execution? I don’t believe it is; I believe that complexity is the enemy of _bad_ execution. Complexity is the enemy of _ineffective_ execution. In fact, I would go so far as to say that complexity is the enemy of _any_ kind of poor execution and management, whether it is poor software execution, poor team execution, poor sales execution, poor organizational execution, or poor individual execution.
So what are we to do? How do we handle complexity so that it doesn’t become the enemy of execution? How do we avoid complexity becoming the enemy of _good_ execution?
Let’s turn our attention to Scrum.
Scrum and Complexity
Scrum is a framework for developing and sustaining complex products. It is an iterative and incremental approach to product development that emphasizes collaboration, customer feedback, and continuous improvement. Iterative and incremental development is an approach to product development in which products are developed in small increments, with each increment adding new functionality. This approach allows for rapid and frequent customer feedback and many opportunities for teams and organizations to do continuous improvement. Scrum is not a silver bullet or a panacea, but it can be very effective in dealing with complexity.
By using Scrum, we can focus on the most important aspects of our work and make progress even in the face of uncertainty. We examine any complex problem and find a small part of it that we can focus on and work on for a short period of time (a day, a Sprint, or a release). We constantly re–prioritize the work we are doing based on the solutions to our previous small problems and the feedback and continuous improvements we make.
With Scrum, we work with a small team of multi–talented and “cross–functional“ people who can apply their skills and talents to many facets of the complex problem. We keep the team small so that we can easily collaborate and so that we can collectively understand the complexity of the problem. Instead of working in a formalized role with clearly defined responsibilities, every team member works to contribute creatively to any part of the problem that the team is facing, regardless of previous experience, skill or talent.
The authors of the Scrum Guide clearly believe that complexity is not the enemy of execution.
Scrum in Practice
Personally, I‘ve seen Scrum work extremely well to help execute work in complex environments.
For example, in 2006/7 at Siemens, over 40 people used Scrum to successfully develop a new version of a major call centre product in just two years rather than the estimated four. I had the honour of training and coaching the teams at Seimens. One of the Scrum Masters I trained, Paul Henman, went on to become a well–known and greatly respected Agile coach.
More recently, a department of the Ontario Government, the Land and Resources Cluster, used Scrum to dramatically reverse course: the department was widely disliked by other departments and within a few months was nominated for an award for best team! They were working on extremely complex software systems and had been plagued by delays, quality problems and other challenges related to complexity. Scrum helped them control the chaos.
I have also seen Scrum help organizations and teams to effectively execute in other complex environments. Financial services. Healthcare. Pharmaceuticals. Telecom.
Complexity is the Enemy of Execution… Not!
So, is complexity the enemy of execution? No, I don‘t believe it is. Complexity can be the enemy of bad execution. But Scrum and other frameworks can help us to effectively execute in complex environments by helping us to focus on the most important aspects of our work and make progress even in the face of uncertainty.
In conclusion, I believe that Mr. Robbins‘ quote is challenging but ultimately incorrect. It’s a warning: use the right execution framework if you’re facing complexity. Complexity is not the enemy of execution if we use a framework like Scrum to deal with it effectively.