Promises of SONiC Network OS

4 February 2022


Product discovery—how to start smart with your app development

15 minutes reading

Product discovery—how to start smart with your app development

Developing a new application is quite a challenge. Doing it from scratch requires hours of research, a lot of time spent, and a substantial sum invested. The worst thing you can do is to develop a software product in a hurry – this leads to building an app with some cool features instead of developing a product that will be essential to end-users. To avoid such a situation, you should focus on understanding the users’ needs and requirements thoroughly. This is where product discovery comes in. Let’s take a look at why the product discovery process is such a big deal and dive deeper into each software discovery step you should go through to build a successful application. 

What is product discovery?

Product discovery is a process that enables you to understand customers and develop a digital product that perfectly suits their needs. Even better if it simultaneously provides unique unexpected value that facilitates daily interaction or eliminates the need for it altogether. Discovery is part of the product design phase – if you don’t accurately validate your assumptions about your customers, you will probably waste time creating an application that nobody needs, as well as waste your effort, resources, and money. Product discovery is often defined in contrast with product delivery. It’s the work that you do to make decisions about what to build. On the other hand, product delivery is all about the building, shipping, and maintenance of a quality product.

Why is product discovery important?

The software discovery process is crucial when you are expanding your business by launching new products or services, developing a new product, or upgrading existing products by adding new features. Andrew Chen, a leader of Uber’s Rider-Side Growth team, once said that ‘Growth is about proving or disproving a fundamental thesis.’ The product discovery process is important because it helps product discovery teams build the functionalities that are necessary to solve customers’ deep needs. To create such products, you have to collect enough data to prove or disprove your assumptions. A successful product discovery process:

  • Saves you time and money – cutting corners with user research may turn out to be a very expensive risk. Your software product shouldn’t be reduced to gambling on assumptions! Product discovery is a useful validation of whether your application really needs to exist. 
  • Makes your application more innovative as you incorporate user viewpoints from the very beginning of the development process.
  • Makes the lives of product designers and developers easier – they avoid spending time building a product nobody needs.
New call-to-action

Product discovery team – who should be involved in the process?

In the software discovery process there are at least three people that should be involved. They are called the product trio. The product discovery team consists of:

  • a product owner, 
  • a design lead,
  • a tech lead. 

Of course, other people can still (and in most cases, should) contribute. The number of product discovery team members depends on the project’s complexity and company size. The product trio collaborates to choose the right direction and define a common goal. They contribute a variety of perspectives and play a vital part in solving user problems. They interview customers together and, at the end of the day, execute assumption tests to make good product discovery decisions. The product discovery team usually uses agile and lean methods to make quick decisions on what to build and to verify assumptions along the way. In the next section, we’ll focus more on agile product discovery.

Do not forget that if you work on a networking product or application, a product owner should have an extensive background in networks. That knowledge becomes crucial every time input or verification of designs is needed. Whether it's as simple as just making sure all input fields and variables are a part of a firewall design process, or as complicated as helping designers figure out a complicated flow for server provisioning. Accompany that with their pinpoint knowledge of product goals and you have yourself the perfect link between business and design. 

Product discovery process 

There are usually five phases of agile product discovery. Following them helps you move your software product in the right direction. 

  • Product discovery team alignment – this step is made during the initial phase of product discovery. During a kickoff meeting, you discuss the needs of the project and develop a common understanding of the problem. You make sure all stakeholders are on the same page (read more on how to conduct a kickoff meeting). At this stage, you also validate your product idea and conduct competitive analysis.
  • User research – this stage is getting to know your target audience and collecting data to test if assumptions are right or wrong. To perform user research, you can use empathy maps, interviews, surveys, and user journey maps. There are two types of data you need to gather – quantitative and qualitative. 
  • Ideation – the ideation stage means moving forward to find ways to solve users’ problems. You should prioritize ideas and figure out what a viable solution is. At this stage, you should also define metrics to keep the progress of product discovery on track. There are multiple frameworks and tools, but the most popular are OKR and KPI.
  • Prototype and tests – time to create a mock-up to gather the first customer feedback. End-users are the only people who can tell you whether your idea is valuable enough to progress to product delivery. While prototyping and testing, try to stay agile – for example, use A/B testing that will help you quickly see whether an idea is worth continuing with. Don’t forget that this is still an experimentation stage. You just narrow it down to the best solutions to the problems you have identified earlier. When this stage of product discovery is complete, your design team should have a clear view of how a real user would feel when using the end product. Read more on how a UX prototype can improve your product.
  • Refinement – no project is immune to crisis and risk. If you want to create a useful software product, sometimes you have to move back and forth to align your users’ needs with your business goals. Very often, it is necessary to take a few steps back and check what went wrong during previous phases. When the refinement stage is over, you move directly to product delivery. Although it’s a very rare occurrence, you might need to pivot your idea if the research shows you’re likely to provide users with a product that does not meet their needs.

Bear in mind that the stages of the product discovery process depend on the project itself. Sometimes, activities can be omitted, split differently, or moved to the later stage. The time you spend on each stage might vary depending on your overall product strategy or the size of your organization.

For example, large organizations spend huge amounts of money on user research, whereas in the case of startups, user research is often scaled down.

Double diamond design model

Fig. 1 Double diamond design model

The most common mistakes in product discovery 

No matter if you follow or name each stage of product discovery as described above, there are some common product discovery pitfalls you should avoid. Below you’ll find the most common don’ts in software discovery:

  • Jumping to solutions right away without enough user research – understanding user needs is the most important step when it comes to building an app. Moreover, it still happens that product discovery teams are too eager to jump to a solution without unearthing the users’ problems first. The question ‘when is enough enough?’ often arises. In short, the user research phase in most cases ends when there is a clear and common understanding of the user needs among the product team. The understanding should be based on real data with as few assumptions as possible.
  • Not involving software engineers early enough – if you only bring engineers into the fold during the delivery stage, you are too late! Software engineers who don’t participate in the process of defining the problem won’t be able to fully grasp it. They will be two steps behind which leads to misunderstandings. Another thing is that software engineers may provide valuable technical insights.
  • Involving too many people – sure, two heads are better than one but it’s important to strike a balance in deciding who’s responsible for each part of the process. The more perspectives you include, the slower making decisions is. In consequence, you may end up with a large team moving too slowly.
  • Not having the right mindset – approaching the product discovery process requires the right mindset. You need a sharp focus on market trends to understand user problems and needs. In addition, you (and anyone else on the team) shouldn’t be afraid of asking questions.
  • Separating the discovery and delivery teams – the discovery and delivery processes shouldn’t be separated. If so, one group of people does the innovation while the rest just implement it. Every product team should be involved in both discovery and delivery, which guarantees efficient knowledge transfer and makes it easier to come up with new ideas.

Product discovery techniques 

Nothing can guarantee the success of your software product; however, some techniques can be extremely helpful in the product discovery process. There are many methods to choose from and different techniques depending on the project. While planning product discovery activities, you should include:

  • user research methods (involving studying users’ problems, needs, and behaviors through surveys, interviews, focus groups, etc.), 
  • market research methods (focused on gathering information about potential end-users and their preferences), 
  • secondary research methods (including gathering information that already exists in books, reports, papers, databases, etc.), 
  • and other methods like design thinking or lean startup methods.

Design thinking is an approach often used in creating new products. It’s about gathering data about the target audience’s needs and producing creative ideas to meet them. This technique is mostly focused on finding a solution that is desirable from a human perspective and, at the same time, technically feasible and financially viable. Lean startup methods are used to reduce waste within a business. They give a holistic view of the organization and let you analyze how different aspects influence each other. You can address your product directly to user problems.

Next steps 

Once the product discovery process is complete, you can move to the next stage – product development that involves building a minimum viable product based on the competitive landscape, user research, and creating a product roadmap. An MVP is a way to test the product in a real-life scenario and, at the same time, collect important market feedback. 


Making product decisions may be challenging. There is always some risk involved and the product discovery phase helps you connect your application with real user needs. Agile product discovery validates a product idea and defines users’ problems. It is a way to build a customer-oriented solution in the most cost- and time-efficient way. While you may be able to get away without carrying out the product discovery process, it is a serious risk that can cost you money and time.


Sebastian Janiec

UX Designer

Marek Nowakowski

UX/UI Designer