niedziela, 28 października 2012

Agile vs Scrum

I can see lots of misunderstanding around naming in Agile world. Words Agile/Scrum/Kanban are used interchangeably - which, let's admit, is not a huge problem as usually from the discussion's context we can tell what the person we talk to has in mind.

Nevertheless when a speaker during a conference is using "Agile" and "Scrum" as if it meant exactly the same... well, something is wrong.

To me the distinction is as clear as a distinction between an Interface and a Class implementing the interface. Agile is an Idea, simply (hence beautifully) described in Agile manifesto. I couldn't argue with someone saying that it is a vague idea, that Agile manifesto does not tell you how "to do Agile" - that is true it doesn't. It is exactly the same with an interface not telling you the details of an implementation.

Scrum on the other hand is a very concrete implementation of Agile. It has its rules and roles. It tells exactly what steps should be taken in order to "be Agile". Nevertheless there is a danger with Scrum being so concrete, especially when we put "=" between Scrum and Agile. We can focus so much on a particular set of steps that we loose the real goal from our sight.

Tourist's digression

Yet another analogy came to my mind. I've lately read "Touching the Void" by Joe Simpson so maybe that's why it is a mountain analogy.

Agile is the goal of reaching the highest summit. The thing with such goal is that when you rich the highest peak you can see in a particular moment in your life, then you see another higher peak on the horizon, so you need to go and reach the higher one, and when you're there... story repeats.

We are all aware of the fact that Idea itself will not tell us how we should prepare for a trip, what tools we need, what are the dangers up there waiting for us.

Here comes the Scrum, it gives us a set of tools and rules how to use them. Knowing Scrum enables us to begin our exciting trip towards Agile but at the same time it does not tell anything about the goal or which path we should take to reach the summit easily and without frostbites (to be honest IMHO there is no such way). Scrum is a way to become Agile (one of many by the way), but knowing/applying all the rules does not automatically make us Agile.