The One Thing Your Agile Team Might Be Missing
Today almost every software company claims to be agile. However, if we take a closer look at approaches they use, it becomes evident that the real meaning of Agile is often lost. So what doest it really mean to work in an Agile team and deliver products in an Agile way?
Back to Basics
Let’s have a look at how it all started. In February 2001 seventeen independent-minded software practitioners created The Agile Manifesto that says:
We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
- Individuals and interactions over Processes and tools
- Working software over Comprehensive documentation
- Customer collaboration over Contract negotiation
- Responding to change over Following a plan
As soon as the benefits of Agile are evident from the very beginning (team are more motivated, software is being built much faster), there is a whole consulting industry that helps companies transit to Agile with different methodologies, including Scrum, Extreme Programming, etc.
Unfortunately, Agile is so overused nowadays that it has lost the original meaning. For instance, one of the four agile values says: “Individuals and interactions over processes and tools.” But it happens that to achieve agility, many teams introduce more processes and more tools that contradict the Agile Manifesto.
What Agile Really Means
Being Agile means being able to understand the problem and make small changes quickly: you learn from the change, make adjustments and repeat them as many time as necessary.
What to do:
- Examine where you are now
- Make a necessary change that aligns with your goal
- Adjust your performance based on what you learned
How to do:
When writing code, first, decide what you want to achieve, make a small change, test it, learn from it, adjust and repeat. When building a product, introduce small changes, get feedback and make decisions that allow future changes as much as possible.
The key point to remember is that Agile is not a methodology with strict rules and processes. It’s a frame of mind that enables a fast and simple way of learning and improving by introducing small changes one after the other.