Even the biggest companies sometimes launch bad products. No one needed a “Fire Phone” to order goods from Amazon. Google+ network never managed to become the next Facebook. Apple Newton was a joke. What is common in all these cases? It seems someone skipped the discovery phase.
Now, let me guess. You have a great business idea and are ready to put it into action. But how can you be sure that it will succeed? You need to do a discovery phase. What is it? Read on!
What is the discovery phase of a software project?
The discovery phase is the initial stage of product development that precedes the design and development process. At this stage, you and your team collect and analyze the information necessary to start developing the product.
The main goal of discovery is to decide what to build. It is up to you how exactly it will be done. There are no unified standards, guidelines, or blueprints.
By the end of the discovery phase, you will end up with a Software Requirements Specifications (SRS) document. The SRS doc is a description of what you will build and how you are going to build it.These decisions should be grounded in research and backed by data ‒ that’s what the discovery phase is for.
Benefits of the discovery phase
The discovery phase of the project can help you:
- make an accurate estimate of time and cost - when you see the big picture, you will be able to calculate how many resources it will take
- set business goals - you will be able to define the criteria of success for your project and what you want to achieve
- define core and extra features - defining the functionality and prioritizing features will help you reduce time to market
- find the best business and tech solutions and make them work together - when functionality requirements are clear, it is easier to choose the proper technologies
- make data-driven development and design decisions - with excellent research, you will make informed decisions
- test the idea - you can launch an MVP to see if the product will catch fire with the public
- gather feedback - comments from real users will help you understand exactly what the target audience wants and needs
- increase ROI - as your product is tailored to your audience’s needs, more people will be ready jump in the game
- reduce adjustment - a clear vision will avoid flying by the seat of your pants and make a mess of things
- teamwork - discussions and planning help the team work as a unified group
Risks of NOT conducting a discovery phase
Skipping the discovery may mean:
- increased development time and cost - without a clear vision of what you are creating, it is impossible to predict resources you’ll need
- many reworks and changes - you may not be sure how to do something so you fly by the seat of your pants and make a mess of it
- failing to meet expectations - without thorough research you have to guess what customers expect from you
- poor quality - unclear requirements lead to bad performance
Agile vs waterfall discovery phases
There are two methods to conduct a discovery phase:
- The waterfall approach implies long investigation and massive planning before development so the product sees the world only when it’s ready to go.
- The agile approach implies working in iterations which consist of shorter cycles of research, planning, and development so that new versions of the product are launched at regular time intervals.
With waterfall planning, you should think over everything and predict every step of your project. This planning will likely take months or years. Then you build the product and launch it when it is perfect and polished. The time to market will be ridiculously high. This approach doesn’t work for startups.
The agile discovery phase attempts to reduce the time to market to a minimum. It is achieved by dividing the entire project into smaller iterations. You start with a Minimum Viable Product, launching with a bare minimum of features and adding new ones with each iteration and constantly testing the product in the field. With it, every hypothesis will be checked for its viability. Agile is great for innovative ideas with many unknowns and especially great for projects that lack time and budget.
The key parts of the agile discovery are: the MVP launch and feedback continuous learning with each iteration This is the approach we, at Greenice, practice and preach.
How to conduct a discovery phase in four steps
Let’s describe the general framework that will help you to go from an idea to a solid plan.
The four steps of project discovery phase:
Let’s go over each step in detail.
Step 1: Research
In this step, you will learn about the market, competition, and potential customers. With this information, you will define your business strategy.
- Competitive analysis - Who are your competitors? How do they differ from each other and compete with each other? Competitive analysis gives you an outlook on industry trends and standards, how your competitors work, and how you can surpass them. The easiest way is to make a table comparing significant criteria like the number of users or traffic, features, prices, etc. Here is an example of a simple competitive analysis we did for one of our blog articles:
- Target audience analysis - Who are the potential clients? What are their pain points? What do they buy and how? To create a product that customers are ready to pay for, you need to know who they are and what their pains are. To do this, you should build an ideal customer profile (ICP). An ICP describes a person who wants to, and can, buy your product and what pain points your product will solve.
Here is a scheme showing how to create an ICP by narrowing down the target audience:
Step 2: Define
After you have collected the necessary information, you can define your Unique Value Proposition and Business Model.
- Unique value proposition (UVP) - What distinct selling points does your product have that will attract potential customers? A UVP describes the benefits of your product, how it's better than the competition, and how the product solves customers’ problems. Your UVP is the answer to the most important question of your customer - ‘Why should I choose you?’
The unique proposition is how your product does what the competition doesn’t do. Your UVP will help you decide on functionality and develop your marketing strategy.
One of the useful tools to help you define a UVP is Value Proposition Canvas. It consists of a customer profile and value map. First, you fill out the profile and the value map to illustrate the benefits of your product. Then you see how your product will meet the customer’s needs and soothe their pains.
- Business model/revenue model - How will you earn money from your product? Will you sell to end users or to businesses? Will you manufacture products or resell them? The business model provides you with a revenue plan and turns an idea into a functioning business that gives value to customers and brings you profit in return.
When creating a business model, think about your unique value proposition and what your customers are willing to pay for, as well as what your competitors are doing.
Step 3: Describe
At this point, you will have what you need to decide what to build. It is time to describe the system, what elements it has, and how it works.
- User types - What types of users will your product have? For example, a marketplace has a buyer, a seller, and an admin. Every user type needs particular functionality, as well as access rights and permissions.
- User flow diagram - A visual explanation of the path a user follows to complete a task. It helps design the product because it shows what users need to know.
- Features / User stories / Requirements - The best way to describe functionality is with features, user stories, and requirements.
A feature is an element of functionality that tells how a product looks, what it consists of, and what it can do.
A user story describes the product functionality from the end-user point of view.
A requirement defines what is needed to deliver a product feature. Each feature can have more than one requirement.
- Wireframes - How to put all of the previous elements together? Wireframes are a simple visual representation of what your interface will look like.
- Prototype - In some cases, wireframes are not enough to illustrate how the product will look and function. Such situations call for functional prototypes. They are usually sets of clickable wireframes linked together by business logic. Prototypes can also come in handy for investor pitches to demonstrate what the future product will look like.
Step 4: Plan
Now it’s time to plan how to make your project come to life. This step starts with a detailed plan and includes prioritization, technology, and resources.
- Feature prioritization - With the agile approach, you gradually add more features to each iteration rather than trying to build all you have ever imagined into the first version. Your plan lays out the potential features in front of you, and you decide which ones to include and when.
- Road map, Milestones, Sprints - How to schedule your work? Make a road map, divide it into milestones, create a timeline, and decide what should be done during every sprint.
- Estimate - Once the entire scope of work is clear and prioritized, the web development team will be able to make accurate time and cost estimates. Without a clear plan, any figures you receive will be merely rough estimates.
At the end of the four steps of the discovery phase, you will receive a Software Requirements Specifications document that describes the project in detail considering all necessary business and technical aspects.
What comes after the discovery phase
Note that discovery is a continuous process and each iteration results in an improved version of the product. Further stages are:
- Design - designers create the product's appearance and interface that users will see. The final result may look quite different than the wireframe plan.
- Development - the team starts developing software. This stage involves programmers who focus on the technical realization of the product.
- QA - after development, Quality Assurance engineers test the software to make sure it is bug-free before the launch.
- Launch of MVP - launching the first simple version of your product. After launch, you’ll receive feedback from users that will help you decide where to pivot and where to persevere.
- Improvement and maintenance - keep on launching iterations of the product until you arrive at a fabulous final product.
Key success factors of the discovery phase
What is important to have a successful discovery:
- The discovery phase requires your participation and constant feedback. Therefore, you need to stay in touch with your team, actively participate in discussions, and provide timely information. Otherwise, you and the team may be on different wavelengths and success may be elusive.
- Stay flexible. During the work, new ideas and alterations arise.Therefore, the end project may be quite different from the original plan.
- Don’t try to fit too much functionality in your MVP. It’s called a MINIMUM Viable Product for a reason and even a single feature can be enough to test your idea in the field.
- You need to find balance in your work. Don’t agonize over every detail but also do not go to market with a bad product.
- Cost of discovery phase service for software development
Cost of discovery phase service for software development
Based on our experience, here is a ballpark estimation of the discovery phase cost.
- The simplest version for small projects will cost $2-4K and will take 2-4 weeks from research, to planning, to wireframes.
- For complex projects, the price starts at $5K and can take 2 months. These projects have innovative ideas with complicated functionality, requiring more in-depth analysis and planning.
Every project is unique. We can calculate time and cost more accurately after a discussion.
Want to know the cost of a discovery phase for your project?Contact Us
Today, software development and discovery phase service should go hand in hand. The discovery phase will show which direction your project must go. And how exactly it must go. It helps a business succeed.
The main challenge is not to get stuck during planning. The agile approach will help you with this. You will test product versions in the field with each iteration.
Every step of discovery (Research, Define, Describe, Plan) provides you with vital data. With the resulting SRS you can develop and quickly launch your product.
If you have questions - we are happy to help.
Rate this article!