Blog Posts From The Brave Programmer

Why do so many people and companies hate Agile?

Jul23

Written by:2016/07/23 08:40 PM

Why is it that so many people hate Agile not that they just hate agile, but that they will og out their way to be so vocal about it.

People are often averse to change. When new things come about that threaten there comfortable way of life, they put up a brick wall and defend with all they got. Even if it means they have to make up some ridiculous excuses.

Agile does not care about proper documentation

Agile has no regard for processes and regulations

Agile has no regard for the companies plan and purpose

Agile does not care about the legal processes and clients are not held accountable.

etc, etc

These are some of the most complaints that companies and people have levied against agile and agile methodologies. Will it then surprise you that the things most complained about with regards to agile actually come from the Agile Manifesto and the four values? Which is mostly misunderstood.

So then what is the Agile Manifesto and these four values and why is there so much confusion? Let's look at these four values and try to understand the confusion.

The Agile Manifesto and the four values

Individuals and interactions over processes and tools

Working software over comprehensive documentation

Customer collaboration over contract negotiation

Responding to change over following a plan

What many people often forget and overlook is this; while things on the right are important, the things of the left have a higher priority. If there is one thing you take away from this, it is this, it's not about choosing one over the other to the exclusion of either one, but about setting priorities. These priorities will ultimately determine better quality, faster time to market and happier customers.

Lets look at these four points briefly

Individuals and interactions over processes and tools

This is all about people. People deliver software, people deliver products. People come up with the ideas, people create the stuff that you and I love and use. Process and tools are there to aid people not to replace them.

However, we should not forget that processes and tools are there to make life easier and to keep things on track. Yes, it is often a huge complaint within large organisations that processes (a.k.a red tape) hampers progress. But the thing to remember is that just the right amount of process and the correct tools to help people achieve the best product.

Don't forget the processes and tools, but remember that people, individuals are more important. When human beings interact with one another you will be surprised as to the achievements that can be realized far more than any process or tool will do.

Working software over comprehensive documentation

This is often a big one. "Agile is against documentation". No. It's just that a working piece of software is way more valuable and important than a 1000 page user manual.

This does not mean that documentation is bad. I completely agree that documentation is important. The key here is "over comprehensive documentation", not no documentation. But you cannot sell documentation to a customer. Working software brings more value to a customer than documentation.

Many agile shops and teams avoid documentation. But this is because of a lack of understanding and bad planning. Documentation is often the last thing to be considered. When in-fact it should be one of the first. But the process of creating great valuable working software should not be overshadowed by the insane idea that documentation is more important.

Customer collaboration over contract negotiation

How often are we more worried about legal contracts,processes and legal documentation that we forget the people behind those contracts? We forget that clients are also people.

Yes, contract negotiation is very important, but not more important than collaboration. An iterative approach and face to face discussions with customers has a better chance of delivering quality software earlier than a contract that is signed earlier and often cannot be changed.

The inability to change contracts is often the thing that brings many projects to their knees. Changing them is often a big process costing loads of time and money, which leads to projects failing or going over budget and time.

Collaborating with people, brain storming is way better in understanding a problem than some signed documented contract or requirement. Documented requirements are important. But not the most.

A signed contract often brings in a false sense of security, but in reality we don't know what we don't know. An iterative discussion and customer collaboration process is often the best way of finding out what we don't know.

Responding to change over following a plan

How often have you ever had anything go according to plan? Not often right? In fact there is always a work around, a hack. So many times we have to implement plan B, or Plan C or .... plan Z.

Following a plan is important. We do not want a bunch of uncontrollable cowboys running amok. But being flexible and responding to changes gets value and working software out the door sooner.

Those who succeed more often are those who are flexible and have the great ability to respond to change faster and more often. Yes plan ahead, plan for the unexpected.

But what is the unexpected. If you can plan for it, then surely it is not unexpected, since you have planned for it, you expect it.

We are not fortune tellers, but human beings have a great ability to be flexible and are able to respond to change easy. Just look at how we respond to life in general.

Check out this short video:

Conclusion

Agile is not about doing some things at the expense of other things. It's about doing the best for the software or product and customer. It's about bringing the greatest value. It's about what is more important and not about ignoring things that have less importance or less priority.

So don't hate agile just because you don't understand it. But rather embrace it and you will find that it actually works far better and brings more value.