Agile: Methodology, Process or Framework?

This is a question that often pops up on internet forums as well as real life. Lets start with the dictionary definition of the word:

agile adj

  1. quick in movement; nimble.
  2. mentally quick or acute.

Collins

Hmmm – so its an adjective. I'm not going through the definitions of the other terms in the title (all nouns!) but the following immediately spring to mind - purely based on the dictionary definition.

  1. You cannot adopt or implement agile
  2. You cannot follow agile
  3. You cannot enforce agile
  4. You cannot impose agile
  5. I’ll stop now as this could become a very big list.

So what can you do with agile?

At school we learnt that an adjective is a descriptive word applied to a noun (entity). Logically the only thing you can do with it is to become agile – unless of course you choose not to. Well that was easy, the answer is clearly none of the above.

How does an organisation become agile?

Firstly its important to recognise that true agility can only be acquired at organisational level. Having agile individuals or teams within an organisation does not make the organisation agile.

Too often organisations make the decision to do agile because of the successes of true agile organisations or simply because it is externally imposed. Without the recognition that becoming agile is a cultural shift that affects every aspect of the organisation and the way it does its business this can be a very difficult task – perhaps even impossible. The most common manifestation of this is management that refuses to relinquish the illusion of command and control. Adopt a bottom up approach at your peril – without the full support of management (and this includes their understanding) - an organisation has very little chance of successfully becoming agile. And agility most definitely is not just a development thing!

The number of organisations that miss this is staggering. Have a look on the job boards and see how many organisations require someone to implement or champion agility with the following attributes

  • Must be strong on formal change control mechanisms – isn’t agility about recognising that change is inevitable and managing that as part of your daily life!!
  • Certified <insert formal waterfall methodology> practitioner
  • Must be experienced in enforcement of agile processes
  • Must be strong on governance mechanisms

Of these governance is my favourite. What a beautifully concise way of describing command and control syndrome.

We will move to agile because I command it. However we will not lose control by ensuring that we have appropriate management processes in place and these will be based on what we know and trust.

Please don’t think for one minute that becoming agile means a lack of discipline or a loss of control. In reality it means exactly the opposite – but management must believe in what they are trying to accomplish. So if you are an agile coach, or assisting an organisation with the transition to agility start with the management team – and that includes the CEO. Just because they have expressed a desire to become agile does not mean that they understand agility or subscribe to its ideals. Common drivers for switching include:

  • A desire for greater productivity – in management speak this can translate to how can I reduce headcount or even how can I reduce headcount AND achieve more than we are currently doing?
  • To fix a problem – usually poor quality and / or a poor track record of delivery
  • They have been told to do so
  • An act of desperation – everything else we tried has failed so lets give this a go.

This does not make them bad people or mean that there is no hope. Many of their views and behaviours have come about through years of training and environmental influence, and some of these will need to be unlearnt. You do need to understand what the real drivers for change are and to establish the agility of the management team. Just because they engaged you does not mean that the don’t need help too! And its your job to provide that help.

So how does one become agile

No – I am not going to give you the answer. Many books have been written on the subject and frankly there is no simple recipe that will get you there. As a starting point we need to understand and embrace the agile manifesto (as an organisation):

Manifesto for Agile Software Development

We are uncovering better ways of developing software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan

That is, while there is value in the items on the right, we value the items on the left more.

More info can be found here

Don’t forget the last line – nobody is advocating that we abandon the items on the right!

It is also useful to think about our values. There are 5 widely cited values (borrowed from XP)

  • Communication – this means talking and listening
  • Simplicity – do what is required, no more, no less
  • Feedback – give, receive and act on it
  • Courage – sometimes you have to take risks. You also have to say and face up to those things that nobody wants to hear – or acknowledge.  Your environment needs to foster this
  • Respect – everyone can add value; even if their ideas are different

Here’s an interesting blog on the subject where the author extends these to include trust and transparency.

Which agile is right for our organisation?

Actually I am going to stop now. It’s a blog – not a book! Perhaps a teaser for a future blog…