Has something happened to Agile?
What has happened with Agile? I am wondering if my experience has any resonance with you?
A long time ago I was lucky enough to be part of a team of bright people working in deepest Berkshire for a new venture called Vodafone Multimedia Ltd. We embraced some new(ish) working methods that involved rapid prototyping, extreme programming techniques, locating operations and development and test all in the same room using voice as the primary means of communication and time bounding our development phases. We delivered a lot of new products in a very short period of time (most of them weren’t good business ideas – but that wasn’t our main focus) and some of the techniques we had adopted went on to play a role in the emerging world of “Agile” Software development. I was hooked!
Fast forward about ten years and I am once again at Vodafone working in something called the “Web Factory” and we are Agile, Agile, Agile! We have a backlog funnel process, we have a scrum model that will scale up to 10 parallel scrum teams, we have teams in Egypt and India and UK and we are buzzing.
Senior “management” have decided the company will adopt it and they have hired lots of professional Agile mentors to help us and it is an absolute ball! Of course, the middle “management” budget holders expect everything to adhere to the half-baked cost/feature/revenue targets that have been set for the year and are not engaged and generally not supportive. What is new?
Since then, everywhere I have been engaged is Agile. Some use Scrum, some use Kanban, some CI, Jenkins, the cloud and so on. But they are all Agile. Everybody is Agile.
Except, this is all a complete falsehood – the same people sitting in the same seats reporting to the same structure on the same projects with the same constraints and the same career orientated viewpoints. How is that different or new or Agile? The tools are not Agile, they are tools!
It seems to me that somewhere along the journey the philosophy behind Agile appears to have got a little lost. The model seems to have become a parody of itself and the word (Agile) is banded around in every conversation without a second thought as if it is some panacea for solving all IT delivery problems no matter how it is adopted and implemented.
The most common patterns of adoption I have witnessed involve combinations of the following:
- Predetermined and fixed scope/budget/timescale projects to be implemented using Agile – Scrum – in other words there is a 2 week reporting cycle on progress and everyone gets to stand in a circle once a day and use Jira.
- Cost saving exercises requiring fixed (low) skill resource used in remote (different hemisphere) locations requiring significant logistic effort to be spent on barely adequate communication techniques. What happened to co-located and multi skilled resource to help the team?
- Technical debt not being accepted, appreciated, understood or budgeted. Making a mockery of the “Production release candidate” philosophy.
- The backlog not being managed or assessed in any way shape or form so that it becomes a dumping ground for perverse defects and the whims of various stakeholders – and is 3 or 4 times as big when the project/release finishes than when it started.
- Quality (a bedrock principle of Agile) being considered an optional luxury right up until the first production failure.
- My absolute favourite – when a sprint finishes (runs out of days) with the commit only half done, solve the problem by………extending the sprint!
I could go on, but you get the picture.
So the question I want to pose is this:
Is this just evolution and practical reality taking hold or has something more significant happened? And does it matter?
I will let you think this one through for yourselves and would love to hear your views, my own thoughts are very briefly summarised as follows:
The principles of Agile remain completely sound, the attempt to embed quality at an early stage, to allow people to grow and improve, to promote reuse and minimise waste, to acknowledge that when we start something we don’t always know everything about the task in hand but it is possible to have fun on the way and track your progress are all excellent principles to adopt.
But:
If you only have £1 and 1 month to do the job and you don’t know what the job is at all, the Agile model will not resolve your issues with any more success than other delivery/development models in use. It might just tell you why you are going wrong and help provide data on what to do next if you let it – but that’s the best you can hope for.
And:
If you allow the model to become completely abused during application (and here Agile is no different to any other model) you should not really be surprised when it doesn’t give you what you think you need. Delivery model abuse does not make project/product delivery easier it has quite the opposite effect.
And:
It does matter! Lazy and sloppy model application leads to late delivery and poor delivery. This leads to waste; product failure and job loss. Don’t allow it to continue – it is your responsibility to stand up!
Quality Specialist at SAP
8 年Agile is a great model for teams which already have a bit of understanding of the skills available within the team. It is also great in Product companies as the team already has a bit of an understanding of what needs to be done. ( Don't get me wrong here, but SCRUM teams are ideal when the Backlog is ready, but asking for disaster when the Backlog is constantly updated during the SCRUM sprints). AGILE SCRUM or any Agile methodology does not help if the team/management don't understand it correctly.
Guiding organizations into agility
8 年This is common, and has been common since long ago. People use "agile" as if it was something you do and not something your collaboration can become.Good article.
w43z@
Senior Consultant at OpenCredo
8 年I heard a rather sad story about a government department that outsourced a project that was attempting agile. It wasn't agile, of course, it was just a few 'agile' tweaks here and there - they, amongst other things, practiced their standups in advance in order to impress bigwigs that were visiting. It all fell apart, of course, and was a very expensive catastrophe - but when the outsourcers were asked to justify what went wrong, they blamed agile. Ah, yes.. not the fact that they hired bad people, mismanaged the project.. et cetera. Because when you blame an abstract, unfamiliar framework, nobody actually has to take any of the blame. DevOps is facing all the same problems. It's great when you actually do it. But a lot of people are slapping different tags on sysadmins and assuming that's all it is. And they'll have something to blame when it all goes wrong.
Senior Pro | Enterprise Content Management (ECM) & Information Management (EIM) | Records Management (RM)
8 年I've found Agile to be great for minor initiative, localized solution delivery to tactical scale business problems. However, I've also found it 100% ineffective for strategic-scale business change delivery impacting multiple business units with potentially competing interests and/or agendas between each other.