Today we are going to aboard a heavy Agile Myth:
when to leave Scrum behind and try something else.
This is a Strong Taboo in the Agile community, and if you open the topic in a conference, many people will question your Agility. They will looks you like a crazy man...
From the creators of
"Everybody do Scrum, and don't know why..."
...today we bring you:
"The limits of Scrum"
Everybody that has seriously studied the Scrum framework should know the "Cynefin matrix". No? let's review it:
This matrix explains the difference between environments or contexts:Complex, Complicated, Chaotic, Disorder and Obvious.
In base, Scrum is recommended for "Complex" problems solution. For the other 5 situations, Scrum is NOT suitable. Specially for Chaotic and Disorder contexts.
Good news: in software development we are mostly in front of a Complex challenge.
But the complexity exceed the product. The teams are complex. The management is complex. The market is complex. Everything is fuck$%& complex!
This is the point where the Management can make more damage, than help.
Management can destroy everything just with a sneeze. They can destroy the team's self-organization, the Product Owner autonomy, the Scrum Master change work....
Scrum depends on the context, the environment. You may not know how much.
Let's think about it. Imagine you are building a simple sand castle on the beach.
On which context factors you depends to be successful?
- That people will not kick your castle "accidentally"
- The see waves will not come close to the castle and destroy it
- The Weather will be friendly (no wind, no rain)
In Scrum is more or less the same.
If the people on the context don't help,
you will have a lot of frustration.
Leadership must support and respect the Product Owner decisions. Also Team decisions. Customers and End Users should adapt to the new collaboration strategy.
The "context" must allow the team to self-organize.
This is the context where you will find impossible to run a "good enough Scrum": the Chaotic one.
Many people believe strongly that they are doing good Scrum. Then you visit the teams, and see a Scrum Master secretary as "calendar manager", a Product Owner as "delivery boy" that will bring the pizza you order, and a Team (platoon) specially selected to obey and serve...
In this context you may find a User Story like this:
"as Product Owner I want..."
What we need to run a minimal Scrum?
In my understanding, (some of) the minimal conditions that every team needs, to be able, in order to implement Scrum are:
- Stable team structure
- Unmodifiable sprints
- Participative StakeHolders
- (Independent + autonomous + dedicated) Product Owner (when possible with diplomatic immunity, and bullet proof vest)
- a temporary Coach with ownership in "practices" and framework governance
- a Product Owner worried about the Product, the Market and the End Users
- a Coach that do Coaching
- a Team that cares about Product
- direct contact with Market and End Users
Which alternative do we have when we cannot reach Scrum discipline?
The answer is simple: Kanban + Lean.
You can keep building a new sand castle after every wave that moves, but it is frustrating.
Kanban+Lean allows you to deal with the Chaos around you, without need to modify nothing. And later from this start point, search improvements.
...to be continued...