I joined a Agile practitioners WeChat group and today one friend raised a question to everyone – “What is Agile?”. There are many different responses:
- Agile is a kind of spirit
- Agile is to keep the required needs but get rid of unnecessary wants
- Agile is a kind of ideology
- Agile is a dynamic standard what consolidated team’s intelligence
- Agile is just a word
- Agile is a kind of practice
- Agile is a kind of intelligence what makes the procedure of building software to be efficient and interest and also be possible to reduce the cost
- Agile is to optimize process, be people-oriented, eliminate waste, deliver value and pursue for technical excellent
From these responses, I can see that the definition of Agile is still not clear in the community. Those answers are all correct, in some degree, but also missed something from my view of point. So I tried to find other answers from internet. Here are some of what I found.
“The ability to create and respond to change in order to succeed in an uncertain and turbulent environment.”
“Create the organizational ability to respond to changes by being able to deliver or change direction at any time without additional cost”
- is adaptive rather than predictive
- is people-oriented rather than process-oriented”
“Agile software development is a set of principles for software development in which requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.”
There are also many others what are more trying to give the definition in the context of software development, e.g.
“Agile is a time boxed, iterative approach to software delivery that builds software incrementally from the start of the project, instead of trying to deliver it all at once near the end.”
“Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams”
From what I found, I personally like Agile Alliance and Bas Vodde’s definition more. Because
- It beyonds the software development
- It gives the definition from Agile’s vision and value
For any organizations, not only software development, the number one priority is to survive and grow. It is even harder today because of the continuously increasing uncertainty. Agile, like the meaning of the word, help the organization to build the ability to be more nimble and more adaptive and be able to change the direction faster and cheaper. This is the true value of Agile to organization and this is why Agile received more and more attention today.
It is important to define it from vision and value perspective rather than from particular practice perspective. Because the practice may change with new technologies and also the practices will be different in different environment. But the value and vision will not be changed.
So, if I’ve been asked the same question, my answer will be, by using elevator pitch format,
For any organizations
Who need to succeed in an uncertain and turbulent environment
Agile is organizational ability
That enable the organization to respond to changes faster and cheaper
Unlike many other methodologies
That usually are predictive, process-oriented and often lead to sub optimization
This is adaptive, people-oriented and focusing on the whole system optimization