Roadmap Planning in an Agile World
When you think about Agile Development, what are the first words that pop in your head?
If you’re like most people in tech, your list looks something like this:
Fast, adaptive, iterative, customer-focused, nimble, adaptive, evolutionary, ship early, ship often
At Upside Travel, we love Agile for all of the reasons ^^^
Then why did close to 40 Upsiders across Product, Engineering, Design, and Data Science get together last week to put together a roadmap for our next quarter with close to 50 projects? That sounds like the exact opposite of Agile!
Why Roadmap Planning isn’t Anti-Agile
In preparing for battle I have always found that plans are useless, but planning is indispensable. — Dwight D. Eisenhower
Time is finite. Financial resources are finite. People are finite.
Agile Development and roadmap planning aren’t mutually exclusive. In fact, they are quite the opposite: Agile and roadmap planning work better together.
Roadmap Planning Provides Clarity
Roadmap planning helps Upside (re)evaluate:
- What key strategic themes and business goals matter most to us in the next 3 months?
- How can these themes be supported by product development?
- How does this development get balanced across our teams throughout a quarter?
- What is the capacity of our engineering team? Do we need to hire and where?
- What projects are shared across different teams? (hint: a lot!)
Want more?
Emily Dresner covered our roadmap planning process in depth in September of last year (see here: https://engineering.upside.com/upside-engineering-diary-9-release-planning-d2503a712658).
Building on Emily’s post, I thought I’d share a few things we’ve learned over the past 6 months as we went through this cycle a few more times.
What We’ve Learned from Roadmap Planning
Retros Are Cathartic (And Essential)
At the last 2 roadmap plannings, we began by retro-ing the prior quarter. Scrum team retros are a common part of Agile Development, but from my experience, they rarely extend upward to project-level retros.
Like a team-level retro, we talk about what we did well in the quarter and what we could have done better.
What projects were bigger than we initially thought and why?
How could we have better anticipated/reacted to some of the challenges that came up in the quarter?
What mistakes can we learn from and what lessons take forward into the new quarter?
Over the past 2 quarters, this retro has been a consistent source of positive team feedback post-planning.
We Pitch Every Project to Everyone
At planning last week, Product Managers pitched over 40 projects to engineering, product, design, and data leaders. These projects had already been whittled down from a list of ideas in the hundreds.
These pitches, while brief, provide visibility to a major part of our organization on how the product team plans to attack the themes and performance goals of the organization.
We Go Technically Deep on the Most Complex Projects
Complex projects are risky. We save the entire afternoon of planning for reviewing a subset of these 40+ projects in depth.
Tech Leads and Architects take over the show and we spend as much time as they need to describe the project and a proposed technical approach in detail. Throughout their review, they field questions and debate alternative approaches.
Although most of our complex projects have already been discussed in detail at this point, this deep dive provides an opportunity for healthy second guessing, new perspectives, and even more visibility into the work that is most likely to define our quarter.
Monthly Roadmap Deep Dive
The roadmap we build at quarterly planning starts getting out-of-date the minute we walk out of the room. It’s a point in time “best guess” of how our quarter will look.
For this reason, in addition to our normal Agile ceremonies, key leaders across our organization regroup on a monthly basis for an abbreviated version of roadmap planning.
At this session, we look at the latest quantitative and qualitative data and evaluate the progress we’ve made on projects over the past 2 sprints (4 weeks).
We debate changes to the roadmap that we believe provide the best possible chance to deliver on the business metrics and company themes we care most about. We make tweaks here, big and small, and we stay forever Agile.
Get Feedback Every Time
Feedback from the team is essential.
No roadmap planning should be the exact same format. You should always be evolving, getting better, and testing new ways to improve the planning cycle.
Survey (either formally or informally) planning participants after the day and keep. getting. better.
How We Manage Complex Projects
For the quarter we just planned at Upside Travel, we have 9 projects that either involve coordination across >3 teams or extend beyond 2 sprints (4 weeks) for one team.
These projects are DANGEROUS.
2 sprints quickly becomes 4.
Missed connections between those 3, 4, 5, or 6 (!) teams means extra weeks before release.
Anyone who’s worked at a startup knows that extra weeks means more cash burned, less time to learn from customer feedback, and more time for competitors to strengthen their products.
How Upside Minimizes Complex Project Danger
- Dedicated QBs
For projects that span multiple teams, it’s incredibly difficult for stakeholders (and even team members) to know who to contact with questions or who makes key decisions.
Decide ahead of time on one point-of-contact and call them the QB.
While the QB won’t solve every problem that comes up, they will be the conduit that all information flows through. They are also the one who is ultimately responsible for the success of the project. Generally, a QB will be the Product Manager with the largest share of the project.
But, in some cases (think a Data Engineering project), having a non-Product Manager QB is completely reasonable and even preferred!
Eliminate ownership confusion with a dedicated QB.
2. Temporary Slack Channel
Our CTO, Emily Dresner, likes to say “Slack channels are free.” (which is true for now at least!)
Whether you use Slack, Hipchat, or something else, create a channel to discuss your complex project and your complex project alone.
Like your QB, this temporary Slack channel will be the definitive place to go for all questions, progress updates, blockers, bugs, and conversation related to your project.
Eliminate conversation confusion and communication duplication with a dedicated channel.
3. Dedicated Board
As I mentioned before, some of our most complex projects at Upside Travel span 6+ teams (!). How can you possibly track all of that work and the progress each team is making on it?
Whatever your ticket tracking tool of choice (JIRA, Asana, Trello), create a dedicated board for the project and tag tickets with a shared Epic or Label.
This will let the work live in 2 places: with the team who is doing the work and the master board where the project QB (and the entire organization) can see a holistic view of the project.
Eliminate tracking confusion with a dedicated project board.
4. Daily Project Standups
If your company is Agile, you’re likely no stranger to daily team standups.
But have you ever done standups around 1 project and 1 project alone? Probably not.
Over the past 6–9 months, we’ve found that daily project standups that bring together all participants and stakeholders are one of the most important ways to keep a project moving, quickly tackle blockers and issues, and to disseminate information efficiently.
You’ll be amazed by the efficiency you gain through these meetings.
Daily Project Standups were one of the key reasons we were able to deliver WSJ Business Travel Service in 8 weeks.
Get After It!
Supercharge your Agile Development process by slowing down once per quarter to get key leaders together, think about the projects that help you attack the goals that matter, how to sequence those projects most effectively, and plan a roadmap.
Even if the roadmap is out-of-date the moment you make it, you’ll appreciate it, trust me.