Every time I start a training or coach, I like to ask people to define agile. For those who are seeing it for the first time, the answer is usually ‘going faster’ or ‘a methodology’.
But agile doesn’t mean faster, going faster needs to be a result. Agile is not only one methodology, but a set of values, principles and tools. The main definition for being agile is about a mindset change.
When we talk agile, we are talking about:
- Individuals and interactions over processes and tools;
- Working software over comprehensive documentation;
- Customer collaboration over contract negotiation;
- Responding to change over following a plan.
It doesn’t mean that we won’t have documentation or contracts, but we need to have the empathy to understand what our clients need and work with them to adjust.
And, specially, agile is about empowered teams, that interact daily, with the right skills and tool to take the needed decisions and respond to changes in a complex and uncertainty environment.
That’s why agile is supported by several practices, including social ones as:
- Social contracts;
- Cross-functional teams;
- Daily stand-up meetings;
And can support several software development frameworks as:
- Xtreme Programming (XP);
- And many others.