Commonly, the requirements gathering process is done hastily or not at all in the rush to get the sale. After all, the faster you can make the sales, the faster the money is in the bank -- correct?
If you build software, which has long lead times, it is even more important to make sure that what you are building will satisfy the customer's requirements as changing the final software solution will be nearly impossible and very costly.
Why do we continually misunderstand and sell the wrong solutions and building the wrong software?
Often the customer will use words that seem to match exactly the products we have. But then after the sale once we have to implement we often find that either we deliver a poor solution to the customer or a solution is infeasible and we must refund the customers money.
However, behind every word that the customer is using there is an implied usage, and understanding that implied usage is where we fail to gather requirements. For example, suppose the customer says I need a car.
Suppose that you sell used cars:
- the customer asked for a car
- you sell cars
- What if the customer needs an SUV but you don't have any?
- What if the customer really needs a truck?
- What if the customer needs a car with many modifications?
- What if the car the customer needs has never been built?
If you don't understand how the customer will to use your solution then you don't understand the problem.
Comedy of Errorsfind a solution, after all, losing the sale is not an option.
successful implementation, but usually not until there has been severe pain at the customer and midnight oil burned in your company. You can eventually be successful but that customer will never buy from you again.
ConsequencesAs WIlliam Ralph Inge said, There are no rewards or punishments -- only consequences. The consequence of selling the wrong solution to a customer is:
- Whether you lose the sale or not, the customer loses faith in you
- The sales person is perceived as incompetent in the rest of the organization especially by professional services and software devleopment
- Your cost of sales and implementation is much higher than expected
- Your reputation is damaged
When customization is required, good sales people engage resources that can capture the customer's requirements accurately and assess that you can deliver a solution to the customer.
Slowing down to understand the customer requirements and how you will solve his problems is the key. By understanding the customer's requirements and producing the correct solutions you become a trusted adviser to the customer.
- Shift Happens, effect of scope shift in a software development project.