The OpenXprocess blog is primarily about software projects and how to improve them. As well as musings on agile processes, software engineering in general, and methods like Scrum and Kanban, there's advice here too for users of process planning, execution and improvement tools - and the metrics they can provide.

Wednesday, June 26, 2013

There are no flavours of Scrum

Here's a great posting from Jem D'jelal on the trials and tribulations of a London Scrum Master "Since When Did Ben & Jerry's Create Scrum?" I smiled throughout and recognised some of the frustrating situations that I also hit as a Scrum Master. However I realised Jem was also eloquently expounding some of my uneasiness with Scrum. Here's the stand-out section for me:

Whoever you are, please read and repeat the following mantra after me:

There are no flavours of Scrum.

There is no chocolate flavoured Scrum.

There is no Caramel chew chew flavour of Scrum.

Scrum is not an ice cream.

It does not come in bloody flavours.

If you want to pick an Agile framework, methodology, technique, or approach which comes in different flavours, go for one which is less prescriptive than Scrum. That is completely fine. Kanban for one example (There are only 2 principles, it leaves almost everything open. The only rules are you need to visualize your workflow and limit your WIP).

But Scrum does have rules... if you do not follow these 9 rules then you are not doing a different ‘flavour’ of Scrum – you are simply NOT doing Scrum.

But doesn't this make you uneasy Jem? Don’t you worry (like me) that as agilists we want to embrace change while at the same time saying these particular practices are eternal? Many changes from a good method like Scrum are bad (measured say by a reduction in the flow of value in this context). But does that imply every conceivable change, even from a process that is working exceptionally well, will always be bad?

Since none of the principles of Kanban (whether there are 2, 3 or 4) mention WIP or visualisation shouldn't we take a look at the principle that is relevant here, and the one that makes me comfortable to be a Scrum Master using Scrum with all its rules intact (except the one about the rules being immutable).

The principle is “agree to pursue evolutionary change”. This implies you’ll try some changes that don’t work and don’t get amplified. But also if some changes work, you’ll amplify them even if they break the previous policy you were applying.

We use this in the Retrospective (which incidentally we still do every Sprint) to encourage each other to find small changes - for example to the Definition of Done (DoD) - that might improve the situation we're in. For instance if there are too many bugs coming back at us from the Release process or the field, we ask whether a tighter DoD might help. If the change works we keep it and tell other people about it (select, amplify). If we can't tell whether it's better, we'll probably keep it (diversity in the ecosystem). If it makes things worse we regress (deselect). In other words we're using an evolutionary change mechanism.

Our Scrum team limits work in progress by not putting too much into the Sprint Backlog and by focusing on finishing stories we've started rather than starting new ones. And we visualise most of our work using a Scrum board and burndown charts. Why should anyone tell me I am not using both Scrum and Kanban just because there's one Scrum rule that I refuse to accept in my context... that the rules are immutable?

Now our use of Kanban is not very deep at this point and there are several practices where we're certainly deficient. (Not following all the Kanban practices doesn't mean we are not doing Kanban by the way, which is a key difference from Scrum). Take Kanban practice number 3:"Manage Flow". We've begun to gather metrics on elapsed time for stories from entering In Progress to Done (Development Lead Time), but we haven't gone wider yet in the value flow, nor used this to ensure smoother and more flow-efficient ways all the way from "bright idea" to released, which is our ambition. There should be some good improvements we can get here in the future.

I admit after some period of time of changing our process, you may tell me Jem that I'm not even using a flavour of Scrum, it's just not Scrum. Probably at that point I won't mind too much (unless of course you were to interview me and not give me a job as a result!).