Whiteboards, sticky notes, and brainstorms within a team are the fun part. Then comes the hard part: how to capture all those ideas, stack ranked, vetted, and communicate them across your company.
When your company has fewer than 20 people, written roadmaps are overkill. There are a handful of projects, everyone talks at lunch, and you don’t have the runway to plan more than a few months ahead.
When your company is 1,000+ people, you probably need complicated processes and committees for any company-wide initiatives. Aggregating OKRs from teams across Google required numerous PMs working practically full-time for weeks per quarter. There are stakeholders across sales, marketing, support, and more to coordinate with.
Between 20 people and 1,000 people is the sweet spot for a light-weight approach to product roadmaps. We have tried many at Foursquare, but none have stuck — including a few attempts at OKRs. The alignment from OKRs is great, but the measurement overhead is overkill for companies changing quickly and the quarterly cycle is too inflexible.
As we near 200 people, we’ve finally found a system that feels great and is lighter weight than anything we have done before: #now, #next, #later.
The priority buckets
#now and #next are effectively the goals for the quarter, and #later is the longer term roadmap.
Is the next 2–4 weeks. For many teams that use bi-weekly sprints, this fits perfectly into their planning cadence.
Is 1–3 months out. Effectively, it’s the rest of the quarter after #now. This bucket has the most debate, because #now projects are usually already underway so this is the area where the next few months of work get set.
Is 3+ months out. It’s a useful place to park ideas the team is passionate about. This is the most useful bucket, because it saves the team unending debates so they can focus on building #now and then #next projects.
The prioritization within this bucket is not that important, since you’ll revisit it all in a few months anyways. You can also leave the ideas much less specific than in #now and #next; you just want to plant seeds to revisit later.
Before teams could plan independently, we had to agree on a few company-wide goals. These should be simple, like US weekly active mobile users or top-line revenue. There should be a clear model for what levers you can pull to accomplish those goals, like where your signups come from, how important reactivation is, and so on. Teams need to know what part of the relay race their efforts plug into. It is then easy to frame team efforts around feature level goals that build up into the company-wide metrics.
Before we tried this planning process for the first time, teams had ideas strewn across planning docs and research findings, posted on whiteboards, and littered in Asana projects. Teams started off by aggregating these all into a single doc and then had an open brainstorm about what might be missing. They invited other leads across the company to toss over their favorite ideas. This lets people feel heard about ideas they are passionate about, while the team can be clear and ruthless about what they take on.
The PM and Eng leads then usually took the first pass at bucketing into #now, #next, and #later. Teammates weighed in. Once the roadmap was in good shape, they brought it in for a review session with the CEO and the heads of engineering, design and product. After some back-and-forth, out came a simply prioritized roadmap.
The real beauty was that since all the teams followed the same structure, it was easy to aggregate the #now and #next efforts across the company’s projects. It took an hour. A common language goes a long way.
Easy project management
We are big fans of Asana, which takes a fairly unstructured approach to tooling for project management. There are tasks, which live in projects, and have an owner and tags on them. #now, #next, #later made perfect tags. Some of the benefits include:
- It is fast to add tasks with a higher level of detail than the roadmap, and they still can tie into the #now and #next sections.
- Individuals can easily filter their own task view to just #now tasks — even if they work on multiple projects.
- When you create a task, it is easy to add a #now/#next/#later tag so PMs/TLs can triage. If the triager changes the tag, it quickly communicates the team’s priority for the task.
- Easy to create saved search views within a single team, across multiple teams, and so on for what’s getting worked on and what’s on deck.
Paying fewer taxes
Structure and communication processes are taxes companies pay as they grow bigger. They slow things down. But, a bit of structure like this tagging system can go a long way. Creating a prioritized roadmap was something everyone did, but no one had an approach they loved. Finding something simple and common across teams was a win.
Our goal was to find the way to pay the lowest tax bracket while getting all the entitlements of heavier systems like OKRs. #now, #next, #later has worked great for Foursquare. Give it a shot with your company.
Want to work at Slack — in NYC? We are hiring talented engineers, product managers, and designers. Visit slack.com/jobs to find out more, or email me directly at nweiss @ slack-corp . com.