Friday, November 26, 2010

Scrum is not Agile Enough

During my career, I had done my share of hacks in waterfall projects to maintain the initial monster design done by an architect who only had 10% of needed information. Needless to say, the first reason for me to fall in love with agile, is to do things ‘later’ when it is absolutely necessary.

For some time I have been a part of Scrum team and enjoyed doing things when it matters. For me Scrum has solved the problems of ‘big design upfront (BDUF)’ and ‘big requirement upfront’.

Still something was troubling me for quite a sometime. I knew I wasn't really happy about everything, but it took a while to realize what. As now I know, it was the way Scrum do 'planning' made my agile senses uncomfortable. When everything else is done late, why Scrum requires planning to be upfront in a sprint?

Common progress tracking in Scrum is through the burn-down chart, and tasks with ETC (estimated time to complete) are made at a upfront planning meeting. It is these ETCs that are burnt throughout the sprint to form the burn-down chart.

But for someone to create tasks and accurate ETCs at upfront planning, he needs considerable technical knowledge on the story work. This often results planning meeting ending up being a design meeting. Doing design at planning is going back to legacy BDUF.

Other alternative is to ‘only’ create design related tasks at planning. Rest of the tasks are then created by the developers doing the design within the sprint. This looks the way with agile, but then burn-down chart is to suffer. 
You ends up with a saw tooth chart (as above) which effectively remain flat until the last few days of the sprint.

I do not take any glare off the Scrum. No doubt, Scrum (the widespread agile) had taken the industry to a new field. Just that it is not good enough. When it comes to choice, I go for agile over Scrum!
[tag: 99xp ]