What is Project Discovery Phase in Custom Software Development

So, you came up with a new product idea. What’s next? For sure, you want to get a time and cost estimation from a software agency. However, most likely, they won’t be able to provide an accurate timeline and development costs after your request.

The matter is that to provide an estimate, a development team needs more information than you think. Is there any solution in this situation? Sure, it is a project discovery phase.

In this article, we will share a brief overview of a project discovery stage, and cover its goals, main tasks, and results for customers.

What is a project discovery phase?

A project discovery session is the first and foremost stage in web product development. To put it short, its main goal is to collect information to define the requirements and analyze the customer’s business needs. As a result, clients get accurate project estimation and development costs.

This phase is also important for software vendors. It allows them to clear up and define the following questions:

  • What are the customer’s business and its aspects;
  • What is the application target audience;
  • Who are the product end-users?

At Codica, we pay much attention to this development stage discussing a product, its business goals, and the target audience with a client. We always ask questions that allow our project team to explore the subject area. This way, we define bottlenecks, offer high-level solutions, and build a project roadmap.

As a result, we provide a client with an application wireframe, prototype, and design. They represent the final product interface and simulate user interaction.

What are the possible formats of project discovery phases?

There are three efficient options to conduct a discovery meeting: at the agency’s office, on the client side, and remotely. You can choose the most suitable format for your team. For example, the factors to consider can be the time difference, distance from your development partner, and of course your personal preferences.

If you do not have an opportunity to visit the software vendor’s office or invite them to come, you can organize a remote project discovery stage.

Below you can see a photo from a project discovery session with our customer.

Project discovery phase held by the Codica team and our customer

What are the key roles in the discovery phase?

Usually, there is a certain list of specialists that take part in a meeting from both the development agency and the client. Let’s take a look at the main participants and their roles:

  • Business analyst/Product manager

Business analysts/Product managers analyze, collect, and structure the input data from clients. They facilitate a discussion process and make a list of clarifying questions. Product Managers form epics and user stories that will be transformed into an estimate for a client. The main goal of a Product Manager is to make sure that both sides are in sync about the goals.

  • UI/UX designer

Web designers elaborate and discuss the requirements and preferences. They analyze the target audience, end-users, and competitors. This information is important to build a visually appealing and intuitive web solution based on the client’s demands. They are also responsible for giving accurate estimates on each stage of the product design process.

  • Lead software developer

Lead engineers are responsible for technical solutions. They analyze the artifacts (documentation or requirements that help understand the project architecture) of the project discovery phase during the meeting. It is crucial to make sure that the designed business logic is feasible within the development process. Finally, technical specialists offer the best architectural solution.

  • Stakeholders

Stakeholders represent the client’s team and deliver their business idea to a software company. They explain what the product is about, its goals, and their expectations and requirements within a project.

To conclude, a project discovery phase will help you determine the scope of work, timeframe, and accurate project estimates. As a result, a software agency offers you the most efficient solution based on your requirements.

The main tasks of a project discovery phase

Let’s take a look at the core tasks of a discovery phase:

1. Explore the subject area

In the beginning, a client and a project team investigate the subject area, analyze product concept, market, and competitors. At this stage, a client explains how the product should work, its main functions, and user flow.

2. Identify bottlenecks

When a client team provides their expectations on the product, a software agency analyzes the input data and discusses the project bottlenecks. It may include a certain feature or business logic implementation.

3. Discuss high-level solutions to the expected challenges

After that, technical specialists provide high-level solutions to the expected project pain points. A software agency explains to a client why a certain architecture solution perfectly meets the set requirements.

4. Define priorities and discuss a project scope

At this stage, project discovery stage sides move to identifying priorities for tasks and form a project scope. This phase is important for web app developers. They collaborate with Product Managers to efficiently allocate resources and prepare for the development process. A formed project scope allows clients to see the user stories that are crucial for providing accurate estimates.

5. Create the roadmap of the project

As a result, a software development company and a client’s team build the project roadmap. It is a graphical, high-level overview of the goals and deliverables presented on a timeline. This can help you organize many different components that go into launching a new product. Project roadmaps are useful as they allow clients to keep an eye on the big picture amidst many tactical initiatives.

6. Provide project cost and time estimate and form project documentation

The final goal of a project discovery phase is to form a list of documentation materials. It should include an accurate technical specification, the project’s roadmap with estimates, and wireframes. The latter may also contain clickable prototypes and product design. It depends on the elaboration of work.

The main tasks of a project discovery phase

Summarizing, a project discovery session is an important process between a client and a software vendor. It can include different stages depending on the agency and customers. However, each project discovery phase should begin by exploring the subject area. Then, it can include defining bottlenecks, discussing high-level solutions, defining priorities, forming a project scope. Finally, the contractor should build a product roadmap.

Examples of questions to discuss

Each project discovery session has an individual plan prepared for every new client. The main list of questions during the meeting may vary depending on the customer’s business, goals, and requirements. However, there are still some basic inquiries. Let’s take a look at them.

  • What is the business goal?

An agency asks clients about the main problems their product will solve. This information is important for understanding the overall solution concept.

  • What is the product’s target audience?

It is crucial to define the target audience for a solution and build the buyer persona portrait. These stages include defining users’ demographics, ages, geolocation, habits, etc. They will help build a customer-oriented product.

  • Who are the main competitors?

Competitor analysis allows identifying the core weaknesses and strengths of the existing products in the market. This information is useful to stand out from the crowd and build a unique and valuable solution.

  • What is the project’s timeline?

A timeframe is the easiest and most efficient way to track and manage a project’s planned activities. It gives a clear picture of the project’s course at a single glance.

  • What is the budget for the project?

This information is crucial to define whether the set requirements are feasible to implement. It results in an accurate software estimate from the development company which is important for both parties as well.

In conclusion, the basic mentioned questions help define the main demands and requirements. Questions are an integral part of every meeting that should be personally adapted for each new client.

What will you get after a discovery session?

By the end of the project discovery phase, you will get the following results:

  • A fully structured plan of works with time estimates and accurate deadlines;
  • A detailed project’s roadmap presented on a timeline;
  • A project scope with an accurate technical specification;
  • A specific price for the whole project development process;
  • A wireframe, prototype, and final product design that will represent the real application user flow and functionality.

So, the main outcome of a project discovery phase is to get a detailed project plan with time and cost estimates. Also, it includes building a product roadmap with technical specification, project scope, and wireframes. They can be upgraded to clickable prototypes and final product design if needed.

Let’s take a closer look at the part of the design stage that allows you to test the product before development.


A wireframe is a final product design skeleton. It schematically shows the basic application structure and functionality. It should be created quickly and look aesthetic, albeit simple. Black, gray, and white colors are a typical wireframe palette.

Main goal: show the basic content groups, information structure, and the way users interact with the interface.

Participants: Product Manager, web designer, client.

Necessity: implement and test a custom scenario to show a client how users will reach the desired result; evaluate the design in a project discovery phase and create an interactive prototype.

We will present to you the different stages of product design in this chapter. Below you can see an example of a wireframe designed by Codica team.

Application wireframes designed by Codica team

To sum up, wireframes give clients a preliminary understanding of the future UI/UX infrastructure. This way, a project team can decide what screens to include in the clickable prototype.

Clickable prototype

A prototype is a mockup that represents the final product simulating real user interaction. It is clickable which means users can experience app functionality, navigate through the main pages, open drop-down menus, and so on.

In fact, you may think that an interactive product prototyping is a copy of a final product. However, it only simulates the way users will interact with the solution interface.

Main goal: test the ways of user interaction with an app and simulate the user experience.

Participants: Product Manager, web designer, and client.

Necessity: help clients show the solution idea to stakeholders, get valuable feedback from end-users, and test real user experience before starting the development process.

Related reading: How to Create a Minimum Viable Product (MVP)

Below is an example of an application prototype designed by Codica team.

Application prototypes designed by Codica team

In a word, prototyping is a powerful approach that allows clients to see how the final product will work. It gives an opportunity to simulate real user interaction, get valuable feedback, and come up with new ideas on application.

You may find interesting: MVP and Prototype: What’s Best to Validate Your Business Idea?


When wireframes and prototypes are created, you can turn to approve the final application design. It is the process of planning, conceptualizing, and arranging the content for your web solution. It can include both User Interface (UI) and User Experience (UX) design. It means creating a visually appealing application with intuitive navigation for users.

Main goal: define the basic application style and build easy-to-use user flow.

Participants: Product Manager, web designer, and client.

Necessity: define the final product style and build intuitive user flow for potential customers.

Take a look at the following video of user interaction with the solution built by Codica team.

In a nutshell, web design is a conceptual development of the application’s user interface. It includes both UI and UX design to build a visually appealing and easy-to-use solution. When the final product design is built and approved, you can start the development process.


A project discovery phase is a useful and efficient way for clients to present their product idea. They identify business goals, desired outcomes, and get accurate time estimates and web app development cost. This way, both customers and project teams become ready for a clear and transparent development process.

At Codica, we devote much attention to this development stage. We ask questions that allow our project team to explore the subject area, its bottlenecks, offer high-level solutions, and build a project’s roadmap. Finally, we provide a client with an application wireframe, prototype, and design.

If you already have a project idea to discuss, contact us. Our custom web application development company will be glad to organize a project discovery phase and, with its help, turn your project into reality.