Ok. Now we have your attention. Yes, Agile is NOT a methodology. The impetus for this article was that I was recently thrown an article by another Agile coach. He simply asked me what I thought about it. I read it. Digested it. Disagreed with it.
The article was essentially selling Agile as a methodology, using “Agile methodology” buzz words. Wait you say, do we sound like purists? Not really. An easy click over to the AgileManifesto.org tells us that Agile isn’t a methodology at all:
- Individuals and processes over tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
Oh, and there are some principles (12) to the manifesto too.
But none of this talks or even looks like a methodology. So this begs the question, “What is Agile methodology?”
Again, Agile isn’t a methodology. The Agile Manifesto doesn’t prescribe anything.
Agile is a philosophy or frame of mind. You want methodologies and frameworks?
Here you go:
- XP (eXtreme Programming)
- FDD (Feature Driven Development)
- DSDM (Dynamic Systems Development)
- Adaptive Software Development
- RUP (Rational Unified Process)
Wikipedia tells us that Agile is a group of software development methodologies based on iterative and incremental development. Seems straight forward here.
Agile software development is a fantastic way to develop your products or services, it’s the guiding principles and framework that allows teams and businesses to rapidly develop valuable products to their stakeholders or clients.
I had a conversation with Donna Reed about this a little while ago. We talked about using facets of Agile to bring value to a client and using bits and pieces of different methodologies to help put a framework around those Agile values.
I will agree with Donna Reed in that sometimes providing value to a client is not going “all Scrum” or “All ___ (fill in blank). It’s about finding what’s best for your client and taking an Agile approach to providing value. Iteratively, strategically, inspecting, adapting, and learning.
Now that “Agile” is becoming more of a buzz-word around town, remember that when someone starts selling you the Agile methodology, they may not be selling you anything at all. Ask the question. Do your diligence in knowing exactly what they’re talking about.
Agile is a philosophy or frame of mind. A practitioner of Agile can use different frameworks within the philosophy to “do or be” Agile. Agile is our guiding principles that lay the foundation for building better software.
Do I sound like a purist? Let me know in the comments.