I should start by saying that I am a big fan of Scrum. The people who devised the framework possessed an agile mindset but were also mindful of human nature. They created a framework that had built-in checks and balances and solutions to many of the most common problems. They also had an understanding of system-level thinking.
The core of the system, though, is the three key roles: ScrumMaster, product owner, and the development team. This triad is what makes Scrum so successful—when it works. However, in my opinion, it is the absence of these three roles that is the root cause of the majority of unsuccessful adoptions.
3 Reasons Scrum Fails
Scrum assigns named roles because this gives the best chance of having those mindsets on the team. But, sadly, it doesn’t guarantee them. Based on my observations, the three main reasons Scrum fails are due to each role failing to adopt its key mindset.
1. There are far too many ScrumMasters who understand the rules but lack an agile mindset. This can lead to creating cargo cults where teams follow the rules without adopting the principles of Scrum. Those teams will never understand why they follow the guidelines, so they won’t be able to improve. In these environments Scrum is used to control development rather than enable it.
2. Product owners who lack a customer mindset build what they want and not necessarily what the customer wants, or blindly deliver what is asked for without understanding why it is needed, or, worst of all, do not regularly review the evolving product, missing opportunities to react to the customer’s emerging needs and impressions. The result is a product that misses the mark.
3. There are many development teams that lack a production mindset and will over-architect, over-engineer, or merely pay lip service to quality, maintenance, or even design, all of which decrease the chances for team success. This will likely manifest itself in the team doing unnecessary or unimportant work to simply keep busy. Developers miss opportunities for delivering the right solution because they are busying themselves with work that has little value to the customer.
The Mindsets Are Essential
However, I don’t think it is the role that defines this triad, but the perceived mindset behind the role. Having a team that possesses a strong member with an agile mindset, along with the knowledge and skills to support it and the opportunity to focus on applying it, helps the team focus on continuous improvement and developing agile practices. This is the purpose behind having a named ScrumMaster. The role supports the need for focus and explicitly seeks out someone with an agile mindset as a primary skill. It is a conscious decision to explicitly place that mindset on a team.
It’s also crucial to have a strong team member with a customer mindset, who has a desire to engage regularly with the customer and ensure the customer gets what he really needs. This is the purpose of a product owner, and again, the named role allows the person in that role to focus and removes any conflict of interest that might otherwise occur. This provides the time and space to do the job well.
And finally, there must be a cross-functional development team with a strong production mindset toward delivering a well-designed, high-quality, and maintainable product that is right for the customer. To do this you must understand lean and systems thinking, and not simply keep busy writing code. Understanding the value of the work is far more important than maximizing utilization.
It is all three mindsets together that achieve the goal. If any one mindset is lacking, the whole team will suffer.