Discovery phase of a software project excites me. Not just because it is giving birth to something new. It is rather a controversial topic when it comes to quoting projects with a fixed budget.
Recently I’ve got such a feedback from a customer: ”Guys, I am not impressed at all, every team offers me the same thing – discovery phase. However, my project is not so complicated to do a research on it”. Another time I’ve heard: “Guys, give me the quote for the whole project, I don’t want to pay just for a software development plan”.
So is that really true that developers invented discovery phase to make money out of thin air as any customer may think? Or is there any strong reason for their insisting on completing it?
What is a discovery phase of a project?
Let’s turn to the world of services and recall if you have ever created or got created a custom product for you without passing this phase.
I see a man wearing a perfect fitting custom-tailored suit. Imagine him coming to a tailor:
“Are you celebrating a special occasion or looking for a casual suit?” asks a tailor to point out his customer’s goals. “Which style do you prefer?” continues a tailor. “Let me show you an amazing light wool fabric in an elegant anthracite color. Don’t you like it? Ok, let’s go for something else.”
Once the fabric is selected, a tailor takes man’s measurements to create a new unique pattern later and guarantee a perfect fit. Though, he has a pile of patterns in his workshop created for the previous customers.
Next, these two are going through each suit element from jacket buttoning to trousers turn up, specifying which option works for a man until they build a full picture of the expected outcome of tailor’s effort and make sure that they are on the same page.
Finally, a tailor tells the cost and schedules the first try-on.
The price you’ve got to pay for skipping the discovery phase
Turning back to software, obviously, it is much more complicated than sewing a new suit. Besides, usually, products are created to be used by many other people. So the typical risks of eliminating a discovery phase in a software development lifecycle with the set budget are:
- Due to the lack of information and expectations clarity on the start, wrong requirements are implemented during the development and eventually users get a product that they don’t like. In other words, you invest into creating a piece of software that won’t be used and, thus, monetized.
- Because of the requirements’ changes during the development, the project time-frame stretches along with its cost. The launch is being constantly postponed, you are running out of a budget and simply risk not to get to market at all.
Do you really want your project to fail either way?
A development team definitely does not. That is why it will likely refuse to commit to the project if there is no understanding of the explicit clarity necessity in project success from a customer.
Tell me the cost or leave
Now about quoting project cost and timeline. Often it is one of the first questions I hear from a customer. He looks to get these settled from the beginning, however, the work scope is not defined and agreed on at this point. Practically, original requirements change and new ones emerge as a deeper project research and analysis are made.
Below are common scenarios likely to happen when a development team is forced to quote on a project without making a discovery. A customer gets:
- a too high quote since hours are added to cover possible tasks which are not obvious right now but will be uncovered when the project starts;
- a too low quote because a team doesn’t fully understand project complexity and the expected outcomes. Once they are revealed in the middle of the process, a customer is asked for the additional budget;
- a whatever quote as the primary goal of an agency may be closing a deal and hoping for the best, not delivering a product a customer requires.
So how is a discovery phase beneficial for project success?
- It allows to define user goals and needs and ensure the product supports them.
- Customer’s expectations are fully uncovered and shared understanding of the project is established by both parties.
- Based on clear features priority a project roadmap with milestones and delivery dates is built.
- Given the project goals and scope clarity, the right technology is selected and a customer avoids costly changes in the future.
- Information collected during a discovery phase allows providing an accurate budget and timeline estimate. It secures a customer against overspending and missing a deadline.
- Besides, at this stage, a customer can evaluate his tech partner and make a decision whether to continue working with him or not.
The major purpose of a discovery phase is to maximize project potential and mitigate failure risks. We achieve this through establishing the shared understanding of the project goals and scope between a customer and a team, managing expectations by building a product prototype and elaborating a project plan.
It’s up to you to choose your suit.