Mobindustry merges with Apriorit,
a Specialized Cybersecurity R&D Company
Month: November 2023
Discovery Phase of a Software Development Project: What It Is and Why You Need It
Main stages of mobile app development
Mobile app development is a complex process. First, mobile development becomes more complicated with time because of factors like new technologies, technological debt, the need for refactoring, changes in business goals, and mobile development trends. Second, user expectations grow as a mobile project develops.
These are the main stages of mobile app development:
1. Discovery phase
2. Architecture and backend setup
3. Mobile app development
4. Quality assurance
5. Deployment
6. Release to the app stores
7. Maintenance and support
All subsequent stages depend on the first stage, however. During the project discovery phase, the development team and the client create a thorough plan that defines how the project will proceed.
What is a discovery phase in software development?
A discovery phase is a research and planning process before the project begins, during which all stakeholders in the development process determine the main goals of the project, the scope of work, deadlines, and user experience expectations. They then make a step-by-step development plan including technologies that will be used.
Building a mobile app without a discovery stage is as risky as building a house without an architectural plan
Yulia Kutsokon, project manager at Mobindustry
Most outsourcing companies will insist on a discovery phase before starting a project. This is only natural, as a discovery phase increases the chances of a project’s success.
The main goal of the discovery phase is to make a project fully correspond to the client’s business goals in terms of:
- User experience
- Budget
- Time to market
These three aspects require the most planning, as according to McKinsey, 45% of all software development projects fail to be delivered on time and on budget. However, there’s a third factor that’s vital for your software’s success: the user experience. It’s harder than it seems to develop a good user experience, and it requires planning more than anything.
Why a Discovery phase is crucial for your project
To answer the question “Why is the product development discovery phase so important?”, let’s try to imagine what a development process could look like without it.
Say, you need to develop a mobile app for your business, and you come to a software development vendor with a request. They interview you, extract the main requirements and start the development right off the bat. For each problem in programming and product development, there are hundreds of solutions, so your team has two options: either ask you about every single step or do as they see fit.
The first option will lead to chaotic, excessive, and plain ineffective communication. The second option will get you a product you’ll probably hate, as developers have no idea what exactly you expect.
A discovery phase of a project allows you to get exactly what you want and what your business needs, and gives a team a clear plan that answers most of their questions.
Let’s now talk about what a discovery phase of a project actually provides you with.
Benefits of a Discovery phase
Control risks
It’s hard to imagine what a software development project would be like without a plan: so many things could go wrong, and according to Murphy’s law if they can, they will. To control risks — both business and technical — you need a plan.
What risks can a product development discovery phase prevent or at least reduce?
1. Your product doesn’t have a market.
2. Users don’t find your product useful.
3. You significantly exceed both your budget and delivery deadline.
4. You choose the wrong company to work with.
5. The technologies your developers choose are incompatible.
6. Your project’s architecture isn’t scalable.
7. It takes too much time and money to support and maintain your project because it uses the wrong technologies.
8. Communication problems lead to project failure.
A discovery phase allows you to consider all of these potential risks at the outset so you don’t have to completely redo everything you’ve already developed.
Manage expectations
During the discovery phase, you’ll be asked to approve each detail of the project plan. This means you’ll know exactly what you’ll get in the end, at what cost, and when. A discovery phase eliminates surprises. However, this doesn’t mean you can’t change anything. Every business changes, as does the market situation, so your team should always be ready to make changes to the plan upon your request.
Improve communication
During the discovery phase, you’ll work on a plan that’s clear to all members of your team, no matter their roles. Developers, quality assurance specialists, stakeholders, and project managers will all be able to look at the project plan and see exactly what they should do.
Main stages of the discovery phase
The discovery phase is usually handled by a business analyst, a UI/UX designer, a technical architect, and a project manager. The following are the main steps they need to take during the discovery phase.
Note that each step of the discovery phase requires your involvement; we’ll discuss every step and get your approval during scheduled meetings. Now let’s look at the discovery phase steps.
1. First contact
At Mobindustry, the initial phase of a project usually starts even before we sign a contract. When a potential client approaches us with a project idea, we give them a rough estimate. If this estimate is within the client’s budget, we schedule a call with a business analyst and start to decide on must-have features. This allows our business analyst to create a detailed estimate for the project. After the client agrees on it, it’s time to sign a discovery phase contract.
During the first contact, a you’ll share your project vision with us, and we’ll be able to provide you with a rough estimate
To sum up, prior to the discovery phase, you will:
- Discuss the project vision with the business analyst during consulting sessions
- Receive a preliminary estimate
- Speak with a business analyst
- Approve the detailed estimate
2. Defining business goals
The main goal of this step is to make sure the product provides what your business needs to grow. Business goals will dictate the project’s whole feature set.
To clearly define your business goals, a business analyst will need to interview you and your project’s other major stakeholders. You should be ready to set up one to three meetings per week during the discovery phase for this purpose.
A business analyst will ask you questions like these:
- What problems will this software solve?
- What are the must-have features?
- What platforms do you want to support? (mobile, tablet, desktop)
- What similar products already exist, and what will differentiate your product from them?
Note that if you aren’t sure how to answer some of these questions, a business analyst will be able to help you. Our business analysts have expertise in software development and know both the technical and business standards across different markets.
3. Defining the target audience
The most popular and effective approach to software development is a user-first approach. This is why it’s crucial to define who will be using your product and how. Defining a target audience requires a deep understanding of your business, especially if you plan to acquire a new audience with the help of your product.
Defining your future users consists of both theory and practice: first, you need to find the common traits of your target audience, then gather feedback.
For this, businesses often use demo products, focus groups, surveys, and A/B testing. At the initial stages of a project, businesses usually try to create user personas, which describe prototypical members of the target audience who have particular issues and ways they currently solve these issues.
Defining your product’s users will help not only with designing the user journey and the user experience but also with marketing your product.
4. Analyzing competitors
Competitor analysis is an important part of any planning, be it discovery phase of website development, or mobile discovery phase. Learning about competitors helps businesses get a better understanding of market standards and market specifics in addition to showing them what they can do better.
Competitor analysis can help you understand what niches you can fill and which needs you can meet.
5. Identifying the feature set
After you’ve figured out your project’s goals, your target audience, and the current situation on the market, you can start to identify what features you’ll need to provide service to your users.
There are three main factors that influence a product’s feature set:
- Your product’s goal and all steps of the user journey that lead to its fulfillment
- Industry standards
- Your budget
A business analyst will be able to help you choose the most important features for a minimum viable product (MVP) that you can test on the market. After releasing your MVP, you can change your feature list slightly according to the response of your target audience. However, at the start of a project it’s good to learn what potential features you can add later.
6. Collect project requirements
At this point, the project is starting to take shape. A business analyst will now draw up a specification document that defines all the technical, functional, and usability requirements of your product.
To collect project requirements, a business analyst will often work with a technical architect who will be able to pick the most suitable technologies for your project to make sure it’s maintainable, scalable, and has the required performance.
During this step, both business and technical specialists will determine the technical risks that can influence your project’s scope and delivery time.
7. Create wireframes
A wireframe is a blueprint of your app that shows the transitions between screens and the app’s basic business logic. Wireframes are a big part of user experience design, as they show the user journey while taking into account patterns of user behavior.
Note that wireframes don’t include specific designs; they just indicate where the main elements of the app are and where they lead in the user story. As with all other steps of the project, you must approve the wireframes, which will then form the basis for the final design.
8. Create a design concept
Good design is no longer a selling point for software: it’s just a basic requirement that you need to meet if you want to get users. It’s a good idea to find a designer who has experience creating designs for your particular type of product, as this will ensure the designer knows the industry standards and is able to create a beautiful and functional design that offers something unique.
A product’s design also includes animations and dynamic elements. Depending on their complexity, designs can take from 10% to 30% of your overall project budget.
9. Document the final project specification
The project specification is the main document for your project and is the primary deliverable for the discovery phase in software development. A project specification includes all information about your project, the development process, the people responsible for each stage of development, and all stakeholders as well as a detailed description of each product feature.
A technical specification also includes all technologies that will be used in the project along with a detailed estimate of each feature and stage, including potential risks.
Discovery phase in app development: specifics and a success story
We at Mobidnustry perform a discovery phase for all projects we create because this way we can guarantee our client gets exactly what their business needs and what their customers and stakeholders expect.
Here’s one of the most recent examples of a discovery phase we went through with our client to create a food delivery app. You can learn more about it in our case study below, where we described:
- the project background
- challenges
- solutions and results
- tools and technologies
How to start a product discovery
In order to start the discovery phase of a product, you need to get a team that will turn your business requirements into a detailed plan. Usually, the first step is to find a vendor, but there’s actually something you can do before the kick-off.
You need to give your team direction and a purpose, so it’s good to answer these questions yourself before you start communicating with a business analyst, and other specialists.
- What is my core business need that I want to fulfill with software?
- What are my business goals?
- What do I expect to gain after the product launch?
- What metrics will I use to measure its success?
- Do I have competitors that have already launched a similar product? What parts of their product could be attributed to their success?
All these answers will help you give your team insights and a better feel of what your business needs. If you don’t have answers to some of these questions, don’t worry. Your discovery phase team will perform a number of studies and research the market to help you find a place for your product in it.
How long does the discovery phase take?
The discovery stage involves the work of and communication between many different specialists. To determine business goals and conduct user, market, and competitor research, a business analyst needs to spend time communicating with stakeholders.
When it comes to developing a technical specification, wireframes, and design, other specialists like designers, technical architects, and project managers are involved.
Usually, a discovery phase takes from one and a half to two weeks. For extra large projects it can take up to two months
The discovery phase for a relatively small project can take approximately one and a half to two weeks. A larger project will require around two months of work for a business analyst, designer, and project manager.
The biggest product discovery phase we completed at Mobindustry took around 4 months of work. During that time, we created detailed documentation, wireframes, and design concepts for a large ecommerce solution. We also divided the whole project into modules and development steps to make project management easier for our client.
Project discovery phase deliverables
At the end of the discovery phase, you’ll get several deliverables that make up your project plan, including technical specifications, a feature set, a UI/UX design, and wireframes.
Here’s everything you’ll have after the discovery phase to get your project going:
Technical requirements specification — Describes your project, business objectives, all functionality, features, and suggested technologies and architecture.
UI/UX concept — Shows the business logic and overall feel of your project. The UI/UX concept demonstrates how your goals will be achieved during interactions with a user. The UX discovery process is tightly connected to user personas and project goals.
Development plan and detailed estimates — Shows how the project will be developed step by step and sets deadlines and a budget. Estimates are made by a project manager and development team lead.
Market and competitor research and SWAT analysis — This gives you an idea of the current market state, competitor landscape, and your business’s strong and weak points you can use to get an upper hand in the competition.
Project Mind map — Describes your project and gives you a more deep understanding of your positioning on the market against your competitors.
Wireframes — Show the business logic of your product, its structure from the user standpoint, user journey and transition between screens.
Design concept and style guides — Visualize your business and create a unique brand aesthetics across your channels, from physical to digital assets.
Software prototype — If you’d like to test your idea with a focus group or have something to show to your investors, we can create a clickable prototype that will show the main functionality and feel of your future product.
Product development roadmap — A detailed delivery plan for your product that ensures you get your software on time and within budget.
Get an example of the Discovery Phase documentation for your digital project
How much does a Discovery phase cost?
The cost of a discovery phase depends on the size of a project: the bigger the project, the more requirements it has, and it will take a longer time for a business analyst to turn them into a technical specification. Larger projects with lots of variables will also require more communication with all kinds of specialists that I’ll mention in the next section.
The cost of your discovery phase will depend on your team’s hourly rates as well, as the number of specialists involved in it. If you’d like to get a quote from us, don’t hesitate to ask: we’ll provide you with a detailed estimate on a discovery phase once we learn a bit more about your project.
Discovery phase team
Let’s talk about the team that works on your project during the discovery phase. There are several experts who take part in this process.
Business analysts
A business analyst is a specialist who develops use cases and user stories in cooperation with a client. They create a technical specification, gather requirements, define the main objectives of a project and show how users will use the software.
Stakeholders and domain experts
Stakeholders which include business owners and top executives are the ones that will provide information about their business goals and requirements to business analysts and other team members. They share industry insights and their unique business processes that should be reflected in software in order to seamlessly integrate with them.
Lead developers, architects, and CTOs
Senior developers, tech leads, architects, and other technical experts review the project requirements and select the best technology stack for future software that includes frameworks, databases, programming languages, third-party integrations, and more. They also develop the architecture of your project and determine its business logic.
Lead UI/UX designers and product design experts
Lead designers create a user experience and user interface according to the project goals. Some discovery teams have separate specialists for user experience and user interface. They create the product aesthetic, graphic elements, wireframes, and prototypes, and work on intuitive user experience.
Lead UX designers research the target audience of the future digital product and use various tools and methods like user personas to create the best user journeys for them.
Project managers
A project manager organizes communication between a client and all other team members, makes records, and helps to calculate risks and predict the time for communication and other management activities during the development process. Also, a project manager can create a project roadmap so that everyone is on the same page.
Final thoughts
The discovery phase is the most important phase of a project, as it fully determines how the project will function, what it will look like, and how it will help your business achieve its goals. The discovery process involves the work of specialists such as business analysts, project managers, technical architects, and designers. However, not a single step of the discovery process is possible without your participation as the client.
A discovery phase of a software project helps you find common ground with an offshore team and make sure you’ll get exactly what you need within your budget and timeline. At the end of the discovery phase, you’ll have a clear and thorough plan for your project, from its features and technologies to design and business goals.
If you’re interested in discovery phase deliverables and your product development planning, don’t hesitate to contact us. We can help you with both the software development discovery phase and development itself.