Now 16 years old, Agile is in its teenage years. As such, it gets blamed a lot for, well, everything. So, let’s address a basic question - is Agile good for software development?
The answer is: Yes but…
Yes, Agile advocates for an iterative, collaborate approach to software development. That’s great. It’s much better than a team going down a rabbit hole for a year only to release a piece of software that no one needs anymore.
However, far too often, Agile is implemented incorrectly and/or blamed for failures outside of its control.
Agile is a tool kit, a set of practices that are intended to adapt to the needs of the team. At its core are 4 main tenants:
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Notice the word “over” is in each tenant. Agile never says we should write code with reckless abandon. Agile never says we should rid ourselves of all documentation and fly by the seat of our pants. That would be foolish.
Rather, Agile says that we should prioritize individuals over tools, software over documentation, etc.
The best Agile teams take a non-prescriptive, non-dogmatic approach, and understand that there is indeed a time and a place for tools, for documentation, and for a plan.
My advice - read about Agile. Talk to teams who have used it successfully, learn from their failures. And, be proactive about finding a way to integrate Agile into your software development process that works for you.
How has Agile helped you? Leave your thoughts in the comments below! If you'd like your team to get the most out of Agile, optimizing your retrospectives is a must. Our free guide "How to Facilitate an Agile Retrospective" takes you through the essential steps you need to be successful.