I wanted to draw your attention to two menu items in Maya's help menu today. Help->Suggest a Feature... and Help->Report a Problem... Both take you to our webpage, and ask you to fill in a form.
I've been asked "So, do you think this is a bug?" many times. And if it is a bug, how should I classify it? I'll address both of these questions, and tackle the hardest one first.
What is a bug?
One definition is that a bug is simply a defect in the software that prevents the software from producing the correct result. Another, much broader view is that Quality is value to some person* and a bug is an attribute or behavior of the program that unnecessarily or unreasonably detracts from its quality. If you use the first definition, then it is reasonably straightforward to determine if a problem is a bug: You first need to establish what the correct result is; you may have expectations that are incorrect. If what you think is supposed to happen does not happen, it could be that your expectations are wrong: this is "user error". Once you know that your expectations are correct you verify that the software does indeed behave incorrectly. You typically do this by attempting to "reproduce" the problem; you execute a series of instructions in the same order and in a similar environment to see if the software behaves as expected. But if you agree with Jerry Weinberg that a bug is an attribute or behavior of the program that unnecessarily or unreasonably detracts from its quality, even a case where the user is in error can be a bug. For example, we recommend that customers do not animate and render with the default persp camera. All kinds of things can go wrong if you reference in a scene where the camera is animated. If a customer does this anyway, you could argue that when Maya creates a mess of such scenes "this is expected behavior". That is true if you accept the first definition, but it is not acceptable if you use the second definition. Now if you consider that satisfcation with a product is not so much driven by the "correct behavior" as it is by a customer's ability to have a successful experience with Autodesk products, I think you will agree that the second definition is much more useful. So what do you need to do? Simple: Anything that interferes with a succesfull experience, and can be described as something that can be changed by developers so that users can be more successful, can be logged as a bug or a sug.
How do I classify bugs?
- Critical Severely impedes usability, requires major workaround in an important area to continue. Aspect of user interface is misleading or incorrect such that workflow is severely impeded.
- Serious Impedes workflow. Workaround is available.
- Important minor workflow impediment.
- Nuisance an annoying bug that does not affect productivity.
It may seem odd that we don't give you an option for the most devastating of bugs, crashes, fatal errors, hangs, irretrievable data loss, irretrievable files, missing feature. There is are good reasons for that:
- The software cannot be released with such bugs, so we simply won't ship if we know such bugs exist. (That's not to say it's impossible, we sometimes do not find such bugs in time)
- Crashes should trigger a CER, a Customer Error Report. If Maya does crash, and does not give a a CER, please log that and note that no CER was triggered. Classify that bug under Critical.