I think that agility in an approach to software development is great. It can help deliver fantastic solutions which are pragmatic and add value, whilst involving people deeply in the process; something I enjoy and that is close to the core values of Waterstons. I have read many books on the subject, I am holder of the amusingly named Certified Scrum Master qualification and have spoken to and trained people in applying an agile approach to projects. In short I am passionate about the benefits, and tell people about them. It used to be that my biggest problem was getting people to understand those benefits, whilst fighting the dreaded 'wagile' and other hybrids (mixing traditional waterfall approaches with pseudo agile practices). However I have recently noticed a more insidious enemy; Agile™.
Know thy enemy
One of the original writers of the Agile Manifesto, Dave Thomas, wrote last year about the death of agile and of reminding people of the core principles of being agile. For those unfamiliar, the manifesto is a quick read on an admittedly ugly website, which captures the essence of an agile approach. Whilst I am not quite ready to consign the word to an early grave, he touched on a truth; 'Agile' has reached buzzword status and is being horribly misused. Companies up and down the land brand things as 'Agile', with all manner of tools and processes to help people 'do' agile. Do you want an ‘Agile Workflow Methodology Product to deliver Enterprise Scalability?’
Experienced candidates I interview now without fail claim knowledge of 'Agile tools and techniques', which often seems to translate into knowledge of a product rather than being familiar with a culture where agility is encouraged. This is what I mean by Agile™. It completely misses the point, the spirit of being agile in delivery of projects.
Whilst lots of things can make being agile easier for an organisation (tools and frameworks have their place) at the core agile as a concept is quite simple. You can start today by embracing a few straight forward ideas:
- Work iteratively and collaboratively to deliver solutions which add value
- Constantly reflect on what you have done and challenge assumptions about the best thing to do and how to do it
- Through these things improve and learn, staying flexible for future changes in direction
That's how I think of it, though you will find similar sentiment stated in many ways by other agile veterans. Apply these principles and you will make more progress than any tool can provide. In fact, go back to that agile manifesto and read it through – when you are ready to begin your first agile project, keep these in mind and you will see greater rewards than any piece of software or complex methodology can give you.