What is a discovery phase and why is it vital? Here we go again with the problems of the first steps in building a tech startup.
While studying philosophy and mathematics at university, I once ran into René Descartes. He believed that there must be such a philosophy, based on certain irrefutable prerequisites, which the entire system of sciences would be deduced from. He described his practical method as the transition from the general to the particular, which has always been based on mathematics.
If we imagine that the whole world is an IT company, then Descartes is its Lead Business Analyst. Now I will explain why it seems to me so: in his work “Discourse on Method” Descartes described four rules:
“The first was never to accept anything for true which I did not clearly know to be such; that is to say, carefully to avoid precipitancy and prejudice, and to comprise nothing more in my judgment than what was presented to my mind so clearly and distinctly as to exclude all ground of doubt.”
“The second, to divide each of the difficulties under examination into as many parts as possible, and as might be necessary for its adequate solution.”
“The third, to conduct my thoughts in such order that, by commencing with objects the simplest and easiest to know, I might ascend by little by little, and, as it were, step by step, to the knowledge of the more complex; assigning in thought a certain order even to those objects which in their own nature do not stand in a relation of antecedence and sequence.”
And the last thing is “to make enumerations so complete, and reviews so general that I might be assured that nothing was omitted.”
Imagine what kind of world we would live in if everyone followed these rules, facing any difficulties? Businesses would offer better quality services and goods, the government would work more efficiently, and many people’s problems would simply cease to exist!
If you imagine a startup as an idea that so far exists only in your head, a business analyst is those neurons that will come up with all the interactions within your idea, assess the risks, show similar ideas, and suggest best practices.
So, we have an idea, we’ve even written down a list of functions of the application, and we are ready to start developing. Wait, but have we really covered everything?
At the level of the main functions of the application, it may look as if we fully understand how the product is supposed to work. However, when it’s time to develop, many questions arise about rendering all the smallest interfaces, user-level interaction within the system, clarifying all the details of registrations, authentications, etc. At this stage, our costs and risks will increase significantly, because refactoring the code always takes longer than writing it. The cost per team will rise, and team engagement will deteriorate because some other tasks will inevitably appear and the process of solving them will block the solution of other tasks.
When we have only an idea, only guys from FFF (friends, family, fools) invest in us. Investors need specific things: budget plan, development time, first customer acquisition time, application prototypes, designs, etc. All this can be calculated only during the discovery phase.
The Discovery phase is the foundation of a project as well as its starting point as this very phase sets the context for future design and development decisions. This stage is intended to clarify and identify all the requirements for the product, as well as to prepare the necessary documentation, according to which developers and designers can subsequently begin to estimate or work.
Here are some ideas why business analysts (they are the ones who lead the discovery phase) are vital:
- Business analysts can identify easier ways to achieve what a startup needs and suggest best practices.
- Thanks to a BA’s work, a technical team is able to accurately assess the technical feasibility of the solution and determine the most suitable solutions.
- Thanks to a BA’s work, project managers are able to determine the most beneficial development methodology and cooperation model, as well as assemble the most effective project team.
- Thanks to a BA, all project specialists get acquainted with the context of the project, the domain, get acquainted with all the stakeholders of the project, their needs.
All in all, a startup receives useful artifacts that will help to realize its idea exactly as it was intended.
Another important fact, which I have not mentioned yet, is competition and the market. For example, five years ago, mobile applications were much more difficult to understand. Interfaces are constantly moving towards simplification (in addition to clicks, we now have swipes, holding a finger on the screen for a long time, etc.). Every startup wants to be flooded with users, and users want to use intuitive platforms. Those who get the best user experience win.
For a good start, our startup needs to learn the following things:
- Competitive environment of the product;
- Market development and trends;
- Cases, strategies, and best practices of similar products;
- Strengths and weaknesses of our competitors;
- Our present and future competitive advantage.
Phew, everything seems to be ready to start! But wait, what about the target audience? We clearly need an understanding of our target audience:
- Goals: age, geography, etc.;
- Habits and online behavior;
- Needs and expectations;
- Potential bottlenecks our clients have to face;
- What our clients see as our strengths and weaknesses
Hooray! We’re almost ready to start developing! First, we only need to collect the requirements for product development. In other words, a set of functions that our product should perform: what data to collect and provide, as well as how to interact with different groups of users.
Oh yeah, I almost forgot, but what about prioritization? What exactly do you need to start with and which direction to move? “And remember: you will never achieve anything until you learn to determine what is most important to you at the moment.” — hello to old school and Starship Troopers. =)
We will define the functions that must be absolutely necessary to launch the project, define the functions that the product should and can have, and define the functions the product will not have. This prioritization will allow us to launch the first version of our product as soon as its basic functionality is ready. This way, we start collecting user feedback as soon as possible and can respond to feedback very quickly, improving our growth.
At last! We are ready to start developing, and we even have something to show to investors and start the first negotiations:
- Business Processes Description;
- Vision & Scope;
- Research of Competitors;
- SRS (Software Requirements Specification);
- Priority Requirements List;
- Choosing a Technology Stack;
- Infrastructure Analysis;
- Time and Effort Estimation;
- Custom Scripts;
As Descartes said: “Define the words correctly, and you will free the world from half of the misunderstandings.” Our startup is a product of teamwork, it would be nice if all team members had an absolutely clear vision of the project, right? There would have been clearly fewer misunderstandings later.
Nikita Tretyakov, Co-Founder at Kernelics, co-authored with Chief Consulting Officer Ksenia Grebennikova.