Friday, August 23, 2019

The relationship between Agile and Scrum

A lot of people's first brush with Agile is during Scrum training.  There is usually some mention of the Agile Manifesto and its 12 Principles, maybe even 10 or 20 minutes spent comparing these to the scrum principles and behaviors. 

For a lot of these people, it's the first time they have ever read, seen, or heard of the agile manifesto.

If we are really lucky, they might even have heard of the Modern Agile principles. That's pretty cool when it happens.  

But they heard them in the context of Scrum, so they assume that these are supporting documents and of course when they're told "Scrum is Agile" they misunderstand.

The instructor probably meant to say "Scrum done right is fully compliant with Agile Principles and is a fully agile framework" (which I'm not arguing here). 

Unfortunately, most people hear that as the identity function "Agile is another word meaning Scrum. Scrum IS Agile. Agile IS scrum. They mean exactly the same thing." 

They don't recognize that the relationship is between a set (Agile) and a member of that set (Scrum).

I've tried several times to help make this clear and with mixed results. Here is a Venn diagram I made a long time ago:


Sadly, the point was missed. It's easy for people in the scrum world to become defensive because Scrum spent a decade or two being the most maligned agile framework on the planet. Almost all of the "bad agile" in the world was a bad implementation of Scrum. It has been more compromised and twisted and turned against people than any other framework until SAFe emerged. 

The distraction for Scrum defenders here is that I let the Scrum bubble lap outside the agile bubble.
That was very upsetting for some of my friends in the community. I still feel that there are ways to do scrum without having a very agile mentality, but that was not the purpose of the diagram.

That little bit of a bubble was the flaw in the example that destroyed the primary lesson being taught. It's one of the problems with using an abstract model of a real-world ontology; you risk losing people in the example.

I'm a little wiser, though I just republished that one as a counterexample.

I later wrote in some forums that "Scrum != Agile" and that was even worse. It was universally read as "Scrum is anti agile" instead of being seen as intended, that the word "Scrum" is not equivalent to the word "Agile". 

I later had a bit more success by reversing the nouns. When I say "Agile != Scrum" it's easier to see that I mean that Agile has something more/different to it than Scrum.  But of course, Scrum is the most maligned framework currently so there were defensive reactions.

"You're saying that scrum is not an agile framework!!!"
"No, I'm saying that it is not the only agile framework. There is more to agile than Scrum."
"But you singled out Scrum! You are anti-Scrum!"
"I singled it out because it's the only framework that people confuse with being all of Agile."

On it goes.

I don't blame them. It sucks being everyone's whipping boy.

So here's my most recent attempt:

Agile isn't a word that means Scrum.  Scrum is a member of the set of Agile things, as are many others.

I listed XP and FDD just because I needed a couple to kick-start the list not because they're "special" though XP is very special to me.

We'll see if this helps.

No comments:

Post a Comment