The Amazing Discovery Process When Building Software

Anup MarwadiSoftwareLeave a Comment

If you’re a client looking to build high quality Software, you should read this.

Majority of our clients will call us and want to start developing Software as soon as possible. While we understand that time is of the utmost importance, allow us to help you understand why an initial discovery process can be so effective when on-boarding a client.

The discovery process is a mandatory step in our software development practices. Whether you are a new client, or an existing one, we do not launch new projects without undergoing a discovery process.

We feel that this process is so important, that we have measured the success of our projects in which we didn’t perform a detailed discovery to the ones when we did so. The difference is striking. Not only did we deliver our products better, we also were able to score higher on our relationships with the client.

So what is this Discovery process?

The Discovery process is the first step in our DIDI (Discover-Ideate-Develop-Iterate) process about which we have extensively written here and here.

If you were a client and we’d play Sherlock Holmes (indulge me here), we’d want to know everything about the case at hand so that we form a clear picture in our heads.

The discovery process is a fact-finding process that will allow us to understand everything about the product you want us to build for you.

Importantly, we will focus on the following things:

  • What is important to you? What are your core values? (We’re big on core values and only work with clients who match ours)
  • What sort of a product are we trying to build?
  • Who is the target market?
  • Who are you competitors?
  • What are your objectives with us?
  • What deliverables are you looking for?
  • What are your timelines?
  • How do you best like to communicate?
  • How often do you like to communicate?
  • What do you expect from us?
  • How can we do a better job than your previous vendor (if any)?
  • What are your success metrics/KPIs?
  • Are there any other special considerations?

This helps us establish some ground rules for engagement. Many of these questions dictate our overall strategy in building Software with you.

How do we conduct this Discovery Process?

Depending on the size of the project, we usually take anywhere between 2–4 weeks for discovery. While this may seem long, not all of this time will be spent in discussions with our customers.

Our discovery sessions usually last between 2–4 hrs per day on the days we meet. Our time is spent in client interactions followed by a period of research and analysis at our end. We look at all sorts of criteria including competitive analysis, market factors, risks etc. associated with the development of the Product.

Wait, but I’m a B2B Client — Do I need you to do all this?

In certain cases, when you’re a B2B Client, we may not need to do much market research or competitor analysis because you’re already generating high revenues for your business and simply need our help in building software with known metrics.

In such cases, we will work with you to fully understand your objectives and build a Product Roadmap in collaboration with you.

The good news is that B2B discovery processes are usually less research oriented but more learning oriented.

We will review your existing software (if any), your existing databases (because we feel many older systems have poorly designed databases that bring them down), your test plans (if any), your test environments (if any) and play around with existing software to understand it. We will gladly go over any user manuals to understand your existing software as well as your business needs.

In short, we educate ourselves to get as close to your business as possible. It’s almost like we want to wear your shoes, and still retain an objective eye towards Software development, a field we excel in, so that we can combine the best of both worlds.

We are extremely collaborative and will provide you with tons of documentation, project plans, product roadmaps, use case stories as we dive deeper into the discovery phase. Our goal is to really hone in on your needs and pain points and hopefully devise a strategy to address them in the software we build for you.

Who does the Discovery Process?

Chances are very high that, one of our senior most team member will be involved directly in the discovery process. With their experience in working in Software for over 20 years, there isn’t a problem they haven’t seen. It helps to bring that expertise in from the beginning so that you get the best advice possible.

We feel that the initial phases of the Discovery process are best handled by senior members of the team so that the creative vision and the execution strategies can be set up effectively.

What are my deliverables?

We’re glad you thought about these. We usually provide you with a lot of deliverables after this phase. Depending upon your needs, we build:

  • Word Documents describing our analysis
  • JIRA or Trullo Product Backlogs
  • Confluence Documentation (as needed)
  • Flowcharts and Diagrams
  • High Level Product Strategies
  • Solution Architectures (if applicable)

If this was a paid Discovery, as is in many cases, you will be provided with all the deliverables you need to successfully build software. Many of our paid deliverables also include wireframes for many core aspects of the application. This will allow you to get visual insights into the application development guidelines.

So there you are. This is just a highlight of one of the most critical pieces of our process for Software Development. If you would like to engage us in a Discovery session, we’ll be more than happy to oblige.

Feel free to drop us a line at

Leave a Reply

Your email address will not be published. Required fields are marked *