(Insert here a chorus of developers having angst. This particular feature just went through an overhaul and is actually pretty darn good. Include the use of the phrase, "I haven't seen any bugs logged against it. If there are no bugs, where's the problem?")
So why the disconnect?
After spending some time with the complainer, it came out very simple. The feature itself works just fine every time. However, the complainer is scared to use the feature on a busy system because of other negative consequences that might occur. So there's nothing wrong with the feature itself - we're all confident of that - but the feature is still scary. The end result is that this feature is not usable as is; the customer simply won't use it.
There are two things to realize: (1) there's nothing wrong with the feature, so that's not what needs fixing; and (2) the customer doesn't believe the feature is safe to use. We can't change item 1 - there's nothing to fix - but we can change item 2. We have two courses of action open to us here:
- Either change the customer's perception
- Or change the feature to make it feel even safer
In either case, development has work to do. No matter how wrong you think your customer is, and no matter whether there's evidence to match the customer's perception, you need to keep working until the customer's perception matches reality, and everyone's happy with that state.
The moral of the story?
Your customer's perception is your reality.
* Sorry for the vagueness. Names and features have been changed to protect the innocent.