How Software Development Projects Can Benefit from the Discovery Phase
Anton Oparienko (COO at Upsilon) shares insights about the importance of the discovery phase for software development projects and gives expert tips.
Join the DZone community and get the full member experience.Join For Free
A web development project that aims to become a success requires a bit more than an unrivaled idea, funding, and a brilliant team to bring it to life. Although these three components are essential, at least one more piece to the puzzle can make a big difference.
During an interview for Amplifyre, Anton Oparienko (COO at Upsilon) shares insights about the importance of the discovery phase for software development projects and gives expert tips on how it can be used as leverage.
What Does the Discovery Phase Imply?
To begin with, you have to know what is a discovery stage. This is a vital step of product development which goes after idea initiation and before the actual coding happens. Discovery can take from several days to several weeks to complete.
In simple terms, the phase is devoted to ensuring the idea’s feasibility and finding the answers to many vital questions, including “Is my project even worth creating?” and, if it does, “How should its creation be approached most effectively?”
That sounds like a reasonable thing to do, right? If you were to build an indoor swimming pool in your house, you probably wouldn’t invest money without weighing all the pros and cons and consulting with a few experts. But for some reason, software product owners sometimes act differently.
While it may be obvious, one too many business decision-makers deliberately neglect discovery. They may be blinded with enthusiasm that the idea is a billion-dollar one and hurry to develop the project before anyone else launches something similar first. Or, in many cases, they just cheap out, not wishing to spend money on discovery. This is risky and can lead to unwanted consequences.
How Does the Discovery Phase Aid Software Development Projects?
The project discovery stage is crucial to any software development project lifecycle. The decisions made during this phase can significantly impact the project's planning and its outcome.
Here’s what Anton Oparienko thinks:
“The discovery phase is vital as you can test and tune the idea, so it evolves into a better product.”
Most importantly, this phase includes not only market research and user analysis. Various experts (apart from the product owner) have a say. Some specialists may be involved part-time, but the team can include:
- a Project Manager;
- Business Analyst;
- UX/UI Designer;
- a couple of Developers;
- and a QA Engineer.
Why should these people be included on the discovery team? These specialists can help pick the optimal features, tech stack, and brainstorm the most optimal ways of implementing different project parts more effectively.
Therefore, you can get a different perspective with alternatives to solve a problem before you approach the actual creation of the solution. For example, you may find out how to reduce development time. Say, if it is worth replacing a feature or its part with a third-party solution to save time on coding from scratch.
The developers, for instance, are the experts who can verify whether a specific feature can or can not be brought to life. As Anton Oparienko says:
“Turning to the developers for their opinion on a selected feature is your reality check.”
Similarly, a QA Engineer can provide valuable input by stating which product areas might face issues.
How Can Businesses Gain from Project Discovery and Use It to Their Advantage?
Such pivotal decisions during the scoping phase can significantly cut down software development time and costs. Plus, finalizing the tech stack and system requirements aids not only in team assembly but also in writing a software requirements specification.
In the end, you get many answers coupled with:
- a project description and solution requirements;
- use cases and user stories;
- mockups and wireframes;
- what the MVP should consist of and the architecture;
- a list of things to be built after the MVP launch;
- and even a cost estimate with timeframes.
What else does the product owner get? An in-depth understanding of what they’re building, what’s necessary for development, and how to do it most optimally.
Here’s one more important point to note. The team that participates in discovery also feels that they’re onboard. Hence, more people are on the same page from the start of the project before the development work begins.
Anton Oparienko’s opinion is as follows:
“When a software development team is involved from the very beginning of the project (the discovery phase), they know why these features are there and why the users need them. This shifts the development from just building separate blocks or features to building a complete product that makes sense. It changes the team’s attitude.”
By taking the time to properly assess the needs of the project during the project discovery stage, organizations can save themselves a great deal of time and money in the long run. You can get many insights, a better-versed team, and safeguard yourself from draining the budget or making improper investments. Not to mention the time that you can spare on do-overs and other roadblocks that can occur if you aren’t sure how to approach the project.
The bottom line is that you can take wild guesses and leave things to chance. But without proper preparation, projects often fail to meet their potential.
Opinions expressed by DZone contributors are their own.