The discovery process is the first step in any software development project. It is also the most important and the most overlooked.
Taking time to understand the goals of the project, clarify the vision and lay out a roadmap to get there can minimize the risk of failure and avoid the high costs that come with failed projects. The process can also help clients to better understand their own vision for the project and establish a level of trust between client and contractor that is essential for any project’s ultimate success.
What Does the Discovery Process Look Like?
The typical discovery process for a software project has several stages. The first is to agree on its vision, goals and objectives. Most clients will have a strong idea of what they want to achieve, but that vision may not be shared with the entire team. Other employees may disagree on priorities and the best way to achieve the goal.
The second stage will analyze any previous attempts at the project, as well as internal resources like the existing codebases, software and manpower available. Technical and business models will be based on this. This step allows everyone to be clear about how things work and how the new software will ultimately achieve the vision set out in step one.
Third, the full scope of work will be broken down and prioritized. Usually this uncovers functionality requirements that haven’t previously been considered but need to be agreed upon before development can start. At the same time, everyone — from executives to developers — will see the amount of work that needs to be completed and discussions can be had on what needs to be developed first. By the end of it, a complete breakdown of the work can be written and agreed upon by the client and contractor.
The more people involved during the discovery process, the better. Nevertheless, product management coach and consultant Tim Herbig recommends being clear on the extent of the roles people play.
“In my experience, it's important to be aware of people who will be permanently involved in the Product Discovery, those who will contribute temporarily, and those who are general Supporters of the Mission,” he writes. It’s also important to be clear on who needs to be involved and when from the very beginning. “This way, you can block time in their calendars for synchronous sessions early on and avoid being stuck,” Herbig explains.
Breaking Down the Vision Removes Uncertainty
It’s only natural for some level of confusion or uncertainty to exist at the start of a significant software development project. Maybe siloed working practices have created knowledge gaps or there’s a difference in vision between stakeholders and front-line staff. Either way, the discovery process is the best way to define goals, unify the vision and make sure everyone — in-house and outside partners — can move forward as one.
“One of the main reasons for a discovery phase of a project is to develop a clear vision of a software product,” writes Katherine Lazarevich, cofounder and co-CEO at digital technology company Digiteum. “Often, a client has a breakthrough idea but a vague understanding of what exactly a product is and how to bring it to life. In this case, discovery phase becomes a key step to fill in the gaps, collect necessary data, define project goals and draw a clear product vision.”
Third party agencies play an important role in refining and improving the vision, says Kyle Cassidy, head of user experience design and insights at digital agency Dept. “A good agency doesn’t just build what the client asks them to build,” he writes. Instead, they’ll assess what the client wants, analyse how that fits with their current infrastructure and offer their own suggestions on the best way to achieve their goals.
An outside partner shouldn’t just take the brief and run with it as they see fit, however. The discovery phase also gives clients a chance to have their input on the direction of the project. Once everything is laid out, an organization may decide to prioritize certain features, for instance, or introduce additional functionality they didn’t know they needed.
A Clear Direction Builds Confidence and Allows Changes
In the final stages of the discovery process, modeling and featuring mapping, we outline the exact steps that need to be completed to finish the project. There’s no ambiguity about how to proceed or what needs to be prioritized; everyone has full transparency over the project.
It’s at this point that the client gets final sign off. This is their opportunity to approve every step of the plan, writes Sveta Cherednichenko at mobile solutions provider Mobindustry. It removes the element of surprise from the project and ensures everyone is clear on what happens when and at what cost. Of course, that doesn’t mean the plan is set in stone. “Every business changes, as does the market situation, so your team should always be ready to make changes to the plan upon your request,” Cherednichenko explains.
In fact, such a clear approach makes it easy for anyone to make changes to the project on the fly. If there’s any hesitancy about adding a new feature, it’s simple for anyone to refer back to the feature map and overarching vision to check that it aligns with the plan. If it does, development can proceed. If not, the feature can be pushed back.
Breaking down the work also highlights potential issues that may become stumbling blocks during development. The quicker these issues are identified, the faster they can be resolved or avoided entirely.
This is why Humberto Farias, writing at Infoworld, calls discovery “the single most underrated phase of software development,” explaining that “too often companies rush through the discovery process because they think they already know what they need. Then, halfway through development, they get blindsided by something that would have been easy to handle at the beginning but now threatens to derail the entire project.”
With everything accounted for in a thorough feature map, everyone — the client and the software development team —can feel confident that as much has been accounted for as possible.
Thorough Discovery Allows a More Accurate Quote
Nothing undermines trust like a request for additional budget when the price of a project has already been agreed upon. A thorough discovery process makes this awkward scenario significantly less likely.
Discussing the work, modeling and roadmapping, and agreeing to specific deliverables makes it much easier for agencies to accurately quote for the work. The more detail you put into the initial phase of the project, the more accurate your final cost will be, writes Anna Ivashyna, a project manager at DOIT Software. “If you carry out a detailed analysis at the beginning of the discovery phase, you will have to allocate the budget for the work of the specialists who will be involved.” It can save organizations money in the future, she adds, by avoiding mistakes.
That’s why trying to save money by skipping the discovery phase rarely works out. Cutting discovery time and jumping into development may save you from an upfront investment, but failing to identify challenges and risks early on can cost you far more in the long run. In other words, forgoing the discovery process could cost an organization much more than a clear vision of their goals and trusting relationship with their agency.