Why Does Agile Cause So Many Arguments?
Prefer to watch this as a video? Click here.
After a talk I gave the other day, someone came up to me and said something that really struck a chord with me. They said they really enjoyed my talk about agile, as it was one of the first times they’d heard it explained as something simple, something they could understand, and something that it wasn’t wrong to be unclear about.
I’ve dedicated the last two years to studying agile both professionally and academically, and this conversation made me realise that I’d forgotten the original reason I started this study in the first place. In short, my first experiences with agile were horrible. No matter how much as I tried to learn about it and make use of it, no matter how much I tried to listen to people’s feedback and change my approach, I always had someone in the team telling me I didn’t understand agile, that I was doing it wrong. Not only this, but they often did so in really personal and aggressive ways. The image of one particular developer turning increasingly red in the face behind his milk bottle glasses as he shouted at me about how I was DOING AGILE WRONG will be burned into my mind for many years to come.
Honestly, it’s no wonder people get put off agile, or think it’s a really difficult thing to understand, something best left to software developers. Thankfully, rather than be put off, I decided to learn as much as I could about it, to see what I had been doing wrong time and again.
The interesting thing was, I hadn’t been going that wrong at all. The more I learned about agile, the more I became certain that whilst I’d made some errors for sure, I had basically been getting most of it right. So I then became interested in what I think is a much more important question.
If agile is so easy, and if anyone is capable of understanding it, why were people being so aggressively vehement that I was getting it hugely wrong?
Thankfully, I learned through my reading was that I wasn’t alone in experiencing this. There’s a great quote in a great article by a chap called
Kruchten explains this by borrowing a concept from Richard Dawkins, and suggests that agile is a meme, an idea that spreads like a virus from mind to mind, creating a culture around it as it does so. There are a few important consequences of this. First, if agile is a culture, it necessarily has people who are part of that culture, and people who are not. I suspect this is one big cause of arguments, that the arguments aren’t actually about agile at all, but about a sense of belonging. if you don’t like someone in the workplace, or they threaten the way you see the world, then you might become aggressive as a form of defence. Rather than be aggressive towards them as a person, which would be unprofessional, you use agile as the thing to attack them over. I once had an amusing example of this from one developer who in the middle of criticising me over missing a Scrum stand up meeting, suddenly accused me of being a conservative. I’m not, but it turned out this chap was a committed socialist, and didn’t like the way i prioritised profit to the business over the wider social good the software was creating in my role as Scrum Product Owner.
On top of this, Dawkins was of course was talking about memes in the context of his atheism, and so looked at how memes turn into faiths, which people believe in with huge fervour, believing that there is one true way, and attacking those that don’t share the same faith. If you think of how nuanced religious arguments sometimes get, with violent wars being fought over what seem like very minor differences between very similar religions, you can see another reason why agile being a faith leads to such vehement arguments.
Ironically, a faith is often made all the stronger by lack of concrete proof that the one true way is actually true, and if there’s one thing agile does not have, even cannot have, it’s concrete proof. For all that there’s the agile manifesto, the Scrum Guide and many other things setting out how to be agile, there are two fundamental problems with claiming that there is one true agile way. The first is that agile prioritises ‘working software over comprehensive documentation’, so very often detailed written guides to how it works are just not present. Often it is passed down through experience and word of mouth, meaning each of us will hold a slightly different understanding of what it means. Second, one of the reasons agile is so great is that it can be shaped and adapted to fit different contexts. However, unless we remain constantly conscious of this, we may try to apply a version of agile that worked well in one context directly into another, and then get angry at the people in the new context who want to do things differently to how we saw them done before. Above all else though, agile is an evolutionary approach that allows organisations to adapt to complex, fast paced and uncertain environments. As such, it must thus be able to adapt and evolve itself. An agile practitioner that tries to hold true to the one true way that was developed in the past is like a pope insisting that contraception is always morally wrong, even in the face of a new global epidemic such as HIV. As times change, and new facts emerge, our approach needs to be able to change as well.
Finally, I suspect there’s one other reason why agile causes such arguments. I think it’s hard to overestimate just how much we’re brought up to believe in the right way to do things in the world of work. When you start a project, you must set out a detailed project plan, and agree what you’re going to deliver, when you’re going to deliver it and how much it’s going to cost. Now agile can have these things, but they’re not the holy documents, carved in stone and sinful to ignore like they are in more traditional project thinking. So when you take people used to fixed timescales, costs and deliverables and tell them they’re deprioritising these things they previously thought were so essential, they’re going to feel nervous, even scared. If people are trying to adopt agile but are used to the idea of certainty, then they’re going to look for their certainty fix from somewhere else, and that somewhere else ends up being the concept of agile itself. They’re used to project management approaches being set in stone, with some things being right and others being wrong, so they try to do the same with agile, arguing that there is a right way to do agile and a wrong way. In short, are we arguing with each other about agile as a way of seeking the comfort and security that agile seems to remove?
So put these things together and what have you got? On the one hand, agile is an amorphous, indistinct thing, a culture more than a science, and one that is constantly open to evolution and change. On the other hand, it being a culture creates a ‘them and us’ situation, one that can be used as a proxy for attacking people you don’t like for any number of other less professional reasons. It can also become something of a faith, an idea people develop a semi religious fervour around, making them want to attack and destroy the ‘unbelievers’, no matter how small the differences between them. On top of this. the uncertainty and lack of empirical truth around agile can make people feel scared and uncertain, causing them to argue in an attempt to create a comforting illusion of uncertainty.
What can you do about this though? Well first, don’t let these people put you off. Anyone who claims that you’re ‘doing agile wrong’ is demonstrating that they themselves don’t understand agile very well, especially not the way in which it is so evolutionary and context dependent. If someone tells you ‘the way we’ve discovered this part of agile works for us round here is…’, then fine. It doesn’t mean they’re right, you may be able to suggest an even better way of doing it, but at least they’re demonstrating an awareness of how agile is context dependent, and very likely they’ll also then be open to discussing your ideas with you in a calm, constructive and adult way too.
The second thing you can do is to keep reading and learning. I’d say it’s very difficult, even impossible, to be an expert in agile. However, it is very easy to be clueless, unthinking and dogmatic. The more you read and the more you experience, the more you learn, and so the more open to different viewpoints your mind will become.
The third solution is more dramatic, but it’s sometimes necessary. If you do find yourself being surrounded by people who are arguing about agile and telling you you’re doing it wrong, move somewhere else. Try and open their minds first of course, but don’t underestimate how corrosive dogmatic people with a ‘them and us’ cultural mentality can be. Equally, if you employ people like this, consider not doing much longer. Healthy, open and honest adult to adult discussion is great, but if you’re getting team members coming to you upset about yet another agile argument they’re just had with person X, or you’re noticing that person getting red faced, shouty and insulting, then you’ve got a real problem in your team, and one you need to fix, before the open minded and inquisitive people go and find other people like themselves, likely at another company, leaving you with nothing but the shouty dogmatists.