When Can You Honestly Call Yourself Agile?
A project manager proudly told me he was agile. “We do standups every day. We work in iterations.”
I asked, “How does the product owner like what you deliver every day or so?”
“Oh, we only deliver once we have a hardening sprint, after our three development sprints.” He continued to describe what they do: The developers write code for two or three weeks. The testers then test for a total of six weeks, with a two-week hardening iteration at the end to finish finding all the defects and create something releasable.
This is much better than what they had done in the past. They used to do larger waterfalls, with very little overlap between development and testing. Their projects took forever, and they had trouble with the delivered features not meeting anyone’s needs.
They have a total eight-week timebox now, and they deliver products that meet their customers’ needs.
I would not call what they do agile. I would call it iterative and incremental, but not agile. But does that matter? They’re improving. Things are better for the team and the customers. Does it matter if they call themselves agile?
Yes. They are not working as a collaborative, cross-functional team. They can’t deliver in those eight weeks until the end. If they needed to change their work in the middle of the eight weeks, they would not be able to do so.
They might be on their way to being an agile team. Maybe they will stay where they are. Maybe they will retrospect and decide what else to do.
Words have meaning. Conducting standups and working in iterations does not make you agile. Yes, they may well improve your project work. You may realize significant gains from small changes in your practices. But don’t fool yourself. Unless your project reflects all the principles from the Agile Manifesto, you are not agile.
Too many people use agile as a synonym for flexibility and adaptability. I am all for being flexible and adaptable. But before you claim the agile label, think hard about what your practices reflect.
Being adaptive and using iterative and incremental development in ways that make sense for you? Ideal. Calling yourself agile without delivering frequently and without using a collaborative, cross-functional team? Not ideal. In fact, it deceives you, your team, and your organization about future possibilities.
You can be on your agile journey. You can improve. If you are better off than you were before because you started using some so-called agile practices, I applaud you. But please, call yourself agile only if you live the values behind the Agile Manifesto, not some practices that agile teams often use.