SDLC Discovery Phase: How Much Can It Save for Software Development Process?
Key takeaways
- Find out what place the discovery phase in software development cycle takes.
- Take a deeper look at what the discovery phase entails and when your project needs it so badly.
- Get to know what activities the discovery phase includes and what deliverables you get as a result.
- You’ll get acquainted with the main benefits of the discovery phase of a software project.
- What is outsourcing? What advantages can bring outsourcing, and why do you definitely need to outsource the discovery phase? Explore this in our article.
- Let’s figure out how much it can cost you to skip the discovery stage.
- Get to know about Aimprosoft’s experience of conducting this phase and the benefits you can get by choosing to go through the discovery stage with us.
Imagine you’re building a house and need an accurate architectural plan to start, but you decide to ignore it and build the house intuitively. Sounds ridiculous, right? However, a great number of software products are developed like a house without an architectural plan because businesses choose to bypass the discovery phase.
According to the statistics, in 42% of analyzed cases, startups fail due to misreading market demand. In turn, the other 29% of analyzed cases show that the reason for the failure is due to running out of funding and personal money. Other causes for such a sad outcome for startups are lack of understanding of the target audience, inability to beat the competition, product mistiming, etc.
The software development life cycle (SDLC) discovery phase can help overcome the majority of the mentioned reasons of failure and increase the degree of the product’s success. Keep reading to find out how the discovery phase in a project can help avoid a regrettable result and save you money and time.
Main stages of software development
The development of any solution is a time-consuming process with a long list of stages. Let’s consider the major stages of software project development that the solution normally runs through to identify when the discovery phase is conducted and what role it plays.
Suppose you want to launch a software product seamlessly and conduct all the phases like discovery phase, business analysis, design, testing, etc., avoiding major pitfalls on the way. In this case, you need to opt for a full-cycle development company, which has all the necessary expertise and the resources to cover each stage of software development, including the discovery phase.
Of course, certain stages mentioned on the list above may vary depending on your project specifics. Nevertheless, during the product discovery phase, the chosen software vendor and you collaborate closely to produce a detailed product implementation strategy, setting the right tone for further software development lifecycle.
What is a discovery phase of a software project?
Mistakes made at the initial stage of the development process are the most difficult to correct in the future. That’s why the main goal of the discovery phase is to prevent fatal errors. The discovery phase in a project helps decrease risks and expenses and defines the product’s market fit. Also, you can receive a clear technical description of the project and an estimation of the required costs at this stage. Thus, the discovery phase is like a compass, guiding your project in the right direction. If you know the right direction, you’ll eventually arrive at your destination — the successful launch of the product.
When is the discovery phase needed?
Software development is not a piece of cake. There are so many activities to complete that the entire process seems rather daunting. And, of course, the discovery stage is always important and can help solve many issues initially; hence, it shouldn’t be overlooked in any way. Thus, let’s take a closer look at the most frequent scenarios of when the discovery phase of an IT project is not only a recommended part but a necessity.
- Your requirements are incomplete and vagueIf your project lacks clear, well-documented requirements, you will undoubtedly require a discovery stage. If the requirements are not comprehensive and well-structured, the tech team won’t sufficiently understand the project to take it into development. In such a scenario, the best option is to conduct the discovery phase to ensure that the development team has the required documents to get to the heart of the project at a deeper level, knowing their responsibilities and the purpose of the product to develop it effectively.
- The project is complicatedThe more complicated your project is, the more expensive the mistakes can cost you later. Also, if your project is long-term, there is a risk of losing focus during development. That is why the SDLC discovery phase is so essential in these cases because it aims to minimize any potential risks by providing a clear picture of the project’s milestones without losing the main focus.
- Limited budgetIn case your budget is limited, and you can’t go beyond it, if such a necessity occurs due to some unforeseen changes during product development, it’s essential to conduct a discovery phase to avoid overrunning the budget. However, the discovery planning phase is often sacrificed for the time and cost-saving purpose, but it can play a cruel joke later, and neglecting this stage is the main reason for the product’s failure.
Contact our specialists so that they can examine your request and offer assistance.
CONTACT USDiscovery phase: what it includes and what you get at the end
We have already identified the role of the discovery stage in software development. Let’s consider who are participants in this process. Of course, team members can vary depending on the specifics of your project; hence, we provide you with the set of team members that are commonly found during this stage.
So now, when you have an idea about the participants of the discovery phase and their responsibilities, let’s examine the discovery phase activities in which this team of specialists will be involved.
Activities included in a project discovery phase
Mind that all activities may differ, and it all depends on the artifacts you already have when turning to the software development company. So, let’s discover the main discovery phase activities.
Requirement analysis
With this activity, the client’s vision of the product and their needs for its key functionality must be determined. Then, we will need to conduct several interviews with stakeholders, collect information regarding their vision, needs, and main goals, and document the gathered data for the in-depth analysis.
Understanding the specifics of the domain
Without knowledge of the domain, a business analyst cannot accurately analyze the query. So, whatever type of project you begin (e.g., mobile or web project), the business analyst has to deeply examine your product’s domain, its specifics, industry standards, market trends, brand specifics, and many other aspects. All the gathered information can help properly outline the business strategy, evaluate the product-market fit, and set the right goals.
Defining target audience
This activity includes working with all stakeholders and taking all parties’ wishes into account during the discovery phase. Also, this activity covers the process of defining and analyzing a target audience. At this step, we must put ourselves in the shoes of your product’s potential users. We answer questions about who will use your product, what are their interests and preferences, and what issues we can help them solve. The target audience research phase is incredibly important because users’ satisfaction will determine the success of your solution.
Competitor analysis
Competitor analysis is a mandatory point in the discovery phase. The BA prepares the key functionality list and performs competitive research ideally in cooperation with the UX researcher. Knowing about competitors` strengths and weaknesses enables you to have a good handle on industry standards and market details while also demonstrating what you can do better than your direct competitors.
You can view the example of the conducted competitive analysis with the help of the image above. This research was conducted by our BA for our in-house developed corporate messenger Aimchat. The conducted analysis helped examine successfully implemented features of other corporate messengers and determine inefficient ones. It helped our specialists identify the core functionality that should be developed to ensure seamless communication among employees and avoid the implementation of irrelevant ones.
Documenting the requirements
With this activity, research into the project’s technological execution is taking up. Now, a business analyst will draft a specific product requirement document containing all of the project’s technical criteria. This process results in creating a set of rules, selecting core architectural patterns, and forming a project’s technological stack.
If there is a lot of emphasis on the end-users engagement with the product, the output document may include low-fidelity wireframes or prototypes which can show an approximate view of the future product, help identify lacking functionality, and prevent miscommunication.
In this case, the UX/UI designer will elaborate on the project’s primary screens, navigation, and overall logic at this stage. Also, a designer creates wireframes to understand better the user journey and what experience customers will have when using your product. If the design is carefully thought out, it will be one of the primary causes for your product’s demand.
Time and cost estimation
After all the completed tasks, research, and analysis, the team will finally be able to calculate the budget and time required to deliver this project, ensuring that the estimation does not exceed the resources at your disposal.
IT project discovery phase deliverables: what do you get as a result?
Now, when you have a better understanding of the team’s structire and the activities that compose the software discovery process. It’s time to know what deliverables you get from the discovery phase. However, mind that deliverables can vary depending on your expectations of the project, the company’s approach, the existing artifacts that you provide initially, and other factors.
- Vision and scope 一 a high-level artifact that includes information on the future product’s vision and business goals, limits, and a brief description of the primary features that will be implemented.
- Software requirements specification 一 the documented functional requirements describe the behavior of the system’s functions. In other words, describe what the software should do. In turn, non-functional requirements include those parameters that the system should have in terms of performance, security, scalability, speed, etc., in other words, how the system should work.
- Business goals 一 outline the project’s priorities and objectives, as well as describe the project’s business case. It helps to determine what success means for the project.
- Customer personas and segments 一 assist you to have a deeper understanding of your target audience. You can also gain a map of your end clients’ activities in various situations.
- Competitive analysis 一 entails data gathered from conducted market research, such as identified trends and the present situation in the domain, and data from competitive analysis, such as information about competitors, their services, their advantages and disadvantages, and so on.
- Development plan 一 a phased plan of action that determines the optimum website implementation guide. It also includes timeline and project milestones.
- Use case diagram 一 this diagram outlines all of the system’s primary use cases.
- Feature list 一 the document containing a list of future project features.
- WBS (work breakdown structure) 一 is a tool that divides a project into a structure of deliverables and activities. Furthermore, it can include step-by-step development guidance, as well as timelines and a budget.
In addition to the core deliverables, we would like to highlight that there may be other additional artifacts like wireframes to outline the visual skeleton of your product and prototypes that can show user interaction with the product and help test its usability.
Now when you know what you’re getting at the end of the discovery phase, let’s look at the key benefits of this stage.
Benefits of the discovery phase in any IT project
As we already stated in the previous sections, we highly recommend conducting the discovery phase. Thus, let’s go through the major benefits that you can get from not skipping it.
Reduce risks of product failure
There are always risks when creating a new product. For example, there is a possibility of miscalculating the time and budget, which may result in significant losses, as shown by CB Insights statistics, and your product will never come out.
The discovery process in software development allows you to understand the big picture of your project. It enables you to combine the wishes of all stakeholders and the demands of potential users. So, with the discovery phase, you can understand your project’s flow better, minimize the risks of the product’s failure, and optimize your spendings.
Gain clarity
By conducting a discovery stage, you can obtain a clear vision of your product. A roadmap with a complete project timeline, including intermediate goals and deadlines, data gathered from the market, competitive, and TA research, documented requirements, and other valuable data, can significantly reduce the degree of the vagueness of the product that is about to be developed and simplify the development process.
Assess your vendor before the development starts
The software discovery phase allows you to analyze the company and team you will be working with, determine whether the company’s methods are appropriate for you, and decide whether it is worthwhile to continue the collaboration. Also, such consultations can assist the development team in better understanding your needs and selecting the most appropriate technology solutions. As a result, you may prevent many future risks related to the fact that the company is not suitable, your points of view do not match, the partnership is ineffective, and so on.
Increase chances of attracting investors
Conducting the discovery phase is essential for startups because of one important reason — receiving funding. Imagine what would happen if you turn to an investor for the necessary funding for your project, and all you have is your idea and some unclear documentation? The result can be disappointing. However, you can present the results of the discovery phase, which will be much more convincing. For the investor, such an approach will be more credible, showing how and with what return the resources will be allocated.
After discussing the benefits of the discovery stage, we’d like to show you why outsourcing this phase to the same company that will develop your product is more beneficial than other possible options.
What advantages can outsourcing the discovery phase bring?
Outsourcing is becoming increasingly popular among companies because it is convenient and economical. Usually, startups do not require an entire in-house development team. So, outsourcing is particularly significant and valuable for startups. Thus, let’s explore those who can conduct the discovery phase apart from the chosen software vendor and look at the benefits and challenges of each option.
Who can conduct the discovery phase? | Benefits | Challenges |
---|---|---|
Client |
|
|
Third-party company |
|
|
Software vendor |
|
|
So, as we can see, the benefits of outsourcing this stage to a software development company are more significant. Of course, the most valid advantages are price point and speed. Startups often have restrictions in terms of resources, so the ability to complete the project within the set budget and deadline are strong arguments in favor of an experienced software vendor.
How to approach the outsourcing collaboration model and choose the right outsourcing country?
How much does it cost skipping a software product discovery phase?
The way to success for a startup is long and twisty, and a budget overspend or inability to fulfill delivery dates can be catastrophic. According to CB INSIGHTS, the main reason why startups fail is exceeding their estimated budget. But as we said earlier, deadlines and budgets are calculated precisely at the discovery stage. Thus, if the startups that got into the statistics had not skipped this stage, perhaps the fate of their business would have been rosier. So, let’s take a deeper look at the reasons why skipping the discovery phase of a software project would cost you money.
So what have we learned of this gloomy scenario? At the point of product launch, there may be so many flaws, bugs, and inconsistencies that the cost of the reworks may significantly exceed the cost of the missed discovery phase. If you skip the discovery phase, it changes from a money-saving opportunity into a large hole in your wallet. Thus, discovery stage aims to eliminate the possibility of risks before they occur.
Costs of the product discovery phase
Unfortunately, we cannot provide a specific cost of the discovery phase. The price varies depending on the project’s direction, scale, and the number of team members involved in its development. Also, there is no standard set of services ideal for all startups. However, there is one formula that can assist us. The cost of a discovery phase varies from 5% to 10% of the overall product development cost.
Depending on the project’s complexity and scope of work, the discovery phase might span between a week to a couple of weeks.
- For a small project — one week.
- For a large and complex project — from 3 to 4 weeks.
However, if you still consider that the discovery stage may possibly be not worth your spendings, on the contrary, it might ultimately save your business. For a budget-oriented startup, the choice should be obvious.
Our Experience
We’ve talked about hypothetical situations throughout this article; now it’s time to get down to facts. Consider our company’s real experience of conducting a discovery phase that resulted in a successful product launch.
Background. A client approached our company with a very vague request, which boiled down to the fact that it was necessary to make an SRS for the development team because its members needed technical guidance. The idea behind the project itself was to create a solution that would help scan a network for vulnerabilities. The client decided to develop such a product from scratch, since in the course of the market research, discovered only a few tools on the market that partially met the requirements.
None of them could produce a usable report on the dynamics of threat mitigation. So the client had the idea of an application where people could load and store reports from existing tools. The application could organize documents, generate reports and graphs, and perform additional analytics.
Requirements. Our team’s main task was to formulate the client’s concept in a document with detailed technical specifications.
Activities. The discovery phase of this project took 50 hours to complete. During this time, the following activities were conducted:
- communication with the client and requirements elicitation
- detailed research
- consultation with Software Architect and DevOps specialist
- documentation preparation
- review of tool reports
Challenges. The main challenge was that our client had not planned the UI for the MVP version of the tool. During the consultations, the client-side of the product was not even mentioned. Our business analysts usually worked with business requirements, but he had to deal with both business and technological requirements this time.
Deliverables. When the customer contacted us, he only had a sketch and no defined objectives. After our team finished the discovery phase, our client received a completed SRS of 60 pages. The prepared documentation included the list of functional requirements and implementation logic and a list of non-functional requirements and system quality attributes.
Outcome. The project successfully went to work with a precise estimation, defined technologies, and met business requirements. Once the development was over, the product turned out to be a robust system that met our customer’s initial vision. Moreover, our client managed not to exceed the resources at his disposal, mainly thanks to the conducted discovery stage and clear requirements obtained with its help.
CONTACT US
Conclusion
The discovery phase is like the foundation which will ensure your product’s future success. The software development discovery phase is one of the most essential parts of any project since it ultimately affects how your product will work, how it will look, and how it will assist your business in reaching its goals.
Developing a project without a discovery phase is like going hiking in the woods without a compass; it’s very easy to lose the right direction. So, if you want to build a software product and are looking for a highly qualified software vendor that conducts the discovery phase for your startup, please don’t hesitate to contact us, and we will help you find the right direction for your idea.
FAQ
How long does a discovery phase take?
Based on our experience, the duration of the discovery phase can vary and it normally depends on the scale and complexity of the project. The shortest discovery stage that we had was one week long, while the longest one took approximately one month.
What are key discovery phase outputs?
The following are common deliverables from the discovery phase: scope and vision, software requirements specification, business goals, customer personas, competitor analysis, development plan, discovery phase project plan, WBS, etc. All these deliverables will help you come to a clear vision for your project, determining the key objectives of your business, the demands of potential customers, and the direction in which your project should be going.
What are the features of a well-done discovery phase?
What are the criteria for an effective discovery phase? If the output is the deliverables we talked about above, that’s good, but it’s still not enough to talk about success. The main features for a successful discovery phase are that in the end, the team meets the deadline; you get the product you wanted when the product attracts a large number of users and brings money.