Diamond in the rough. Product discovery tools and techniques

20 Apr · 9 min read

Diamond in the rough. Product discovery tools and techniques

Software development tends to focus a lot on delivery. Just think of how many project management platforms are out there. From Jira and ClickUp, to Trello and Asana, these are just a few of the tools project managers and product owners use to make the process of implementing and delivering features smoother. But what if instead of a delivery-first approach, development teams would embrace a discovery-first approach?

Simply put, the goal of product discovery is to identify what to build and to make sure that what you are building addresses the real needs of your users. Rather than a process, product discovery is a mindset or a headspace focused on the constant improvement of your app as you gain more and more insight. This can happen before, as well as after delivery - also known as “continuous product discovery”. 

In this article we`ll be looking at some tools and techniques designed to encourage such insights, broken down by the stage in which you might find yourself in the product discovery journey. 

Getting in the product discovery headspace

Chances are, if you google “product discovery stages” you will come across a ton of different results. Don`t let the various naming conventions or ways of organizing things put you off. Overall, product discovery follows the same trajectory regardless of a project`s size or complexity, although the time spent on each stage might vary. This makes it a great framework for your team, as it won't change much from project to project and the steps you follow will always be roughly the same.

Source: unsplash.com

Source: unsplash.com

The problem (head)space

In the beginning, a big part of your product discovery efforts will consist in figuring out the problem space, although you will probably revisit these insights later on. Building the problem space means getting your head around users, competitors and working hypotheses. More specifically, it means:  

1.) Learning and understanding - this is the part where you look at things through the eyes of your users. Immersing yourself in their world also allows you to identify apps they might be using, similar to the one you are building. 

2.) Defining and prioritizing -  now that you understand your users better, you can start focusing on key areas and any patterns that might emerge. This will help you define your working hypotheses and choose the ones you`re going to build your product or features around.     

The solution (head)space

After you isolated specific user problems and decided which to tackle first, it's time to put your mind to work on viable solutions. In the solution (head)space you will be:  

3.) Ideating - this is where you can get creative and brainstorm different ways in which you can solve the same problem. 

4.) Prototyping and testing - from mock-ups to clickable prototypes and even full-blown deliverable MVPs, this stage is all about putting the work you've done so far to the test. This is also a good opportunity to identify any questions that still need answering and to revisit some of your assumptions.  

You might have noticed that each (head)space has two types of stages. A type in which you think broadly and try to consider as many things as possible (1. learning & understanding, 3. ideating), and a type in which you think narrowly and try to focus on key aspects and findings (2. defining & prioritizing, 4. prototyping and testing). This is called the Double Diamond approach and it combines two types of thinking, divergent and convergent, to generate valuable insights for your software product.

Diamond cut tools & techniques

A diamond cut is a design guide used when shaping a diamond. The cut of a diamond greatly affects its brilliance, therefore it's important to use the right guidelines and tools to nail down the symmetry, proportion and polish of a diamond. This holds true for product discovery as well. Below are some tools and techniques you can use throughout each product discovery stage.

Source: unsplash.com

Source: unsplash.com

1.) Learning and understanding

User interviews

User interviews have long been considered the core of product discovery. They are a great way to get to know your users and to validate your product idea. Be careful how you do this though, or, as the Mom Test reveals, people might end up unintentionally lying to you. In the book with the same name, Rob Fitzpatrick points out that the risk of people wanting to spare your feelings or to comply with expectations can be very high during interviews. Therefore, instead of directly asking users if something is a good idea, use The Mom Test to ask questions that even your mom can't lie to you about. This means:

  • encourage people to talk about themselves and how they use things in daily life instead of talking about your assumptions. Ask them how they use a streaming service, instead of asking them if they would like to watch movies offline.
  • ask about specifics in the past, rather than generic things in the future
  • take notes properly, don't be overly formal and try to involve your users in the next steps

   Regarding actual tools, there are a fair number of platforms which allow you to conduct remote interviews, in addition to in-person meetings, as well as to recruit participants through online incentives. You can also use instant transcription tools to automatically generate notes for you. This way you can stay fully engaged in the conversation without having to worry about writing everything down. 

Competitive analysis

The learning and understanding stage doesn't stop at your users. It means becoming immersed in the entire ecosystem, including apps and platforms similar to the one you are building. Read whitepapers and user reviews, schedule demo presentations, create free accounts where possible, take screenshots and write down features. At the end of your research, you will be able to create a competition analysis matrix. There are various kinds of competitive matrices out there, but two of the most popular include:

Features and benefits analysis -  here you do a comparison of features, trying to determine which features are unique or similar and identify potential competitive advantages.

SWOT analysis - this will help you identify areas in which you could improve by mapping out your strengths and weaknesses, as well as your competitors`.

2.) Defining and prioritizing

Now that you understand the ecosystem your software product is part of, you can start defining the user problems you want to focus on. In order to define and validate them, you can use the “five whys technique”. Essentially, this helps you get to the root of the problem by repeatedly asking “why” and prevents you from formulating the problem too loosely. In the end, you will be able to nail the user problem down in one sentence which covers exactly the thing you are trying to solve. 

After you have a list of user problems, you will need to prioritize them and decide which you should start tackling in the solution (head)space. To prioritize user problems you can use one of several popular frameworks:

The MoSCoW method - the abbreviation stands for “must have, should have, could have, will have” and it helps break features down into a spectrum from functionality which addresses core problems to nice-to-haves.

The RICE framework -  the name of the framework stands for the four factors used to evaluate product ideas and user problems: reach, impact, confidence and effort. Together they form a scoring system, where features or user problems with the highest RICE score are top priority. 

The Kano model - you can use it as a set of guidelines for identifying those features which are most likely to satisfy your users. Based on user expectations, these can vary from expected or basic features to exciting or attractive features which can help you gain a competitive advantage. 

3.) Ideating

The goal of ideation is to find as many creative ways of solving your users` problems as possible, pick the one which works best and prototype it in the next step. To come up with good solutions you can use innovation exercises and other ideation techniques such as:  


This is perhaps one of the most popular techniques for generating new ideas. While many people oppose “scheduling” creativity, a good brainstorming session needs to be well organized, have clear goals and a good sense of what you`re looking for. The goal of brainstorming is to keep ideas flowing, so be sure to have a list of compelling questions to kick off the session and variations of those questions if participants get stuck. While it may seem counterintuitive, adding constraints can sometimes spark new ideas: 

  • what if this needs to be like this, rather than like that
  • come up with 50 ideas in under 20 minutes
  • think of as many features related to X in 5 minutes
Source: unsplash.com

Source: unsplash.com

Mind mapping

This technique is used to visually organize ideas and see how they interrelate. You can use a physical whiteboard or any of the existing online tools for collaborative mind mapping. To brainstorm with a mind map, you can start with one central user problem in the middle of the whiteboard and add each new solution as a branch on your mind map. Solutions can then branch further out and become nodes themselves for other ideas. You can also color code your mind map to keep it organized or add images.     

Powers of ten

Sometimes, to see something in a new light you need to reframe it. Powers of ten is a reframing technique, where you consider the problem at hand through frames of various magnitudes. How would you design the checkout experience for someone buying dog food? How about for someone buying a yacht? How is the user behavior altered?  


Creating user-centered stories around the problem you need to solve can help you step beyond obvious solutions and uncover unexpected areas to explore. The user is the main character and the solution you come up with contributes to the transformation of the character and helps relieve dramatic tension. Or, you could go even further and use Vonnegut's story shapes to explore alternative narratives. The basic idea is that a story's main character experiences ups and downs that, if plotted on a graph, would reveal the story`s shape. 

4.) Prototyping and testing

Prototyping allows development teams to bring ideas expressed during product discovery to life and test if their proposed solutions are actually capable of solving the problem. Popular prototyping tools include Figma, Sketch and Adobe XD, while the type can range from sketches and wireframes to actual clickable prototypes. 

Recently, there has been a growing interest in no-code (or low-code) solutions for creating workable, clickable prototypes. While they come with some downsides, no-code tools allow you to build something for testing purposes a lot faster and make it easier to maintain. Here is a list of no-code tools curated by the founder of Product Hunt, covering anything from e-commerce to turning a Google Sheet into a website.

When it comes to testing, there are various approaches you can use, depending on what you are trying to learn and how advanced your prototype is. Popular testing techniques include:

Usability testing - here real users interact with your prototype and perform specific tasks. The goal is to mimic realistic conditions as much as possible.

User interviews & surveys - together with usability tests, they can help you understand how people are using your prototype in their own environments.  

A/B testing - you can use it to test potential improvements in comparison to a control group. 

Product discovery is key in building awesome software and in avoiding opinion wars, since all ideas and solutions are thoroughly investigated and tested. With the right tools and techniques, product discovery becomes a mindset, rather than a process, and it informs all your decisions regarding the software product you are building. If you are looking for a technical partner to join you on your product discovery journey, contact us

Comment as

Login or comment as