Mark Foden

View Original

I worry about the word 'Agile'

Recently an excellent plain-English style guide was added to the GOV.UK website. I was drawn to the section on the use of buzzwords that says...

“We … lose trust from our users if we write government ‘buzzwords’ and jargon. Often, these words are too general and vague and can lead to misinterpretation or empty, meaningless text.”

In particular the section warns against using words that are metaphors – like ‘drive’, ‘ring-fence’ or ‘one-stop shop’ - and advises: “Always avoid metaphors … get rid of them by breaking the term into what you are actually doing”. Here I have to admit to harbouring an uncomfortable and guilty belief that the word ‘Agile’, as it is used in the context of IT change in government, is one of these words. I hesitate every time I use it.

Here are four possible confusions and some suggestions...

1 - The “Waterfall vs Agile” Confusion

I often hear comparisons of Waterfall and Agile approaches to IT projects. 'Waterfall' and 'Agile' are both metaphoric words. As they are drawn from different contexts, they don't fit together and they are not natural opposites. Which is confusing. We would be much better off using more meaningful terms; perhaps these...

  • ‘Linear’ approach: solving a problem (or taking an opportunity) by analysing a situation, devising a solution and then carrying out a plan to implement the solution. This approach is appropriate for complicated but predictable situations and is similar in meaning to Waterfall.
  • ‘Incremental’ approach: improving a situation by successively taking an action, learning how the action affects the situation and then taking the next action based on that learning. This approach is appropriate for complex, unpredictable situations and is similar in meaning to ‘Agile’. (Incremental does not necessarily mean a slow or gradual change from an existing state to a new one.)

‘Linear’ and ‘Incremental’ fit together better, are more relevant and are quite a bit less confusing than 'Waterfall' and 'Agile'.

2 - The “Agile is not only for software” Confusion

I often hear that ‘agile’ can be applied to more than just software development. I wrote this post after attending a briefing about the Universal Credit programme two years ago…

“I was at the ‘Towards Agile Government’ seminar, part of SPA2011, last night. One of the speakers was emphatic that Agile is not just about software development but a much broader development of entire business capabilities including comms, training, people-change and so on. But, when I hear the term, I think of ‘Agile Software Development’. If I am not alone in this, I wonder if it would help, whilst folks are getting used to the idea, to explicitly refer to it as Agile Business Capability Development (or somesuch). I fear that otherwise ‘Agile’ may be a faller at the first communications fence.”

Also see page 5 of the NAO Agile Delivery report.

Fate has connected the word ‘agile’ strongly with software development. There is hence a risk that projects having nothing to do with IT or software, which should properly be approached incrementally, may well be overlooked and treated linearly. Similarly, Even in the IT world there are many projects that involve very little software development and that might not attract the ‘Agile’ treatment (and the resources that go with it). In government cultures, which have a strong natural bias for linear approaches, we will be worse off for this confusion.

3 - The “Agile is not just a methodology” Confusion

I have heard so many times that "Agile is a mindset not just a methodology" (search Google). It seems to me that if this has to be pointed out so often we really should be using different language.

At the Universal Credit briefing I mentioned in Confusion #2 above, I remember being befuddled. Although the programme was being presented as an ‘Agile’ one it struck me that, because it intended to build a specified capability at a set time several years in the future, it was operating with an essentially linear mindset. ‘Agile’ seemed to be being used to resolve technical complexity rather than to ensure that the desired economic benefits would be achieved. As I understand it, the use of 'Agile' methods has now been dropped and the change is being handled as a traditional phased programme of work. I fear that, as a result, the 'Agile' dog may have consequently – and wrongly – acquired a bad name in some quarters. (If you’ll excuse the metaphor.) I can’t help feeling that in this particular case, there was some hiding behind jargon; it remains to be seen whether an incremental approach would have been more appropriate.

Contrast this with the work of the Government Digital Service to enable digital government. ‘Agile’ methods are being used, but in the context of what appears to be a genuinely incremental mindset. Again, it remains to be seen whether this will achieve the desired simplification of services and reduction of costs but, because of the incremental approach, some benefits have already been achieved and there is good confidence that more will follow.

It’s fine to use incremental methods within a linear approach and even linear methods within an incremental approach, as long as it is done consciously and for the right reasons. Using more meaningful terms will make it easier to communicate what is going on (and harder to be vague).

4 - The “‘Agile’ can also mean agile” Confusion

Dictionary definitions of 'agile' are along the lines of - 'Able to move quickly and easily' - and I often hear it being used in this sense: the MOD use it in the context of military responsiveness; Defra have a programme named ‘Agile’ that is about implementing flexible working; and I have heard of various others. It is easy, for those (of us) living in the IT world where the term ‘Agile’ is used a lot, to forget that some folks use the word quite differently.

Conclusion

If we want to refer to incremental methods for developing products and services we should give ‘Agile’ an upper-case ‘A’ and use it, say, as it is in the Government Service Design Manual. If we want to talk about a change mindset, we would be much better off using a more generic and meaningful term like ‘incremental’. Whatever we do, we should certainly find a way to release the word ‘agile’, without the upper-case ‘A’, to its more traditional adjectival duties.