Why Start Your Software Project from a Discovery Phase

10 May · 12 min read

Why Start Your Software Project from a Discovery Phase

The discovery phase is perhaps the most critical aspect of software development; ironically, it is also the most overlooked. 

How does the development process usually go? Businesses that need digital solutions for their businesses and tech startups need to ship quickly. Software development includes Planning, Analysis, Design, Development, Testing, Integration, and Maintenance stages. Business analysts, project managers, team leads, developers, designers, UX copywriters, QA specialists, and other members of the development team — depending on the complexities and requirements for the job — work through these stages to bring products to users. The development stage is usually the most time- and resource-consuming. It is not the most important, though. 

Sometimes, Planning and Market analysis include discovery phase activities, but, because 42% of startups shut down because there’s no market demand for what they’re building, it’s not a common thing. 

Building fast and breaking things is a success formula only if you know the product is needed; the discovery phase is critical for figuring that out. 

According to Diversido, a software development company that focuses extensively on the discovery stage before going full-scale on any project, skipping it can cost people’s businesses. This article will focus on why; it will explain what is the phase’s component and why it’s important to work through it for any new product or service.  

Understanding a Discovery Phase for a Project

The discovery phase (it’s also often called foundational) includes researching a project's idea using market data to test its viability or feasibility. Its activities help founders and BAs figure out if an idea works in real-world settings by throwing it there. It also helps pinpoint potential risks and how best to tackle them. 

If the goal of development is to build the product, the discovery phase’s goal is to validate it before investing in development full-on. 

It also highlights potential uncertainties, is built on extensive user research and testing, and saves costs and efforts if the businesses’ ideas aren't as good as the founders thought them to be. 

The discovery phase should reveal the following information:

  • Target audience
  • Value of the product and its key features
  • Competition's products
  • Costs and timeframes of implementing the project
  • Market dynamics
  • Feasibility and desirability of the project

The discovery phase also outlines the vision and direction of the project to ensure that the different team members are geared towards the same direction. 

Benefits of Discovery Process for Software Development

So, what are the pros of going through the discovery phase before getting to the hardcore software development part of things? 

Helps to Develop Accurate Forecast

One of the critical matters discussed during the discovery stage is developing a roadmap for a product and a budget for it to cut extra expenses that can be cut and save resources for a team. 

Statistics show that running out of cash is a major problem businesses face. The discovery phase helps you determine the financial implications of investing in your project via research, studying users' journeys, and user testing. All these help pinpoint features and functionality that hold the most value for your customer and make them a priority in development. That allows you, from the very start, a clear understanding of how much money you’ll need to demonstrate the project's value as soon as possible. 

Minimize Risk of a Setback

The discovery stage gives an idea of the risks encountered during the project's lifespan. These risks might be regulatory, financial, and technological. For example, in building software for payment solutions, one of the risks to look out for is data leaks caused by hackers or because of human error. The discovery stage highlights these risks because it implies learning about the most common issues products from your niche face — and frequent cyber fraud and data breaches always make the news. Then, you can allocate the costs for building a secure architecture to deploy and cybersecurity training. 

The discovery phase also helps to understand how many people you need to complete the projects, what skills they should have, and what resources they will need. Apart from that, with main features prioritized and potential users always in a loop — the discovery phase includes the development of prototypes and UX tests among a real audience — the risk of building something no one needs is mitigated. If something doesn’t feel right for users, teams spend additional time adjusting a feature or other part of the functionality, communication, etc. That helps solidify the value of a project. 

Provide a Clear Understanding of Common Goals

The discovery phase helps the client and development team (or stakeholders and development team) understand each other and make sure they are aware of common expectations and goals. 

When the outsourcing or a partnership with a third-party development team are involved, the client is, at most times, a non-technical person with an idea. The discovery phase is needed to connect high-level business objectives and abstract ideas to concrete technical choices to be implemented. Prototyping prepares the groundwork for building big products. User research helps stakeholders break possible misconceptions about their customers, and market research — about competitors. The development team helps stakeholders to pick fitting tools for the value a product is supposed to provide. 

Everyone’s vision is aligned, and, once again, the risk of making a massive and costly mistake that usually happens if the product is built in isolation is avoided.  

Reduce Amount of Edits and Corrections

With all of the above, it’s clear that the discovery phase cuts the cost of edits, rework, and errors a lot. A plan prepared in advance helps map a clear development process. User research provides an opportunity to fail on a small scale and fix it right away. Hypothesis testing in small projects is often a matter of days and making it an afterthought can cost millions of dollars.  

Apart from that, a lot of startups suffer from not having a solid roadmap in software development, and not being able to prioritize. Technical owners and their teams tend to get stuck in the innovation loop — they program and build for days and weeks, completely disconnected from their users. With the help of wireframes and prototypes, data from user interviews and UX research, technical documentation, and so on, the discovery phase makes work-to-be-done more visible. Therefore, the probability of someone getting things wrong is lessened, and there’s less rework. 

Combine Business Goals and Expectations of End Users

With the entire purpose of the discovery phase being to validate the project, the main activities within it are connected to the communication with users. User research — especially in the form of interviews with potential customers and user testing — often reveals flaws in stakeholders’ assumptions about the market and the idea. 

We’ve covered this aspect in part in the previous paragraph — the goal is not to build something no one needs, but there’s another thing. If an idea doesn’t have value or doesn’t exactly resonate with the audience (e.g., they like it but they aren’t ready to pay for it), the discovery phase helps teams align their vision for the product. Market research is a way to discover untapped opportunities, underserved audiences, issues no one has addressed, etc. The discovery phase is where you grasp product-market fit even if you didn’t have it before. It helps you find and expand a product's potential. 

What Challenges Discovery Phase Can Have

Why do so many teams don’t go through the discovery phase, then? 

For some people, it’s too time-consuming and expensive. For large, ambitious projects, that can be true at least in the former aspect. But the discovery phase is the upfront investment businesses need to fail-proof — as much as possible — their business and their software. The potential costs of rework (or, again, of building a wrong thing) are avoided when a successful discovery is carried out. It is worth your time and money — especially if you’re building complex software and plan to scale it. 

But, if you have a small-sized project, a meeting or two is enough to draw up a plan for a product and gather some market research — no need for large investments in the discovery phase. You can compensate for its absence by adding a validation phase at the end of each development cycle; by regularly testing what you’ve built against small user groups each several weeks. 

Another criticism of the discovery phase is that the whole team needs to be involved in the process. But it’s sensible: everyone should be involved to avoid misunderstanding and miscommunication that also costs a lot of resources. 

Challenges of going through the discovery phase also often come to the fact it often looks like going into the research hole. Everything is chaotic, information that’s gathered isn’t structured, and goals (and indicators of “done”) aren’t defined. That can become a real problem. That’s why we recommend treating the discovery phase as a separate sub-project with clear deliverables.  

Doing a Discovery Phase: How to Start?

The discovery phase provides a compass for the team to navigate their way towards achieving the goals of the client. Now, the best way to define the deliverables we mentioned is to develop a set of questions you need to answer and assumptions you need to check, e.g. “Are users from X segment really solving the Y issue in a way our product offers them to?”, “What are the other ways of solving these issues in digital space?”, “What are they unhappy about when they interact with existing solutions?”, etc. 

The main activities the discovery stage includes are. 

  • Carrying out user research

Software needs to be useful for end-users and satisfy their expectations. Talking to your potential users and studying what they think about a) the issue you try to solve, b) existing software that deals with it, and c) the way this issue can be addressed — are essential to building a successful product. 

  • Outline the value proposition

Which value does your software provide to the target audience? How is it different from what competitors offer? What can they do better with your software? How does it change their life? These questions may seem vague but they help highlight the unique value of your product and position it among other solutions. Software, when we’re used to it, becomes transparent; what we do with it is what matters. So: figure out what functional and emotional benefits the end-user will get when using your product. 

  • Understand the broader market context

A vital step in this preparatory step is market research. The market research data gives insight into the current software projects, the gaps in the existing software, and features that might gain traction. 

Apart from that, market analysis within a certain segment (e.g. apps for mental health, apps for hotels) will help you find out what current users of these solutions don’t like about them. That might help you solidify your idea. 

There’s also a question of compliance and regulation, as we’ve mentioned. Don’t skip the legal parts of building software in the industry you’ve chosen, especially if it’s healthcare or finance. 

  • Establishing goals and defining success

The discovery phase is where the benchmarks and success criteria are set. A well-structured plan with corresponding goals for each stage is essential to the team’s understanding of the project. Vague ideas are made well-defined and given a clearer direction in the discovery phase.  

The discovery phase is important for startups specifically partially because it gives the team a great foundation for pitch meetings and other talks with investors. They are much more likely to be interested in the project when they see a clear vision for it and see user feedback. One of the success metrics you can introduce is, for instance, positive reviews from users, emails, left on a landing page with your prototype, – or, even better, $ tips users left after trying out the prototype.  

Typically the following persons make up a discovery team in software development. 

  • Product owner

The product owner is the client (if you work with a third-party vendor or an outsource company) or stakeholder (if you’re working with an internal team) who shares their ideas and vision of the product with the team. He also provides the scope, and requirements, and negotiates the funding for the project. 

  • Software engineer

Within the discovery phase, the engineer's job is to a) find tech solutions that fit the product owner’s goal, b) help build prototypes or front-end of the solution to share with users, c) plan out the internal architecture of the future product (if it’s needed for product validation.) 

  • UI/UX designer

Within the discovery phase, designers create sketches, prototypes (clickable and not), and mockups that are shared with users and product owners. They also often work with the audience during user tests, watching how they use the prototype, asking what is missing, what’s not clear, etc. UX research gives a huge boost to an app’s value. 

  • Business Development Analyst

Business analysts connect everyone in the team and make sure a) stakeholders are aware of data from user and market research and understand their implications, b) developers and designers, too, know what’s going on in the market, c) the product team finds technical solutions that meet both users’ expectation and stakeholders’ vision. BD specialists also research possible ways of product monetization. 

  • Project manager

Project managers oversee the project and serve as the link between a client (or stakeholder) and a team. They facilitate communication between team members, make sure they understand what’s expected of them, sets deadlines, etc. 

The steps in discovery meetings are:

  • Reviewing market and user research
  • Development of design model or prototype
  • Reviewing feedback for the prototype by target users
  • Documenting features that convey the prototype’s value and prioritize them
  • Outlining features, timelines, and financial commitments needed to deliver the project

The duration of the discovery phase depends on the complexity of the project. It ranges from 1-3 days for a small project and 1-2 weeks for medium-sized initiatives. Large-scale projects’ discovery phase can take weeks or months to conclude. 

Why You Shouldn’t Ignore a Discovery Phase

The research gives your software a clear direction, which is vital to the success of further development. Skipping the discovery phase may result in:

Lost product-market fit. The discovery phase helps teams make sure their product is needed. If teams skip it, they often pay the price of missing the audience, rework, etc. 

Spiraling costs. A lack of a clear focus in the project will necessitate many changes and fixes in the product's design, which invariably leads to expenses beyond the budget. 

Delays. In the discovery phase, milestones and deliverables are set, which all team members work towards. Not doing that can result in missed deadlines. 

Undefined scope. With the discovery phase setting your development priorities, your team won’t be distracted doing the things that aren’t immediately needed for establishing a connection with your audience and giving them value. 

Within the discovery phase, you gather everything to know about the product-to-be-built and its future users in one place. It shows the gaps, uncertainties, and changes a team needs to consider for a project to be usable, wanted, and profitable. 

In that sense, these activities are very similar to working with a business model canvas. In the end, the discovery phase does help businesses refine their business model and urge them to ask and test a lot of questions about their idea and people who might benefit from it.

Comment as

Login or comment as