Recently at a few Agile discussions I have noticed people saying things like:
“You should never provide estimates”
“You should never start to code without automated tests”
“You never need Business Analysts or Testers”
“You should never create requirement documents”
To me, Agile at its heart is always seeking to understand first. Many of these absolutes are diverging from seeking to understand. They even remind me a little of the waterfall method and the absolute rules that were in place that defined the mandatory deliverables that needed to be in place.
Now while I would agree that most of these statements are true most of the time, if you are not modifying your approach with each and every situation and client, I would suggest you are not Agile. If you are executing iterations and you can’t respond to a request from the client on how you execute iterations, then you probably aren’t Agile. If you read the book of Agile and can’t respond to a client request to have requirement traceability, then you probably aren’t Agile. Remember that Agile is being able to deliver the most value to the client and the client defines that value. Not you, not the Agile Manifesto, not bloggers, and especially not me. 🙂
Dictionary.com defines Agile as “quick and well-coordinated in movement”. The antonym of Movement is Inertia. If you have Inertia to move, change, customize, or adapt Agile methods, then I would suggest you are not Agile. To be Agile, you need to be without Inertia. Is Agile Inertia better than waterfall Inertia? Of course it is. But it is still Inertia and it is preventing you from delivering maximum value to your client.
Without Inertia means you are able to move between situations based on what fits that situation. Perhaps that is why I have problems with Scrum and the Core Protocols. I don’t think either provide the freedom to allow people to be truly Agile to tailor the approach to best fit the client and deliver the most value to the client.
If you have been delivering multiple Agile projects using the same methods and procedures then I have some bad news for you. You may have developed an acute case of Agile Inertia. In fact if you have been delivering subsequent iterations using the same methods and processes then you probably have a mild case of Agile Inertia.
Sadly there is only one cure for Agile Inertia. Never say never and always say maybe.