This was first published in 2017 while I was at Facebook. Facebook had gone from a highly responsive style of prioritization to calls for everyone to have a visible & fixed roadmap. I, quite naturally, wanted to push back.
As the kids made their way out of the house, one of the adjustments I had to make was in my treatment of bread. With a bunch of teenagers, there was no problem: bread disappeared as quickly as it was purchased. By the time one was left at home, I had to start thinking about when to freeze half a loaf. Now that I’m flying solo, I have a big problem.
The first few slices are fine. They taste fresh and appropriately bread-y. Thanks to the paid-for food here, though, my consumption rate is so slow that by the time the loaf is half gone I’m praying for mold so I can throw the rest away and get a fresh one.
Roadmaps are like a loaf of bread. Decisions made in June are still likely to be tasty in July. By the time November and December roll around, though, yuck.
And yet. And yet. I keep hearing stories that turn on the phrase “...but that’s not in the roadmap...” Don’t eat this tasty, yummy, freshly-baked feature and eat the one that looks like, well, that, instead?
Roadmaps have value, but the value changes by project phase. While exploring, roadmaps should be lists of critical unanswered questions. Roadmap items should be treated as P50 goals (more later). While expanding, the roadmap should be set aside in favor of scaling-at-any- cost. While extracting, roadmaps should be taken more seriously. If a roadmap item represents a cross-team dependency, then it damn well better get done (or the dependency broken) (more later).
Here are some heuristics that can enhance the value of roadmaps:
Slack. Commit to less than you think you can accomplish. That way, when something tasty pops out of the toaster, you’ll still have an appetite.
Goals, not features. The closer you can get to stating what downstream needs are being fulfilled, the more degrees of freedom you retain for satisfying those needs. Lists of features are heavy chains to try to swim with.
Detachment. If you find yourself predicting an unpredictable future, stop. Plan and prioritize continuously, a la kanban (more later if you care), to provide visibility.
These suggestions are naive in the face of incentives that relentlessly push people in the opposite direction of all three. Sigh.
Following the bread metaphor, if the feature was in the fridge for too long it needs to be toasted first to taste good, i.e. refined, to make sure it's still valid. Or we could specify a goal instead, from the very beginning. Sigh.
All great points.
I think it was Mary Poppendieck where I first heard that you shouldn't have a backlog and if you do, it should be kept short and purge every so often because the important features/tasks/bugs will always resurface.
What I'm saying is when your loaf turns stale, throw it out and buy a new yummy replacement!