Software Development Process: A Dive into Product Discovery
By Michael Oragwa
Product Discovery is a culture that exists in every successful product team. The days of gathering requirements from business stakeholders and documenting them in long product requirements documents are vanishing. We no longer take months or years to release value to our customers. Instead, product teams are experimenting their way to viable solutions. We are putting our customers first, taking the time to discover unmet needs, and developing solutions that address those needs as fast as possible.
In software product development process, certain activities are usually carried out. The process encompasses all steps needed to take a product from concept to market availability or even as little as improvement, building a feature or set of features on an existing Product. Software Product Development starts with Product Discovery and ends with Product Delivery.
Product Delivery is the set of activities or steps from a Software Developer or Engineer finishing work on a new feature or set of features to that/those feature(s) being used in production.
Product Discovery, on the other hand, are all activities carried out to determine if and why a product, a feature or set of features should be developed or improved upon. It is a method of deeply understanding your customers or users (customer-centric), to develop products that perfectly suit their needs, wants, or desires. It’s a critical stage in the product development process because if companies do not accurately prove or disprove their assumptions about their customers and users, they may waste time building products or improving products that nobody needs or care about.
Product Discovery Goal
There is always uncertainty when it comes to making product decisions. We conduct product discovery because we want to reduce the risks around what we decide to build. Sacrificing discovery usually leads to a disconnect between user needs and the products that are built.
The main objective in carrying out Product discovery is to promote an environment of learning that will help you improve your product incrementally and consistently. It helps your team laser-focus on the problems and needs of users, and sets them up to obtain deep user insights through continuous learning.
Approach for Conducting Product Discovery
Product discovery is an iterative process of determining the market need for your solution. Typically, Product Teams are either working on the problem space or the solution space. They’re either still trying to understand whether a problem exists for their users, customers, or stakeholders (problem space) or they are focussed on executing a matching solution (solution space). It helps in broadly understanding the problem and clearly working towards a solution.
Double Diamond Structure and Opportunity Solution Tree, are popular approaches for conducting Product Discovery. They are used to understand problems and explore creative and innovative ways to solve them.
The Double Diamond Structure
Using this structure, we approach problems and solutions by using two (2) different types of thinking: divergent and convergent.
Divergent thinking — to think broadly, keep an open mind, consider anything and everything.
Convergent thinking — to think narrowly, bring back focus and identify one or two key problems or solutions.
There are four phases to this approach:
Discover: Applying the double diamond to product discovery starts by employing divergent thinking to capture all the problems to be solved. This phase involves research as well as interaction with users, customers or other stakeholders that are involved in the development of the product, set of features or feature, to have a good understanding of the problems to be solved.
Define: Upon capturing all the problems, the next step is to employ convergent thinking to prioritise the problems to be solved. At this stage, we begin to focus on key areas now, starting to converge on specific experiences within the customer journey or in relation to the problems we want to solve. At this point, General problems are converted to specific problems or opportunities.
Develop: This is the third step, which is also halfway through the double diamond. At this stage, we have already decided on the specific problems we want to solve or address, we then employ the divergent thinking again to ideate and brainstorm solutions to those specific problems that we have identified and decided to solve. Because we are thinking divergently at this point, there is no right or wrong solution. We focus on collating all possible solutions, by discussing with all stakeholders.
Deliver: This is the final step of the double diamond approach, In this last step we practice convergent thinking again, focusing on what we can actually deliver and which solutions will solve the users’ needs, wants or pain points. At this stage, we prototype specific solutions to specific problems we have identified and then decide on the specific solution to deliver based on tests conducted, feedback from users and stakeholders.
The Opportunity Solution Tree
According to the Initiator — Teresa Torres, a product discovery coach “Opportunity Solution Tree, a simple way of visually representing how you plan to reach the desired outcome. It also helps make implicit assumptions explicit. Opportunity solution trees help you to navigate opinion battles, frame your decisions as ‘compare and contrast’ rather than ‘whether or not,’ align around a shared understanding, and communicate how you’ll reach the desired outcome.”
The Opportunity Solution Tree is a visual representation of how you plan to achieve your desired outcome. It is used to approach the product discovery process through the non-linear organization of ideation flows, experimentation, and identification of gaps.
There are the four steps to creating an Opportunity Solution Tree:
- Define a clear desired outcome
- Discover Opportunities
- Discover solutions that deliver on those opportunities
- Experiment to evaluate and evolve your solutions
Define a clear desired outcome: This is the first step. At this stage, we define what our outcome is for the product, feature or set of features. We define what we really want to achieve by narrowing our goal to a single metric (e.g., revenue, customer satisfaction, retention, etc.).
Discover Opportunities: This step involves research as well as interaction with users, customers or other stakeholders, to understand and discover the needs and pain points of your customers (Opportunities). We discover opportunities to drive our desired outcome.
Discover solutions that deliver on those opportunities: The third step involves ideating and brainstorming solutions to those specific opportunities that we have identified and decided to solve. Note: These potential solutions must directly link to an opportunity that has been identified — otherwise, it’s just a distraction from the primary goal of your Opportunity Tree Solution. It is also at this point that Product Strategy comes in, where companies choose different solutions to deliver on the same opportunities.
Experiment to evaluate and evolve your solutions: The last step is experiment, At this point, the following questions are answered: Is the solution viable? Does this solution deliver on the opportunities in a way that drives our desired outcome, and also have an impact on our customers in a way that creates value for our Business?
In Conclusion, While it might be tempting to keep your team busy and focused on Product Delivery, it is better to focus the entire team more on Product Discovery. That’s what true cross-functional collaboration is about, everyone gets involved in deciding and figuring out what should be built.
There are many approaches to Product Discovery, It is not limited to the Double Diamond Structure or The Opportunity Solution Tree. Different Product teams adopt different approaches that work for them. However, the objective remains the same — Defining a product that is valuable, useful and feasible According to Marty Cargin (Author of Inspired).
Sometimes product discovery is straightforward; other times, it is extremely difficult and maybe time-consuming. It is however important that product teams get involved in Continuous Product Discovery process and make product decisions onset of signals for all products, feature or set of features before building.