The way I did this was that one person (Product Manager) was responsible for prioritizing bugs and new features. The Prime Minister decided whether each element was a mistake or a new function based on the following criteria:
- if the software does something that is clearly obviously wrong (i.e. not something that someone wanted or intended), then this is a mistake.
- If something contradicts the design documentation for the software, and it does not have obvious advantages, this is a mistake.
- if the software does what the client (or someone else) does not want, but the behavior matches the project documents, then this is a function request.
PM will discuss every error or feature request with the engineers, as well as customer representatives, and on this basis (as well as common sense and experience) will assign priority to each element. In addition, the engineer will be asked to indicate the approximate time frame for each element, and the PM will use this to plan the next iteration.
In short, the mistake is that the software does not do what the people who planned it did for it, and the request for the function is when someone wants the software to do what was not planned.
Ben source share