What is the difference between a defect and a feature (enhancement)?
A product defect is when the product behaves differently than designed. It can take many forms, such as getting incorrect data, an error message or crashes.
When the product does not work the way that you think it should or does not have a function you want, but is working as designed, this is considered a feature or enhancement request.
Some issues are very clearly defined but there can be a fine line between these in some cases. Using a very simplistic example:
- If the product were to say that 2 plus 2 equals 5, that is a defect
- If the product were to say that 2 plus 2 equals 4.00 but you think it should be an integer, we need to go back to what the design was intended to do and it could be considered a defect or an enhancement.
- If you think the product should support modulo, but it does not, that is an enhancement request
When it comes to the graphical interface, the line can be more challenging to agree on. As someone once said, "when it comes to the GUI, everyone has an opinion". Documentation and tutorials can help clarify expected behavior.
The classification of defect versus enhancement will determine the timing of a fix for it,
Defects, depending on priority and severity, will be addressed by
- Circumventions - temporary solutions that reduce the impact of the defect
- Hot fixes - fixes targeted at as specific customer or issue
- E-fixes - minor product releases
- Releases - major product releases
Enhancements are reviewed and based on overall value will be included in e-fixes and releases as time and resources permit. While we try our best, there is no guarantee any given enhancement will make it into the development roadmap. If there is something you want quickly, one option to consider is having the Nastel professional services team implement it for you.