How to Write a Product Thesis to Communicate Customer Needs to Design and Engineering Teams

Ever been handed a 10 page product spec that no one wants to read? Ever write one yourself? Tired of struggling to communicate what needs built next to your designers and engineers so they really understand the who, what, when, where, why of the next feature you need?

I’ve been using customer development, analytics, and information from my team to learn to build the right thing for years, but I always struggled communicating all the information locked in my head to the rest of the team. They needed to know why we were building it and all the necessary information to build the right thing without endless meetings or a massive spec they won’t read.

Fortunately, when I joined KISSmetrics, Hiten and I got to learn a better way from Josh Elman, who worked on product teams at Twitter, Facebook, and Linkedin.  Josh taught me about the Thesis, which is a lightweight way to communicate all the essential details your product team needs.

Now that I’ve used the Thesis on dozens of projects and tweaked it based on what I found worked best, I’m going to teach you how to write your own thesis for the next feature or product you build.

The Product Spec Alternative: How to Write a Product Thesis

> Know when to write a Product Thesis

The biggest crime product managers can commit against their team and their profession is to make up answers to critical decisions. Don’t be that guy/gal.

If you don’t know the answer to one of the sections in the Thesis, go find out. Dive into your analytics, talk to customers, run a survey, talk to your sales/account management/support teams that interact with customers regularly. You will gain the full respect of your designers and engineers if they know you always have a customer story and/or data to back up everything they may ask you about in the Thesis.

The following are all sections of the Thesis. I literally use these as headings to break up the parts and try to keep each section to 5-10 bullet points or a few concise paragraphs.

1) Why are we working on this next?

Every company, and especially startups, are resource constrained. What you choose to build affects your company’s bottom line, their standing in the market, and what your team thinks of your judgment. Use this area to concisely present your case for why this is the most important thing to work on right now.

I try to have a mix of qualitative and quantitative data here. If a mandate came from the leadership team to focus on this area, or sales needed it for a big customer, I make sure to include that. The more your designers and engineers can understand why this matters, the more interested they will be in working on it. In the end, you’re a team and everyone on the product team wants to be sure they’re building the right thing.

2) What are the use cases for this?

Most products end up having a variety of different users and ways that people use the product. To help your team better design a specific feature for the right part of your customer base, you need to detail who this new feature is for.

Be specific! A use case section that is just something like, “As a marketer, I want a mobile app so I can access my data away from a computer” is total weaksauce. Instead, provide the kind of context and detail that paints a picture of the situation:

  • On their way to work on the subway, content marketers like to check how their blog traffic is doing for items they published that morning or the day before. It helps them get into work and know how they’re doing before they sit down. If a number is low, they may try promoting it extra to try to raise the number. If the number is high, they may share the win with others on the team.

Could you picture that situation in your mind? Can you see Jenn the marketer opening an app on her iPhone while sitting on a subway car? I bet you could. Your team can too and they can also then start thinking about what the perfect (not just good) solution would be for them.

Write out as many use cases as you feel are needed. I often have as many as 4 or 5 detailed cases for a big feature.

3) What Problems do we need to solve?

Features are really solutions to your customer’s problems.  It doesn’t do any good to build a feature that doesn’t actually solve the problem, so it’s important to detail what problems you need to ensure the solution your team creates addresses them.

Problems should either be existing problems your product has (especially if you’re iterating on an existing feature) or the problems related to the use cases you just described above. Some example problems may be:

  • Performance Problem: Customers are experiencing frequent crashes. This feature is critical for customers and they are constantly having to refresh and start over, losing their work in the process.
  • Design Problem: Customers are having issues with the current UI. They can’t find key features that exist that they asked me for (Include a markup of the interface to show these.)
  • New Problem: Customers spend hours manually copying numbers to a spreadsheet and making their own visuals for their VP. If we automatically make those reports, we’ll save them time and can then have the VP see our branded reports frequently.

I usually write out 5-7 problems that a feature addresses in bullet form. If it only applies to some of the use cases I described, I’ll specify that as well.

I also try to rank the problems, so that the most important issues get the most attention.  Top problems may be because it affects the most people or functionality issues like the feature crashing constantly. When it’s time for tradeoffs when building the feature, having these detailed, ranked problems will help you make sure the right things avoid being descoped.

4) What are Future Considerations that must be accounted for?

Products are always evolving. Startups can be unpredictable, but you still know generally the direction you may be heading, especially if you’re driving hard towards product-market fit. Help your team anticipate what’s coming next whenever you can.

Depending on the feature, this could be very short or long section. If there are things you know are not going to make the first version of this feature but expect will be needed to be added later, be sure you tell your team! This section is all about avoiding hearing from engineering, “I wish you had told me that before we built [X]!” 

Balancing the present and the future is a constant struggle for a product. The best thing you can do for your team is give them the key information you know so they can do their best to balance their work against the present and future as well.

5) What is our KPI for this Thesis?

You should ask yourself, “What would make this new feature a success?” A KPI (Key Performance Indicator) is the most common way to determine that success since ideally you will tie the success of the feature to one or more of your company’s key metrics.

It’s okay to have more than one KPI, but keep it simple or there will be too many things to measure. When I’ve had multiple KPIs for a feature they’ve been things like:

  1. Support requests will drop by 90% for this feature after relaunch.
  2. Usage of the app will grow by at least 50% after relaunch.
  3. Because this feature affects the sign up flow, we expect a 5% lift in conversion after this relaunch.

You will fail sometimes, but by forcing yourself to quantify what you expect to happen, you will keep you and your team honest. By setting a number that you must hit you can also know when you should go back and iterate.

6) Further Reading:

Your main document shouldn’t be longer than 2-3 pages, so Further Reading can act as an Appendix for you.  In this section, I include links, screenshots, early mockups of ideas, markup of existing features for UX issues, and anything else that I believe would provide additional, helpful information and inspiration related to the project.

Remember: You want all the detail you can without the fluff and verbosity that makes engineers and designers skip reading it. Further reading is a great place for specific information that didn’t fit in the above sections and may be relevant to specific team members.

How does your team document what features need built next?