Why do some people distrust agile software development? Should you distrust agile software development? How can you possible trust people who say that they will “take your money and deliver something” after a month or so? How can you possible trust people who have a rubber bird as part of their continuous integration process? After my recent post on trust in agile software development, Mike Lehr asked me why people distrust agile software development.
@GregerWikstrand What are the typical reasons for distrusting agile software development, Greger? #agile #software #softwaredevelopment
— Mike Lehr (@MikeLehrOZA) 24 november 2014
Do people distrust agile software development?
To answer Mike’s question of “
What are the typical reasons for distrusting agile software development, Greger?” we should first consider, do people distrust agile? For instance, are there people who think agile ruined their lives? Let’s take a look at some of the stakeholders in agile software development. The people who do the work and the people who pay for it.
Do developers distrust agile?
Let’s start with the people who do the work. We could call them developers, testers, software professionals etc. The roles and titles are many and so are the opinions on agile software development. In a poll on Ars Technica, about one-third of the respondents say that they hate Scrum or that they dislike Scrum.
“I hate scrum. It is a tool to micro manage developers and to kill teams productivity.”
Perhaps it is only lazy developers that hate scrum and agile? Does it mean that you distrust agile if you hate it? I tried searching for “distrust agile” but what I found was not about people who distrusted agile. It was about using a spirit of distrust to improve security and it was about agile teams where the team members distrust each other. Which isn’t a good thing. Teams work better when members trust each other.
Do customers distrust agile?
Many customers have learned to have an attitude of distrust towards software development in general.
But there are other reasons customers could distrust agile software development. For instance, does iterative development and “done” mean that what you see after the first iteration is all you get?
So, maybe people don’t like agile, maybe they hate it. But maybe they don’t distrust agile anymore than they distrust software development in general?
Top reasons why some people distrust agile
A cursory search of the Internet won’t turn up any real evidence that people distrust agile software development. But in my own experience there are many reasons why people do distrust agile. When Mike asked I gave him a little top list.
- You do it wrong and then you blame the buzzword.
- Commercial model does not match delivery model => expectations are not met.
- Many mistake low ceremony for low rigor.
- They think it’s possible to guarantee on time on scope on budget high quality delivery.
Agile in name only
The first reason for distrust is about using agile as a buzzword but not doing it right. Some call this AINO or “Agile in name only“. If you do it wrong and it doesn’t work but you think you did it right… It’s only natural if you will start distrusting the method.
Another reason for distrusting agile is that the contracts are not aligned to agile. When the contract and the governance mechanisms are misaligned with the actual deliveries and ways-of-working, conflict and distrust can arise.
Low ceremony is not low rigor
As quoted above. Agile really is about micro-management. But unlike normal micro-management it works, because people manage themselves. But agile is not implemented correctly, or if someone does not understand the checks and balances in agile, it might seem like a chaotic and disorganized process. And that is where you can start to distrust agile.
The iron triangle
The iron triangle of project management states that you cannot control scope, cost and quality at the same time. Or add schedule to that and you have the project diamond. As soon as you increase one, you will decrease another. Agile focuses on cost, quality and schedule but allows scope to be variable. That means that you will get something good at a known cost (the team price) at a known date (end of iteration) but you cannot be sure what you actually get. Not knowing what you get is a bit like buying a pig in a poke. And how can you trust that?
While there might be reasons to distrust agile software development there are also reasons to trust it. Knowing why it is sometimes distrusted can help us turn that distrust into trust.
- What is your general opinion on scrum?: Ars Technica
- Distrust: GeminiLaser at DeviantArt | CC BY NC ND 3.0
- Rubber Chicken: Brent Moore on Flickr | CC BY NC 2.0
so many options!
I see the mistrust because of past experiences with “change initiatives”
People assume it’s just another flavor without management support. I understand this.
Like anything “pushed” on people… People don’t like to be pushed
That reminds me of this little story from an all hands meeting at a large high tech customer.
Dev in the crowd: “What’s your view on Agile?”
CEO: “Never heard of it, is it a new pocket book?”
Which gives some credence to my belief that managers like to read business pocket books ðŸ“š .
I believe that your items 1 and 4 are the primary reasons that agile might not be trusted.
I also believe that anything forced on a person or team will not go over well, particularly if the team is already suffering from dysfunction and/or low morale.
Agreed. The problem with change management lies in the name. Management. People who feel in control of their situation will want to improve.
have similar experience while introducing agile. From software engineering till customers, everyone sees some evil. While I firmly believe that most opposition is due ‘resistance to change’ and ‘fear of unknown’ I also consider this as a challenge at organization level that requires focused efforts from all hands.
My experience shared on this post long back http://successmanagers.blogspot.in/2013/01/agilefear.html
Pingback: My social media influence - Greger Wikstrand
Pingback: SPaMCAST 370 – Greger Wikstrand, Should You Distrust Agile? | Software Process and Measurement