01.02.2019 - READING TIME: 4 minutes
Why Discovery Phase Is The Most Important Phase In Software Development Cycle
Author: Ajla Fijuljanin
Here’s the truth about software development industry:
technology alone is not enough and it never will be.
Yes, writing clear and readable programs is important, but designing, writing, testing, and sustaining programs with the aim of meeting the market needs and solving user problems is crucial.
Software engineering is not so much about how to write the solution but rather about identifying the solution itself.
We believe that, in an age of intellectual fragmentation, identifying solutions is best done when people from different fields come together and invest in customer-centric development. The aim is to understand the problem in depth, envisage the optimal solution, predict its limitations, and take the privacy and security aspects gravely.
It all begins with the Discovery phase.
This is one of the most underrated, but remarkably important phases of software development. It’s really easy to skip or not pay enough attention to this step. This probably happens because:
1. You’re too excited about the project, so you rush to development
2. Your previous experience boosted your confidence to a point that it makes you believe Discovery is unnecessary in your case
3. You simply don’t see how it fits with agile methodology your company proudly practices.
But here is the real truth: Discovery phase is a process that brings coherence and clarity to the project that cannot subsist otherwise. It provides value far beyond the associated costs. Information that comes from the Discovery phase actually promotes agility and helps you make wiser decisions along the way. After working 8+ years in the industry, and with Fortune 500 clients, we can confidently say that collaborative efforts of the Discovery team and the Client result in nothing less than superior solutions, lower risks and costs of change, and maximized potential of the overall project.
How to start with the discovery phase?
At Mistral, it all starts with our cross-functional team auditing the existing solutions and performing in-depth research into Client’s goals. We account for business strategy, budget and timeline to ensure our proposed solution is the best way to maximize business potential.
The process is based on collaborative efforts where we collect and systemize information and existing documentation. We apply structure to the innovation process and involve all stakeholders in the definition of the problem and the development of solutions.
Immersing in Client’s business strategy and customer experience to make critical success assumptions is crucial at this phase.
Our goal is giving the specific project the best chance of succeeding by providing an accurate budget and timeline estimate, as well as a clarity of vision over the long-term work.
Techniques / Asking The Right Questions
Do we know what we need to know? To bridge the gap between planning and execution, we seek to understand general project vision and specific goals prior to collecting, reviewing, systematizing, and analyzing existing and incoming information.
Are we asking the right questions the right people? We are aware that faulty assumptions too often enervate effective consulting, and we attempt to identify existing problems as perceived by different stakeholders, from product owners to end users.
Is data managed properly? We claim that Discovery phase is not about data quantity but about management quality. The key test for this process is whether available, often limited data can effectively determine the core driver of a problem.
Which solution is the right solution? Too often competing ideas and conflicting information make it difficult to determine the right approach. It is of ultimate importance for us to identify a sound method for reconciling disparate perspectives.
Results / Expected Results
Discovery phase is essentially a viaduct between a theoretical concept and the authentic development of the product. It is a process of ultimate realization of what the Client needs, beyond the limitation of a functional specification.
A well done Discovery phase provides stakeholder with several results:
Project requirements are validated based on evidence rather than assumptions which reduces potential for costly mistakes to occur.
Selected approach reflects a balance between Client’s business goals and User’s needs highlighting user experience and increasing chances for project success.
Success is determined by objectives, not deliverables ensuring focus is on the value of the product and not on simply building the product.
Better and cheaper solution without last moment costly changes that may pause or completely block product development.
Perfect fit or not?
We strongly believe that short-term gains are not worth the long-term pain, and we always emphasize Discovery phase as a high priority. We do, however, understand that some Clients don’t have the time or budget and might opt for skipping it. Nevertheless, this phase is of ultimate importance for businesses with serious intent and ambition.