Why You Need Discovery Phase In Software Development Project

By Maryna Cherednychenko

According to a recent study, almost half of IT projects exceed the planned budget. This figure is critical because the lack of money postpones the product’s launch or suspends it at all. One way to avoid such a situation is to pay special attention to discovery and planning. At this stage, the customer and the contractor agree on all the details and clarify nuances. This post will take a closer look at the topic. We’ll show how the project discovery phase goes at Softensy and what deliverables we provide to stakeholders. The article will be valuable for those who plan to outsource software development and gather info about such cooperation.

What Is Discovery Phase In Software Development?

The discovery phase is needed to draw up a detailed project estimate which describes the tech stack, team composition, development stages, and the time and prices required for their implementation. While discussing all the project details, clients and contractors get to know each other better. Stakeholders assess the team’s professional level by how they negotiate, what questions ask, and what conclusions they draw. Learning the teamwork environment, owners make the final decision whether it is worth working together further.

The duration of the discovery phase highly depends on project complexity. Sometimes, a few days is enough to get a full picture of what is needed. In other cases, it may take up to several weeks to learn product nature and study all the requirements.

The discovery phase is essential for both parties in the development process. For developers, it reveals the scope of work and helps estimates available resources. For customers, it brings a realistic picture of product functionality and deadlines.

Benefits Of IT Project Discovery Phase

Build trust-based relations. Thorough discussions help clients and contractors land on the same page. Stakeholders learn more about the tech side of the project while the outsourcing team delves into the customer’s business details.

Find a common view about the product. The discovery phase allows expressing an opinion about software features. Clients and devs introduce their versions of the future app and agree on the final look and feel.

Study market and competitors. During the discovery phase, the business analyst (BA) studies the users’ needs and similar products. They prepare a detailed report on the target market to choose the right vector for the project development.

Pick up a suitable technology stack. During the research phase, developers explain what technologies they are going to use. This helps customers learn the technical side of the process and plan future costs.

Minimize the chance of over-expenses. A thorough dev plan and a full features list allow you to calculate the project’s price with maximum accuracy. Time spent on planning pays off in the absence of sudden costs and overcharges.

Discovery phase benefits

Participants Of Software Discovery Phase

Other discovery stage participants are project managers (PM), developers, testers, and designers. Each of them contributes to business research and product planning to achieve the best result in set deadlines. Here are the typical tasks the team members do:

BA researches and analyzes:

  • company needs
  • project state
  • end-users
  • available docs
  • desired result

PM organizes and prepares:

  • workflow stages
  • team members’ assignments
  • time frames
  • cost estimates

Devs advise on:

  • product architecture
  • tech stack
  • development time

QAs help to:

  • assess risks
  • do research

Designers work on:

  • sketches
  • mockups
  • prototypes
Discovery phase participants

Tools Used During Discovery Phase

RACI matrix. It distributes roles defining responsible, consulting, informed, and accountable persons. Using this technique, we allocate work types and assign responsibilities to team members.

Scope modeling. It delivers a visual presentation of project-related activities: features, processes, functions. You can use any scope model form to illustrate them in the most accessible format. At Softensy, we usually apply System Context Diagram to list project tech details.

Root cause analysis. This technique includes a set of methods to help you identify the problem’s root cause and find a solution. From our point of view, the most effective ones are

  • Brainstorming
  • Five whys
  • Flowcharting
  • Fishbone Diagrams
  • Affinity Diagram

Personas and user stories. These techniques help identify the target users and guess how they will use the app. Personas represent people who might be interested in your product, while stories describe their step-by-step interactions with the product.

Feasibility analysis. A development plan is only needed when it is realistic and possible to release. Feasibility analysis confirms the game is worth the candle, and the company has enough resources to implement it.

SWOT analysis. PMs use SWOT analysis to evaluate the project’s strong and weak points. This technique helps them fix problems and quickly remove gaps in current processes.

Example of using RACI matrix

Discovery Phase Steps

Step 1. Define business goals. It is vital to realize why customers want to develop a particular product. Knowing the reasons will help you choose the right direction and advise a suitable solution. For example, if they struggle to increase customer loyalty, suggest custom CRM. If they want to reduce the load on the contact center, tell about chatbots. If their goal is to simplify payments, offer a payment gateway.

Step 2. Identify target users. Who is the product meant for, and who will adopt it? These may be end-users, staff members, top managers, partners, etc. Knowing your target audience doesn’t just define a feature set. It helps create the right image and style of software and convey its message in the best possible way.

Step 3. Learn stakeholders. By stakeholders, we mean all parties that have a significant impact on the course of the project. Moreover, these parties are not necessarily people. Laws, policies, and rules are of no less importance. For example, when working on the payment gateway integration project, our BA strictly adhered to the PCI-DSS requirements and considered it one of the main influencers.

Step 4. Know competitors. Except for browsing similar apps, it is necessary to try yourself in a user’s role. For example, when we get an order to make an eCommerce store, our BA visits similar sites and buys goods and services there. If we need to develop online banking, the BA installs a banking app from the same region and applies for a card.

Step 5. Study project gaps. At this stage, the BA compares the current project state with the ideal result and defines what is missing. If the project is entirely new, all the terms are written from scratch. If there are some code samples, the outsourcing team and the customer decide whether they can be further used and if any changes are needed.

Step 6. Prepare documentation. The research phase ends with the docs preparation. The BA draws up several paper types and gives them to the client for approval. Usually, the docs package consists of:

  • general project description
  • use case plan
  • personas list
  • user journey map
  • backlog documentation
Discovery phase steps

Summing Up

This article was originally published at Softensy.

Softensy specializes in fintech development and enterprise-level apps. Our team helps companies automate business processes by developing software solutions.