So, imagine your team has a need or an idea for a new project, but the scope of the project is not clear. Additionally, you do not have the resources to develop detailed requirements or begin development or estimate costs. Often, this results in miscommunication, extended timelines and higher costs.
The Discovery Phase is an ideal solution to move the project forward in a cost-effective manner and determine an agreed upon scope and accurate estimates. It allows the client and the outsourcing team to work together to focus on project scope, requirements, design, project plan and, finally, a much more accurate cost estimate. Additionally, the team will be fully prepared to start delivering at the onset of implementation.
Let’s dive into this intro to the methodology and discuss just what it is, why it’s valuable, and how to get the most out of it. Let’s first start by making sure we’re all clear on what a discovery phase is
What is the discovery phase?
The discovery phase of an Agile project is an important part of the process that helps a team understand their client’s or project’s needs and the problem to be solved. It’s typically the first step of the agile process and involves gathering information from stakeholders, researching the client’s industry and competitors, and making sure that everyone is on the same page about the project’s goals and requirements. The discovery phase also helps you to identify potential risks and evaluate the feasibility of the project.
That feasibility part is quite important, in fact. In some circumstances, it may turn out that the expectations of a project don’t meet reality, and the project has to be scrapped. That’s OK — it helps save money and time for everyone involved. Alternatively, it could be that the project is shown to be more feasible than initially expected, so more resources and manpower can be devoted to it. That’s even better. The point is to ensure the project is fully understood before anyone begins calling shots and dedicating manpower to it.
Note that a discovery phase is not unique to Agile methodology, as it’s a critical part of many industries, including law in many countries. But for now, we’re talking about Agile.
The Discovery Phase is executed using the Agile methodology and includes the customer and a reduced outsourcing team. The members of the outsourcing team are selected based on what is needed to begin a fully understand and size the project.
For example, a customer might have domain knowledge, but do not have technical resources. In this case, the outsourcing company would provide technical, UI/UX and a Project Manager to build software and UI designs as well as a phase 1 project plan and sprint backlog.
At a reduced cost, the customer is able to see the project come to life and have a much better idea of what the timelines and costs of bringing their idea live.
What is a discovery sprint?
A discovery sprint is a partnership between the customer and the outsourcing company. It is a fixed period, depending on the project size open questions, where the two teams discuss, document and size the scope of the project. Typically, a sprint is two-weeks, but it can be reduced.
Each sprint, if more than one is needed, will have clear deliverables that remove any open questions that would impede the delivery team. Sprint deliverables might include, system design, system costs, UI/UX, detailed estimates, project phasing (including MVPs) and a requirements (User Story) backlog.
As the saying goes, there are known knowns, known unknowns, and unknown unknowns. That is, there are things you know, things you know that you don’t know, and things you don’t know that you don’t know. The goal of these sprints is to start from the core of knowledge in the known knowns and branch out as far as possible into the unknown unknowns. The more that is understood about a project before it begins, the better the results are likely to be.
Discovery sprints don’t only have to happen at the beginning of an entire project. For example, the project plan might have several phases identified. However, the market might be calling for a different feature set than anticipated and the two teams need to react and plan. A discovery sprint can be done between phases to reassess the product direction and plan.
Benefits of a discovery phase
By now, you may be getting an idea of just how a discovery phase can be beneficial. But let’s look at a few key reasons to ensure it’s part of your process — and perhaps one you revisit many times.
First, a discovery sprint allows the team to quickly identify and address potential risks that can be costly impacts to during implementation.
The discovery phase can cover a lot of ground — for example end-user value and usability, technical feasibility, and commercial viability. In simple English, that sounds like:
- Does anyone want the product we’re looking to make, and are they going to use it?
- Can we actually make this product?
- Will this product actually make a profit?
If, during the discovery sprint, it turns out the answer to all of those questions is “yes,” then it’s time to move to an actionable plan that all team members are aware of. This discovery framework helps the development team to stay focused on the specific needs of the project and the problem they are trying to solve.
Best practices for the discovery phase
As you can imagine, there can be many ways to conduct a discovery phase. Having solid, standardized, and transparent practices helps the process go smoothly and ensures everyone stays on task.
Let’s look at three best practices that can help foster a successful discovery phase. The first is to prioritize client and/or project needs. This helps to ensure that the team keeps their eyes on the prize and works collectively to deliver goals.
The second is to create a timeline for the project. As the saying goes, a project will grow to fill time allotted — so having realistic but rigorous due dates is crucial to ensuring things move along apace.
The third is to have regular check-ins with stakeholders throughout the process. Communication between teammates and stakeholders is crucial, with usually one point of communication on each end to make sure wires don’t get crossed.
Tools and resources for a discovery sprint
An Agile team can make use of a wide range of tools and resources to ensure their discovery sprints go well. These can be on the client-facing end, for example, for an outsourcing company. Client interviews, surveys, and questionnaires can be invaluable for helping a client figure out exactly what they need and what they expect out of a project. Conversations are invaluable, of course, but having everything in writing makes things entirely transparent and shareable.
Similar tools can be used for the customer-facing side of the project, especially in determining project/product feasibility. Focus groups, surveys, competitor research, and statistical market research are all crucial in determining just what needs to be done. These user research tools describe potential customers’ pain points and just what problem there is to be solved.
Additionally, customer journey mapping tools are vital. These tools help understand just how a product gets from a company’s hands into a customer’s hands — and then what they do with it. Take a mobile banking app, for example. How does the customer find out about it? When do they begin to use it? How do they use it? All of these questions can lead to the potential for an improved final product.
Finally, there are prototyping tools. A great example of this is a minimum viable product (MVP) app, which allows a developer to gain valuable feedback from a client on the most basic functionality of an app. There are many prototyping tools, but they’re all used to ensure the product is what the client (or the public) want and how it can be improved.
Deliveries of a discovery phase
The overall goal of the discovery phase is to remove unknowns and protect the client and outsourcing company from exceeding project costs and timelines and proceeding to implementation with no outstanding questions that will impact velocity.
The deliverables of a discovery phase vary, depending on the client’s situation, but typically include:
- UI/UX Design: This includes the look and feel of the product as well as the user types and flows for each.
- System Design: Things can change, but the two parties understand what is being built and why.
- System Cost: An estimate based on usage patterns and costs of a system to support the traffic at an efficient price.
- Project Plan: The teams will focus on priorities and make a release schedule to bring value to customers as quickly as possible. This might include a MVP, phases, iterative release or the entire project at once.
- Detailed Estimate: The team will provide a detailed estimate for the one or more phases of the project. Typically, an overall target for the entire scope is included and continually updated as the project progress and scope changes.
Discover discovery with SmartDev
There’s a lot to a discovery sprint and the whole discovery process, but it’s simply a smart way to begin a complex project. Overall, a discovery sprint can be a great way to accelerate the discovery phase of an Agile project. It allows the team to quickly identify and address potential risks, evaluate the feasibility of the project, and create a plan that meets the customer’s needs. If you’re looking to accelerate the discovery phase of your Agile project, a discovery sprint can be a great way to do so.
If you’re looking to outsource a software project, you’re in the right place. And if you’re looking to do that, you’ll likely want to work with a team that relies on Agile methodology. That’d be us! If this sounds like what you’re looking for, reach out to us today. We’ll get right to discovering, which can be quite fun if done right.