Why Does Agile Work?
We don’t know why Agile works.
Oh, there’s a whole bunch of theories, beliefs, assumptions and what have you. But no definitive evidence as to the key ingredients, and how to combine them. Like a Christmas Pudding, which ingredients do we need for a good pudding? Which can we safely leave out? Which ingredients simply add to the flavour or texture, and which constitute the essence of a Christmas Pudding? How does the mixing and cooking affect the result? How should it be brought to the table and presented? What ingredients does a software development team or organisation need to be effective, whilst still calling what they do “Agile”?
And most importantly of all, can we have a nice dessert without having a Christmas Pudding? Would Plum Duff or Mince Pies serve us just as well?
It seems like a lot of folks – including consultants, coaches, etc., seem unconcerned over this. “Given that the developers are happier, I don’t need to know any more” seems to be the general position of some. I gasp in astonishment at this. Maybe it’s just me. I was always taking things apart to find out how they worked when I was a child (but see the section “Complexity”, below). And I subscribe to William Kingdon Clifford’s arguments about the ethics of belief, too.
Let’s set aside the issue of why Agile doesn’t work, for another time (more Agile adoptions fail to deliver the expected benefits than succeed, by a ratio of at least 3 to 1).
Instead, let me make the case for why knowing matters:
Why We Need to Know
“He who loves practice without theory is like the sailor who boards ship without a rudder and compass and never knows where he may cast.”
~ Leonardo da Vinci
If we have no understanding of why our practice(s) work, we are like Leonardo’s sailor, rudderless and at the mercy of fickle fortune. With even a modicum of theory, however, we can at least begin to make choices about where we’re going. Actually, the thought occurs to me that maybe some Agile consultants and the like don’t worry because they have no destination (future state) in mind. Maybe, for them, just being “at sea in the Agile boat” is all they need. Especially if there’s wonga in it. Sounds like being “all at sea” to me.
And maybe some know the waters in which they sail, and the regular tides and the winds, well enough to arrive where they intend. All very well for the knowledgable, in familiar waters.
Do you need to know?
Of course, a development team or organisation is a social system, not a machine. So we’re in the realm of complexity, and complex adaptive systems. This means that we can’t simply take the system apart, to examine how it works by considering its individual constituents. That would be Analytic thinking, in any case.
So I don’t propose it’s easy to understand why Agile works (when it works, if it works), or even that it’s possible, in any absolute, mechanistic, definitive sense. Nor do I claim to understand it myself.
But I do claim to understand some of the attractors and barriers involved, and so, some of the ingredients of our Christmas dessert. And in my experience, there’s only a limited overlap between those and the ingredients of the Agile Christmas Pudding.
We all know the proof of the pudding is in the eating, but what proficient chef would not want to know the likely ingredients involved?