December 7, 2007

...Learn TDD with Codemanship

Want To Scale Up Agile? Learn To Let Go.

I keep hearing debates flaring up around and about the countryside on the topic of whether or not Agile values and practices scale up.

Well, I don't get it. I really don't.

With my limited understanding of what it means to be "Agile" - iterative & adaptive (i.e., evolutionary) problem solving, self-organising teams, emergent designs and so on - it rather strikes me that if what you're doing doesn't scale up then it probably isn't Agile.

What makes me think that? Well, wherever I see these strategies being applied successfully in nature, they are being applied at the macro level. These are strategies for solving very complex problems, and I'm afraid I just don't buy into the notion that 20 Scrum teams is a fundamentally different problem - on a fundamentally different scale - to 1 Scrum team. They're both in the same very rough complexity ballpark.

Frankly, I think it's the lack of Agile-ness (or should that be "Agilicity"?) in methods like Scrum and XP that create this glass ceiling. I think these methods err too far towards some level of prescription, command and control and plan-driven problem solving.

But whenever I read papers on "Scaling up Agile", there's always the underlying assumption that what's required is more governance, more control. Poppycock! If you want to really scale up Agile methods, then I reckon you have to let go almost completely.

Any takers?
Posted 12 years, 11 months ago on December 7, 2007