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?
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
“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.
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
1. 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.
2.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.
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:
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.