Product Roadmaps

Over the last few months, I’ve been thinking about how to design a lightweight framework for product development that fits in with different ‘product cultures’ and scales from a few teams of a few people to up to 50 people.

My current ‘best guess’ of this is a modified version of the Now/Next/Later framework that Noah Weiss nicely laid out here. For each product line I’d recommend a separate roadmap of this otherwise it gets pretty unwieldy. You can always roll up specific projects into a higher level company level view, if needed.


Principles

Here are some principles that I suggest for your roadmap:

  1. The product roadmap needs to be publicly visible and easily accessible to folks in the whole organization.
  2. It needs to be easy for folks outside the immediate executing team to add ideas or requests to the ‘New’ section for triaging.
  3. Ideas should be tracked from ideation to completion without duplication of work to update projects by lots of unconnected tools.
  4. The tool you choose is not important, as long as everyone uses it. I’ve enjoyed using Asana in the past (although they don’t integrate super well with other services).

NEW/NOW/NEXT/LATER

New (Inbox) : This is where all new items start to be prioritized. Items could be anything from large feature ideas, bugs or feature modifications. There should be a clear owner for prioritizing these items, usually the product lead, or on call engineer depending on the type of issue. Large projects should be broken up into milestones and prioritized. Try and keep this section at ‘Inbox Zero’.

Now (In Development) : This is what the team is actively working on right now, in order of priority. These tasks should be assigned to individuals on the team and usually correspond the the current sprint. Tasks in ‘Now’ are granular and well defined and have a clearly scoped deliverable and timeline. If you want more granular ordering or filtering in this list, I suggest tagging tasks by priority (e.g. P1, P2, P3).

Next (On Deck): These are the tasks/features that the team will work on in the next 1-2 development sprints. Tasks in this section should be in rough order of priority and have some definition around them, but may be broken up into more specific tasks when they move into the ‘Now’ bucket.

Later (Icebox): These are items that are unprioritized, but you know you want to get to them at some point. They could be bugs, loosely defined features, or feature modifications which should be tagged for clarity. The order or specificity around these is less important (especially for features) as you will prioritize and add more definition when the time comes.

Not Doing (Pit of Despair) : This bucket of tasks is usually hidden but is a list of ideas that you have explicitly decided that you are not doing. I suggest adding in a comment into the task to articulate the reason why you are not doing it, before moving it to this ‘Not Doing’ bucket.

In addition to the execution priority, it’s also useful to include some way to show the relative importance of tasks, so you can clearly see what tasks in the sprint can not drop. I suggest a Priority and Project Size tag like I’ve shown below.

This is an example of what a product roadmap could look in Asana:


In an ideal world, the tool is easily used and accessible by everyone in the organization and tightly integrates with other product development tools you use – e.g. Figma, Github, Google docs. Asana does not do a great job here and it’s hard to get information out of Asana if they whole company does not use it (which probably improves their retention, but makes it a worse tool overall).


Central Teams

These principles don’t just apply to user facing product development teams but would be also useful for ‘central teams’ like data/analytics or platform teams who are working cross functionally with folks across the organization. These teams often have ‘requestors’ of their time and expertise. It allows for better visibility into work and timelines, and also provides a structured system to ask for help or request reprioritization of work which hopefully leads to better visibility and trust between ‘central’ teams and ‘product’ teams.


Every company is different and each team may have different norms, but having a set of common principles, common tools and a shared language can improve visibility and reduce the switching costs for managers who oversee lots of projects and individual contributors moving between teams.

A few Management Frameworks

As a manager or manager of managers of product development teams, it can be hard to focus on the right things and to make sure that you’re making progress on your ever growing list.

To help others overcome the same challenges, I am sharing a few of my personal frameworks that have helped me focus better and be more productive over my career:

1. Understand Product and Team Health

I wrote a separate post about this here but one of the most important things you can do when managing lots of products/teams is to understand the health of both the products and the corresponding teams. I do this by asking the following three questions and tracking this over time.

  • What do the metrics say? Metrics are impartial measures of how the product is performing on an absolute basis and trending. Having valid, high quality data sources is essential.
  • What does the team say? Most of your insight will be from the team lead, but make sure and also talk to team members from time to time so you can further validate (or invalidate) the insight from the lead.
  • What do our customers say? Talk to customers, talk to customer support, get structured data on customer pain points.

Combining the insight from these three sources has helped me improve judgement around what we should build and also help with designing better teams.

2. Segment your work

I segment all of my work into three buckets:

  1. (10-20%) Set of things that only I can do (or want to do) myself
  2. (60-70%) Set of things I can structure and review
  3. (10-20%) Set of things that need zero oversight or someone else can do better

This allows me to spend time on the areas that I can have the most impact while making sure that I don’t drop the ball on all the jobs that need to be done by the organization.

Over time, if your objective is to make yourself redundant you should aim to move more and more tasks from category 2 to category 3. This is also a good sign of a team that both well assembled and performing well.

3. Track your time

Each quarter I write up my personal goals (Primary focus, Secondary focus, Observing) and share them with folks I work with very closely.

As part of this exercise, I reflect back on the previous quarter and break down my allocation of time and highlight anything in my list of goals that did not get done.

I then take all the tasks that I don’t think should be on my plate going forward (not the right priority, or someone can do better) and plan to transfer them to someone else for the next quarter as part of my personal planning process.

This has helped me be more deliberate and focus on the things that matter.

4. Get buy in for projects

People are the most important asset in any product development organization and high performers do not like to be told what to work on. One of the most important things that managers of product development teams have to do is get buy in from their teams on the projects they work on.

In the ideal situation a specific job to be done matches both the interest of a team/person and their capabilities. In other situations you’ll need to get buy in from teams to take on projects, and the best outcomes are always situations the team is motivated to work on the project (ideally it’s even their idea).

Depending on the person or team and their preferences, it’s important to phrase the project in the right terms:

  1. Do it for the Company: This project the most impactful thing you can do for the company’s growth – logic and long term thinking.
  2. Do it for your Team: This is the most impactful thing you can do for your peers or your team – community and selflessness.
  3. Do it for Yourself – This is the most impactful thing you can do for your development/career – drive and growth.
  4. Do it for Me: This is something I need you to do for me – strength of the personal relationship. This line should be used sparingly, because it can be relationship damaging and/or selfish.

These are a small subset of tools that I’ve found personally helpful as I’ve worked with product development teams over the last decade and hope you do as well!

Getting into Product Management

I get asked frequently for advice from folks who are looking to get into product management and often send them slightly customized versions of the same thing. I decided to write something a little more comprehensive and share it broadly. 

There are a few phases of work for folks looking to get into product management:

  1. Start by learning about product management and what product managers do
  2. Figure out where you want to work and make a list of companies that are exciting to you
  3. Prepare for your PM interviews, and learn how you’ll be evaluated

1. Learn about product management

Product management is different from company to company. It’s worth learning about the different perspectives of product people at different companies, and here is a short selection:

2. Figure out where you want to work

An important part of the process is generating a list of companies you may want to work at by evaluating company size, quality of mentors, your connection to the product etc. Product management varies significantly by product, vertical (ecommerce vs. autonomous car PMs do different things) and individual company so it’s useful to spend time upfront here.

I recommend going somewhere where you think you’ll get good mentorship from people who are both experienced and very strong product managers. I also recommend joining a company which is growing, as a lot of opportunities can arise from growth.

Companies like Google and Facebook have very well respected product management practices, but it can be difficult to get an interview or get through their process without prior product management experience (unless you are earlier in your career where they have great rotational Associate Product Manager programs).

Some good resources:

3. Prepare for your interviews

Read and Learn: There are a few foundational books that will help you prepare for your PM interview and generally help you becoming a better product person:

  • Read the lean startup
  • Read design of everyday things to teach you how to think about user experience
  • If you are a ponderer and not a doer I would recommend making things happen
  • If you want to learn how to run a product development process I suggest reading agile product management which can be a bit dogmatic and dry, but it’s useful to know these foundational elements
  • If you don’t have a technical background, I’d spend some time learning how technical systems work and some of the foundational elements of programming. The best way to learn is to read/watch videos (good resource) and take a Codeacademy class (javascript or python)
  • Cracking the PM interview is a really good book by a former Googler, and I’d start by watching her youtube video
  • Practice questions on the PM interview – it autogenerates a bunch of questions and you can go through them

Analyze products: Spend time breaking down products you like/don’t like – most ‘product people’ naturally do this, and enjoy this type of exercise. I like to break down my analysis into 1) Why does this product exist, what user need is it solving? 2) What do I like about the product? 3) What would I change and how would I change it? 

Learn how you’ll be evaluated: Companies hire somewhat differently so make sure that you ask your recruiter or hiring manager about how you’ll be evaluated as part of the interview process. Here are a few dimensions from my experience that I’ve used, and seen used in the past. 

My Interview Criteria: There are a few key skills that, I believe, PMs need to be successful and I use them to assess product management candidates. It’s important to have at least one area where you feel like you are excellent and can get that across during the interview process.

  • Analytical Ability: Run AB Tests, interpret metrics, data informed decisions
  • Product Sense: System design, uX design
  • Leadership: Inspire, influence, build loyalty, have empathy
  • Project management: Prioritize, get things done, make tradeoffs, unblock
  • Technical ability: Ask the right questions, build trust/respect

Google Interview Criteria:

  • Product Design: User experience and design
  • Analytical ability: Fluency with numbers, product metrics
  • Technical ability: System design, algorithms – earn respect from engineers
  • Strategy: Business turnaround, go to market
  • Culture: Googliness, kindness, leadership

Facebook Interview Criteria:

  • Leadership and Drive: Influence, Self starter, influence teams
  • Execution: Goals, metrics, prioritization, process
  • Product Sense: Design, understanding users
  • Engineering fit interview: Not a technical one like Google, more of a fit interview

Being a product manager is fun, challenging and a great fit for people who like to make things, and like making things in a better way.

Best of luck in your journey and thanks for reading!

Get insight from independent sources

In my opinion, one of the hardest parts of product and general management is drawing insight from the right sources to determine ‘product health’ to identify where to focus, especially when managing multiple product lines.

In my experience I try pull data from three independant, uncorrelated sources to inform where I should focus my effort – the data, the team, and the users:

  • Data: Design dashboards that give you the metrics at the right level of detail on a daily/weekly/monthly/quarterly basis. Be able to translate data into concrete hypotheses and insights. 
  • Team: The general manager (GM) or product lead of the business is your main source of information, but make sure to spend time with team members and other functional leads as well, so you can validate/invalidate what you hear from the GM. The broader team is also an incredibly strong resource for ideas for new features. 
  • Users & Customer Service (CS): It’s important to maintain empathy/understanding of your customers, even when you’re a step removed from the product.
    • On a regular cadence (e.g. weekly), spend time reading user reviews, blogs, forum posts etc.
    • Get quantitative and qualitative information from the CS team about what users are saying about your products over customer service channels, either through a short meeting, or a list of top 5-10 issues each week.
    • Spend time actually interacting with customers, and responding to them (directly or on forums for example).