Discovery Phase: Why Every Custom Software Project Could Use One

Discovery Phase: Why Every Custom Software Project Could Use One

When you contact a software development agency and ask them to estimate your project, it’s often hard for the developer to give you an accurate estimate. There are just too many unknowns. The Discovery phase serves to get answers to all the key questions, so that you can get a realistic quote—in terms of time and budget—for your application.

In addition to getting an accurate estimate, you can get to know the company (if it’s your first time working with them) and then decide whether you’d like to do the entire project with them. It is not uncommon in our industry for the client to do the Discovery phase with one vendor, and then bring the resulting roadmap to the in-house team or another developer.

What Is the Discovery Phase?

The Discovery phase is a short-term project aimed at uncovering the envisioned product’s details that could affect its feasibility, timeline, and/or budget. Once these specifics have been determined, the vendor can give you an accurate assessment.

Every custom software project goes through the Discovery phase in one form or another. Often, it’s not singled out as a distinct step but happens before the project kicks off anyway. Although it’s rare, sometimes the client does not need a Discovery phase because they have done it themselves. This means they have business analysts and technical specialists on their side who can do the legwork and collect the necessary information. For everyone else, especially if your project is non-standard and you haven’t worked with us before, we highly recommend undertaking the Discovery phase.

How Long Does the Discovery Phase Take?

The way we approach this at ObjectStyle is we try to keep the Discovery phase lightweight. We avoid “imitating hard work” as much as possible and keep bureaucracy to a minimum. Therefore, our typical Discovery project is relatively short and inexpensive.

In most cases, our Discovery phase lasts 2 to 3 weeks. The price starts from $2,500 to $3,000, but it can go up two- or three-fold for bigger and more complex projects.

If you look at the average custom-made application price tag, it becomes clear that the Discovery phase costs only a fraction of what you would normally spend on a full-blown piece of software. At the same time, this process lets you mitigate risks and avoid making costly mistakes before investing any serious money in development.

Software Development Discovery Phase Deliverables

Here at ObjectStyle, our biggest strength is our technological expertise. So our number one priority for the Discovery phase is to shape a solid technological vision for your project. We won’t bug you with business-related questions like “What is the market size for this type of solution?” or “What is your ideal user persona?” Instead, we’ll ask just the right questions to flesh out your business vision in the form of computer code.

software development discovery phase - deliverables

As the result of the Discovery project, you will get the following deliverables:

  • Project work breakdown structure*
  • Project requirements
  • Product architecture**
  • Technology stack
  • A refined time and budget estimate
  • (Optional) UI prototypes
  • (Optional) A PoC (proof-of-concept) prototype

*Our WBS (work breakdown structure) document specifies what needs to be done, what roles should be involved, people’s hourly rates, and time estimates.

**It usually comes in the form of an entity diagram that reflects a specific data modeling approach.

Who Is Involved?

What type of specialists are involved in the Discovery phase? Actually, it depends. The simpler and nimbler the project is, the fewer people are involved. This way you can save money (essentially, you are paying for each specialist’s hours), avoid unnecessary work and start building your app faster.

The following roles usually participate in the Discovery phase (with one person sometimes performing several roles):

  • Business Analyst. The business analyst’s job is to analyze your app’s functional and nonfunctional requirements, predict and mitigate risks, and help with the final estimate.
  • Solution Architect. The architect will help shape your solution’s architecture, including the tech stack, and create a visual entity diagram that shows the connections between parts of your future system.
  • Project Manager. The PM curates the Discovery project, enabling effective communication among the participants and overseeing the preparation of deliverables.
  • Developer(s). We sometimes add developers to the team (although not always) when we need specific technical expertise and believe it will help us estimate the project more accurately.

roles involved in the discovery project

Discovery Phase Steps

The Discovery process occurs in stages. We thought it would be helpful to describe them here and to give our clients an overview of those steps, so that they know what to expect.

1. Talking with Stakeholders

We identify key stakeholders on our client’s side and set up communication channels with them. According to statistics, 50% of software projects fail in part because of insufficient stakeholder involvement. So we make sure we receive enough information from you to make the project a success.

2. Analyzing the Project

We perform a deep, thorough analysis of your project, dissecting it from every possible angle and collecting relevant information, which we will need later in the Discovery phase.

3. Collecting Software Requirements

We gather specific functional and non-functional (i.e., ‘technical’) requirements for the future application. These specifications reflect what needs to be done.

4. Defining the Architecture

At this step, we shape your future software product’s architecture. We typically create a chart where you can see all parts of the future system and how they are interconnected.

5. Estimating the Project

Finally, we define the development project’s milestones (which serves like a roadmap), finalize the WBS (work breakdown structure) document and give you a time and budget estimate for the project.

Discovery Phase process with steps

Case Studies from Our Experience

Success Story #1

Client: a well-known ‘Big 4’ professional services company

Provided by the client: the requirements, their preferred tech stack, the timeline

Duration: 2 weeks

This enterprise client wanted to rewrite one of their legacy systems. They had specific preferences in terms of deliverables, technology stack, and the timeline. We didn’t have a solution architect with experience in the requested stack in house, so we engaged an external consultant. Here is who took part in the Discovery project:

  • Business Analyst
  • UX/UI designer
  • Solution architect
  • Delivery Manager
  • Head of QA

Our main deliverable was comprehensive documentation that included a work breakdown structure, the solution’s architecture, the project plan, UI mockups, and software requirements—all done according to the client’s requirements.

Success Story #2

Client: a medical billing solution provider

Provided by the client: preferred budget

Duration: n/a

This client wanted a custom integration of their system with Oystehr/Otther. The client was budget-conscious, so they wanted a realistic estimate for the integration and customization effort. However, they didn’t have predefined requirements. Since the timing mattered, we didn’t want to inflate the Discovery budget by exploring details that didn’t affect the final estimate. We performed multiple interviews with the client, analyzed their needs, and mapped those needs to Oystehr’s/Otther’s existing capabilities. Then we proposed an effective way to achieve the client’s goals.

Our deliverable was a straight-to-the-point document with a proposed architecture, customization descriptions, work breakdown structure, and an estimated budget.

Later, when Oystehr/Otther gained new features, we updated our estimate at no additional cost to the client.

Benefits of Doing the Discovery Phase

The Discovery project is preparatory work that lays a solid foundation for actually building your software solution. Here are the main benefits.

Knowing how much everything costs

In the work breakdown structure document (which we already mentioned above), we usually give our clients multiple options for achieving their project goals. A lot of the time, you can implement the same functionality differently, with each implementation having its pros and cons. After the Discovery phase, we’ll suggest a number of solutions—each with its own timeline and price tag—and you can then pick that, which suits you the best.

A good analogy would be this: imagine walking into a store where none of the items have price tags on them. So you don’t know how much anything costs. And then, let’s say, we go through the Discovery phase, which allows us to ‘put price tags’ on all the merchandise. This way, not only do you get to know your options, but also learn how much each of them will cost.

Evgeni Vintik, VP of Engineering, ObjectStyle

Getting an executable plan of action

With the Discovery phase, you receive a solid, yet flexible plan for building the product you want to build. At ObjectStyle, we try to make that plan not too specific on purpose. This way it provides you with the necessary wiggle room in case you decide to add, remove, or substitute parts of the solution in the future.

Risk mitigation

Planning a software development project is an important step, which, if done sloppily, can lead to unpleasant surprises down the road. Without proper research done upfront, it’s relatively easy to pick the wrong technology, overlook a major limitation, or commit other mistakes. The Discovery phase ensures you make informed decisions about your project from the start.

Getting to know the developer

It’s risky to entrust an unknown software development agency with a big project. Even if the developer looks good on paper with all the reviews and references, nothing beats first-hand experience, which you can get while doing the Discovery phase together. This way, you can get a sense of the developer’s work ethic, communication style, speed, ability to meet deadlines—even their technical expertise.

In conclusion

With the Discovery phase being an indispensable part of any software project, it sometimes helps to single it out as a distinct sub-project. We recommend doing it when you are unsure about the requirements and/or want to see what it’s like working with a specific vendor. Discovery normally costs only a small percentage of the app development fee, which makes it a low-risk/high-benefit undertaking.

Image credit: chepopovich on Pixabay

Willing to do the Discovery phase with ObjectStyle?Get in touch and let’s discuss the details.Expand Form

    File

    Digitize

    with ObjectStyle

    Digitize with ObjectStyle See our work