Agile is an iterative and incremental method of managing and developing projects with a team. It focuses on customer collaboration, responding to change, and frequent releases of working software.
The Agile Manifesto is a single, simple, brilliant sentence that you should refer to often:
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
That is, while there is value in the items on the right, we value the items on the left more.
Let’s take the manifesto and put it into the context of real work, real customers, and the real world. Agile takes the best of the world’s history of getting things done and rolls it into a single framework. For instance, we know that people work better in teams; we know that trusting relationships have better results than legal documents; we know that predicting the future is super hard; we know that the proof is in the pudding. We also know that 3 things 100% done are more useful than 10 things 75% done. And finally we all know the phrases: “one day at a time”, “one game at a time”, and “keep your eye on the ball”.
Agile takes these intuitive truths and brings them into the world of development, software and beyond. Agile is not a prescriptive dogma. It is a set of activities and methods that can be used individually to make things better, and collectively to make things great.
Agile takes practice and discipline. But just like that play you were in, or the concert you practiced for, you will be happy with the ovation at the end. It’s worth it.