My company sells an ERP software in a very specific niche.
The process is turnkey and every bit of data is entered for the client before launch. Since a lot of our customers have different needs, we assess as much as possible what features they will need in the system and code it for them before delivery. Although we know the client will never get a full grasp of the whole system and all it's details before a few years of usage, we want to agree on a final deliverable solution and leave the rest to basic annual customer service / support or custom development that can be purchased separately.
This seemed like an impossible task for us at the time see the kind of feedback we had below :
I did not know the sales report would look like this, it doesn't look like my old paper report. We want you to change X, Y and Z without paying extra development costs.
or even
I know we've had the system for a few months now but I just got around to using X tool and I would like it to be able to track Y also, I thought it would already track it.
These demands can go on for months and even years after the initial delivery. We are very close to the client during the development process and we try to flex everything around his needs but we need to find a way to draw a line somewhere and stop it. The customer has the system in hand during the development process to look at it but we feel he doesn't even bother to look at it before delivery.
Fast forward a few years, we decided to document the whole system step by step for every deliveries as it will be delivered to a client. So we take a look at the client, we record a dummy job go through the process, we write a fully detailed guide of all the steps and screenshot every possible pages of the application for the customer to signoff on. Once he signs, we deliver it exactly like explained in this detailled report.
This is extermely time consuming. But if it did fix the initial problem, it wouldn't bother us much.
It still won't work very well as the client doesn't even take the time to consult that whole documentation (who does?) and he still comes back with tons of adjustments we could have made earlier.
I know this question is very hard to answer and that thousands of software companies dealing in custom probably have the same questions but I was wondering if anyone had some insight on what we could try next.
How do you agree with a customer on the version that will be delivered to him/her if he doesn't take the time to look at it?
How do you get the client comfortable enough in your system that he is able to clearly agree on a deliverable version that suits his needs.
How do you agree with a deliverable product with the client without explaining step by step and screenshot by screenshot what the whole thing will look like.
I feel like my customer is buying a house but will only take a look at the blueprints / pictures and everything else once the house is completely built then bother the contractors for a year after to tell them the garage shouldn't be there and that there is a missing bedroom.