Thursday 16 May 2013

Agile, ideal or ideology?


The word ideology has a string of negative connotations. It’s used to describe nightmare government regimes, disastrous processes and blind loyalty. When I first thought about writing this article I wanted to describe Agile as an ideology, but swiftly realised that would worked against what I was trying to communicate. So, I’m turning to the word ‘ideal’. The Oxford English dictionary defines it thus,

adjective
  • satisfying one’s conception of what is perfect; most suitable:the swimming pool is ideal for a quick dip, this is an ideal opportunity to save money
  • [attributive] existing only in the imagination; desirable or perfect but not likely to become a reality:in an ideal world, we might have made a different decision
  • representing an abstract or hypothetical optimum:mathematical modelling can determine theoretically ideal conditions

noun
  • a person or thing regarded as perfect:you’re my ideal of how a man should be
  • a standard or principle to be aimed at:tolerance and freedom, the liberal ideals

Which sounds like a good thing. Agile is an ideal. It is not a process, and just following Agile methodologies will not be satisfactory to those that think of Agile as an ideal. Many of the Agile ceremonies are easy. It’s easy to run 15 minute daily stand-ups and it’s easy to have a retrospective every two weeks and pick apart the low level details of the completed sprint, but neither of those things are going to make a team Agile. The tragic beauty of Agile is that even doing just those things will improve most software teams performance, and will convince managers and other stakeholders that they are a successful Agile organisation. They probably aren’t but they have benefited from it already. The issue is that the steps they have to make to become Agile are hidden to them, they don’t know they haven’t reached it. It's fearful for them too, as it relinquishes micro-management for unproven quality gains. The problem comes when the Scrum team starts ‘grokking’ Agile, while their managers see it as best another process and at worst just another fad. It’s understandably tough for the management stratas who are above the day to day to understand that Agile is an ideal, as they aren’t seeing it every day, and I suspect Agile courses rarely effectively teach that side of it. However once the box is opened for developers they'll want in, they want to embrace Agile and they’ll move further away from the managements worldview, causing friction and probably leading to dissatisfaction.  

It means those dev managers who see Agile as an ideal have to go to their CEO and say ‘this is what we are striving for, you’re going to need to understand it and we’ll have to find you an inspired Agile trainer to make that happen.’ That takes bravery.

‘Agile’ Bob Hartman, who trained me and my teams in Agile effectively said ‘the harder the project, the more you must strive to be Agile in it’s execution’ and it was great advice. My advice is, if you are thinking of moving to Agile, and you’re a small or mid-sized company, you’ll need to train everyone who sits in the tree above the developers too, or expect the developers to seek greener pastures where Agile is seen as an ideal and not just a word.