Why Do So Many Programmers Hate Agile?
While we can all agree agile is better than waterfall development, the iterative methodology has an awful lot of detractors from its history of misuse.
Join the DZone community and get the full member experience.Join For Free
When talking to programmers, it's not uncommon to notice a definite displeasure or see their eyes roll at the very mention of Agile. Have you ever wondered why?
What is the cause of their automatic negativity at even the thought of Agile Development or Agile-related practice and method? Is it possible, that the things they name as causing the method to fail, are not Agile practices at all, but misinterpreted and misused Agile values?
It may be, that the team feel as though they're pawns of the Scrum Master or Agile Coach.
It's easy to see how this feeling can be created. There is a tendency for the management to bring in either an independent Agile consultancy or to hire a Scrum Master to oversee the Agile approach implementation and execution within the team.
The very fact, that this is an outside person, creates a barrier between the team and the agilizing factor, which causes the "us and them" separation.
They may also feel micro-managed and under too much control, especially if each daily stand-up meeting is ended with a talking-to about how little had recently been done — this was never the intended purpose of a daily Stand-Up.
Too strong a time pressure also does harm — teams feel they need to deliver items at regular intervals, rather than when they are all ready and tested — this time-oriented approach can cause quality to suffer.
It's often reported, that the sprints are too short and there is no time to even gather full documentation before writing the code, not to mention looking it over once it is done. So, if working under high time pressure wasn't enough, the developers also need to cope with knowing that really, they only have one shot at getting it right.
It can well be that your programmers hate Agile, just because you're making them do it in a wrong way. But it is also possible that you're doing it right, and it's your team that are taking a general dislike to the idea. In which case, all there is left to do is wait for it to grow on the team or replace the team.
People using Agile are deciding what to work on, have a say in the product's look and function and gain a lot of control over the project as a whole. It may be worth spelling this out to your employees.
Please keep in mind, that Agile has been thought out as programming approach by programmers themselves — not project managers.
Could it be then, that the main difference between Agile as designed and Agile as used recently is, that it has become more of a project management domain, rather than programmers'? If so, the only solution might be to take it back from the PMs!
While appreciating the reasons why some are not enthusiastic about Agile, there is one way of looking at Agile, that makes most arguments fail: it is a sign of times.
Facts are, that whatever method you choose, in today’s times it will still need to address the ever changing customer demand, and thus following the stakeholders' need to iteratively control the results of your work.
In other words, however you'd like to call it, you will be doing some form of Agile development.
And one more thing: it's natural that the unhappy side of any story screams louder. You wouldn't imagine how many developers find Agile a working method and don't see anything in it to rage about. But it is always the displeased ones that have more to say, isn't it?
So, try it, customize it (yes, Agile Manifesto only mentions a few, key guidelines, none of which mention Scrum, sprints, daily stand-ups in particular) and only then decide which side of the fence you're on. Thanks!
Published at DZone with permission of Anna Majowska, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.