My dishwasher broke down recently. Fascinating though this anecdote about appliance failure is, it does illustrate an important point. When the dishwasher repair guy showed up the dishwasher (naturally) worked as soon as he turned it on. At this point he could have claimed there wasn't a problem and left. Fortunately he instead pulled it out and found that the pump has a slow leak that would eventually trigger the safety switch.
Unfortunately in the software world I've seen too many developers stop at the "it works for me" stage. A bug report comes from a tester or user. Developer says some variation of "it works for me", as if this somehow negates the issue the other party is having, and ignores the bug. Genuine issues are ignored and the result is a shoody piece of software.
The problem with "It works for me" is that it's an incomplete statement. A more complete version should be "it works for me, what's different that's causing it to fail for you, and how do we fix it?". Changing it into a question leads to actions can move the issue towards resolution. Amongst the things that may determine whether a bug manifests are:
- Differences in environments such as operating systems, component versions or variations in hardware
- Using different options in performing or invoking an action
- Differences in data entered or in the application data store
- Network issues
- Variation in security configuration (many problems don't manifest when running as administrator)
- The length of time the application has been running
- Other applications running on the system
- Actions performed on different days or at different times
- Chance involved in replicating inconsistent bugs
Sometimes this problem may be caused by an inadequate bug description. When this is from a tester the appropriate response is to get them to provide additional information. Dealing with a bug from an end user is more difficult, in some cases no more information may be forthcoming. This is an argument for a solid error reporting system. It is not an argument that bugs may be ignored because some other party hasn't provided replication cases in triplicate.
And for those who care (all none of you) my dishwasher isn't fixed yet but there is a plan to get it there.