October 31, 2019
Some people like to pick and choose practices from different agile approaches and mix them together with Waterfall. Unless you are experienced and understand the why behind the practice, this is unlikely to yield true business agility.
Don’t do it. That’s what I would always say.
This approach would be like if you lived a sedentary lifestyle and ate the wrong foods but then added Kale to your diet. Or if you began taking random vitamins in hopes they will somehow help your health. It’s not going to help.
I wrote about Disciplined Agile a few months ago. I think there are a lot of good aspects of the Disciplined Agile Toolkit and things that can be helpful. Disciplined Agile leverages practices and techniques from Scrum, Kanban, Lean Startup, and Waterfall. So far, so good.
Then they recommend that teams Choose their WoW or way of working.
But what happens if those teams don’t know what to pick? What if they pick things that are in conflict? What if they rename their teams to squads to be like Spotify? What if they sprinkle a few agile practices like a Kanban board and daily standup meeting on top of waterfall, which is something I see all the time?
And I don’t want to sound like only agile practitioners or coaches like myself have all the answers. In fact, I do believe that every organization needs to run their own experiments and learn.
My caution is against picking and choosing and sprinkling agile techniques on to waterfall. And I am against cargo cult – simply copying what others have done and adding that on to your existing broken processes and expecting it to be better. Neither approach will lead to business agility.
That’s the tricky part. Experts mostly got to be experts by learning from others and learning on their own. Heck, the authors of the Agile Manifesto didn’t even claim that they were learning from others:
We are uncovering better ways of developing software by doing it and helping others do it.
— Agile Manifesto
So that’s the rub. Agile started out as uncovering better ways of developing software by doing it and helping others do it.
Food for thought.