Tuesday, March 16, 2010

Cannot Reproduce

So what exactly is the course of action when a development team cannot reproduce a bug that has been reported? Do they simply tell the customer they are out to lunch and that everything is working fine? Well you obviously can't tell them that if you expect to keep them on as customers. That would be like a doctor telling you that you're fine because nothing showed up in his tests. You know your not fine.

And that is how the customer feels when they encounter bugs. They don't need to hear that your tests cannot replicate the same problems they are having. Their pain is real. Even if your unit tests are telling the team everything is in perfect working order doesn't make it so. A customer coming to you with problems can mean any number of things. Your unit tests could themselves be buggy. Or they could just simply be missing something. Humans create software and so the software is prone to human error.

Customers are also humans and just letting them know that you are genuinely concerned about their experience with your software will get you a long way. Even if it takes a while to track it down, the problem does exist. So step-by-step, work it out while keeping the customer posted. And if there isn't a bug in the software, the user is still complaining about something. Otherwise, you would have a perfect product. I've never seen such a thing, so there is always something to aim for.