[Others]Why do a lot of programmers and IT companies hate agile development?
Created#More Posted time:Sep 20, 2016 9:19 AM
Have you ever heard of such sayings, mostly complaints, when it comes to agile applications?
Agility does not focus on document correctness
Agility disregards processes and regulations
Agility disregards the company plans and objectives
Agility does not pay attention to legal procedures, and does not assume responsibility for customers.
The list goes on and on.
These are some of the most common complaints from companies and employees about agile methods. Then you will be surprised to find that Agile Manifesto and the four values are the most complained. These values have led to a misunderstanding of the majority of people.
So what are Agile Manifesto and the four values, and why are there so many puzzles? Let’s take a look at these four values and try to understand what’s going on.
Agile Manifesto and the four values
Individuals and interactions over processes and tools
Software products over comprehensive documents
Customer collaboration over contract negotiation
Response to changes over observing plans
Many often forget and ignore that although the things after “over” are vital, the things before it have a higher priority. If you have to choose one from it, it does not mean the exclusion of the other, but the priority settings. These priorities will ultimately secure better quality, faster market launch and higher customer satisfaction.
Let’s look at the four values.
1. Individuals and interactions over processes and tools
This is about people. People provide software and deliver products. People come up with ideas and create things to our favor. Processes and tools are there to help people rather than replace people.
However, we should never forget that the role of processes and tools is to make life easier, so that everything can be on the right track. Yes, it is often an outstanding complaint in the process of dealing with large organizations that impede progress. But remember, a proper amount of processes and the right tools can help people to achieve the best outcome.
The processes and tools should not be forgotten, but people, is more important. When people interact with others, you will be surprised at the achievement which far outperforms that from any process or tool.
2. Software products over comprehensive documents
This is usually a key. “Agility and documentation are opposites.” No, but an effective software segment is more valuable and more important than a 1,000-page user manual.
This does not mean that the document is bad. I totally agree with the important points of views of the document. The key here is to “over comprehensive documents”, not documents. You can’t sell the document to the customer. Working software can bring more value to the customer than the document.
3. Customer collaboration over contract negotiation
How many times have we been more concerned about legal contracts, processes and legal documents, and forgotten about the people behind these contracts? We forget that customers are people, too.
Yes, contract negotiation is very important, but cooperation overweighs it. Compared with the fixed contract signed long ago, iterative methods and face-to-face discussions with customers are more likely to provide high-quality software.
Inability to change the contract is often the cause of their succumbing to many projects. Changing contracts usually takes a lot of time and money, and this can lead to project failures or excess budget and time.
Cooperating with others, brainstorming and mutual discussions are more helpful for understanding problems than signing contract documents. Documentation requirement is very important, but not the most important.
Signing a contract often leads to a false sense of security. But in reality, the best way is often back-and-forth discussions and communications with the customers to find out what we don’t know.
4. Response to changes over observing plans
How many times have you fully proceeded as planned? Not often, right? In fact, there are always flexible adaptation and trade-offs. So many times, we have to implement Plan B, or Plan C, or... Plan Z.
It is very important to follow the plan. We don’t want things to be messy or out of control. But flexible response to changes is more valuable, and expedites software launch.
Those who can often succeed are often more flexible, able to respond quickly and more frequently to change. Yes, a plan for the unexpected is required.
But what is the definition of the unexpected? If you can make a plan for it, it is not unexpected.
We are not a fortune teller, but people who have a high degree of flexibility can easily cope with changes. Just look at how we can deal with life in general.
Agility doesn’t mean sacrificing anything else. Agility is designed for the best software/product. This is to produce the greatest value. Agility means to focus on something more important rather than ignoring something that is less important or of a lower priority.
So don’t hate agility because you don’t know it. Embrace it and you will find that it will make the real work better and bring more value.
1st Reply#Posted time:Mar 15, 2017 22:40 PM
Agile - the bestOur company uses this methodology not for the first time. And we really like it, so our clients.
There's our article about Agile and some tips.