Why Your Project Needs A "Technical Discovery Phase"

Why Your Project Needs A "Technical Discovery Phase"

You have funding, you have selected your software development partner and you’re ready to begin development on your product. But instead of giving you a quote for development, your software partner gives you a proposal for a technical discovery. What is this and why is it necessary?

Think of the “Discovery Phase” as laying the foundation for your application’s design and development that follows. The main functions of discovery are capturing the vision of the product from you, ensuring that this vision is in line with the needs of end users, and performing an initial technical due diligence to validate that the product in question can be designed using current technology. The Discovery process allows the product development team time to build use case scenarios, identify functional requirements, prioritize and size product features, create timelines and estimates and summarize their findings into a development proposal.

“BEFORE YOU BUILD A CUSTOM HOUSE, YOU GO TO OPEN HOUSES, LOOK AT “HOUZZ” FOR IDEAS, TALK TO DESIGNERS AND ARCHITECTS, SPEAK TO YOUR BANK TO UNDERSTAND YOUR BUDGET AND DETERMINE YOUR TIMELINE FOR MOVING FROM YOUR CURRENT HOUSE INTO A NEW HOUSE. THEN YOU ENGAGE AN ARCHITECT AND BUILDER TO DESIGN AND BUILD YOUR HOUSE.”

All of these things demonstrate to you that the team has a cohesive process, that risk is sufficiently mitigated, and that a schedule is outlined including milestones.

Discovery is one of the most important areas of product development. It provides an incredible amount of value and provides the client with accurate insight into the realistic time and costs of development. Yet, it is often the least understood and appreciated phase of the product development process. Many potential clients see the Discovery Phase as only a paid quote. This often creates friction between the development firm and their client. In many industries, quotes for the entire service are expected to be obtained before any work is done, “How much to paint my house?”, “How much to add a basement?”, “How much for a tile roof?”. However, in software development, it would be a disservice to customers to estimate the costs and timelines of developing their product without sufficient research into needs, goals, and existing systems. We would simply be guessing, otherwise.

Many clients are surprised to find that a discovery process doesn’t typically add any cost to the bottom line. The discovery process, formal or informal, would happen regardless of whether it is broken out on the front end of any venture or simply baked into the cost of development. More often than not, a deliberate discovery process saves valuable development time further into the project. It often helps avoid costly misunderstandings of the design goals as the project progresses.

“DISCOVERY IS SO MUCH MORE THAN A PAID QUOTE. THE ASSETS BUILT DURING THE DISCOVERY PHASE SHOULD HELP ANY PRODUCT DEVELOPMENT TEAM, THE ONE YOU ARE SPEAKING WITH CURRENTLY, OR A FUTURE ONE, UNDERSTAND THE APPLICATION YOU ARE TRYING TO BUILD. THE DELIVERY ASSETS SHOULD ENABLE YOU TO SPEAK WITH INVESTORS, STAKEHOLDERS, CURRENT AND FUTURE CUSTOMERS – ALL WITH A SENSE OF GETTING INPUT BEFORE YOU COMMIT TO A BUILD! A DELIBERATE DISCOVERY IS NECESSARY TO DRIVE SUCCESS FOR ANY CLIENT”

Two important points for Discovery Phases:

  • Discovery is the time to get to know your development team
  • Discovery reduces the risk for both the development team and the client

Once a discovery phase is complete, you should expect a professional and polished plan for your application.  This all starts with a list of features included in your design and preferably a list of features not included in your design. The plan should include images that detail the architecture and why certain decisions were made as it pertains to your application, business needs, reducing cost, increasing performance, helping meet scalability needs down the road, etc. You should receive a list of technologies that will be used to support the features you requested. Costs should be clearly outlined for each of the tool and system decisions as it pertains to you taking ownership of a new shiny product. You don’t want to be caught in a situation where you have spent all your money on development and have half a product to show for it.

“Remember, It is always easier to plan features during discovery than it is to add certain things after development has begun. This shouldn't keep you from starting. You can always change your tire while driving down the road…and you can always add a basement to a house that is already built. It is just much more difficult!”

Andrew Siemer

About Andrew Siemer

Founder and CEO

After an honorable discharge from the Army in 1998, Andy immediately started digging into the technology scene. Having served in 2nd Ranger Battalion and 14th Military Intelligence, Andy is capable of tackling stressful situations while keeping his exuberant smile fully intact. In addition to many consulting engagements from Los Angeles to NY to London over the past 20 years, Andy has worked as the Chief Architect for Dell where he led the rebuild of dell.com. Click here to check out Andy's Forbes Technology Council profile.

  • Army Ranger
  • ASP Insider
  • Azure Advisor
  • Microsoft VTSP

Books Authored

  • 5 Secrets to a Programmer’s DREAM Career
  • ASP.NET 3.5 Social Networking
  • ASP.NET 4 Social Networking
  • ASP.NET MVC 2 Cookbook
View author