This is not Scrum:
- Release planning
- Backlog creation
- Architecture and high-level design
- Development sprints
- System integration
- System test
This is Scrummerfall, where we still do a phase-based waterfall model, but do iterations during the “development” phase. I hear the word “hybrid” thrown around a lot in the above model.
This isn’t the cool kind of hybrid, like a Prius or a Liger (pretty much my favorite animal). It’s more of the Frankenstein hybrid, where it looks good on paper, but in the end you need the village mob with pitchforks and torches to drive it away. Afterwards, the villagers have a bad taste in their mouth regarding science, so they banish it instead of booting out the mad scientist.
One of the key benefits of agility is the ability to respond to change through feedback. If the backlog is set in stone before my “development sprints” start, how do I change the backlog once business requirements and priorities change, which they inevitably will? There is no mechanism to respond to change in Scrummerfall, dooming your project to quick failure, but now you get to blame Scrum.
Another disaster waiting to happen is waiting until the end to do system integration. I think everyone learned that “it works on my computer” doesn’t fly very far once you start collecting a paycheck. Customers demand the software works on their machine, not yours. So why wait until the very end to do the riskiest aspect of development, when cost of failure is at its highest? It pretty much guarantees failure and some exciting blamestorming meetings.
I think these models come about from those who think Agile and Scrum are just another process, a cog to switch out. Agile isn’t a process, it’s a culture, a mindset, a belief system, a set of values, principles, and practices. Treating it like just another process gives rise to tweaking and leads to hideous hybrid Frankenstein monsters, roaming the countryside and spreading failure.