We’ve written before about why Sifter has only three possible statuses – Open/Reopened, Resolved and Closed. The short answer is that more than that over-complicates the issue tracking process without adding any real value for many teams. That’s not to say that no teams need additional states, but most do not.
Why? Well, there are projects for which this will not be enough, but provided your project scope isn’t quite as encompassing as say, NASA’s, there’s a good chance these three, in conjunction with some supplementary tools, will not only be enough, but simplify your workflow and help you close issues faster.
Why are custom statuses unnecessary and how does using them over-complicate things? Much of the answer lies in how your team uses status messages – are your statuses really describing the current state of an issue or are they trying to do more?
One of the big reasons that teams often want more status possibilities is that they’re using status messages for far more than just setting the status of an issue. For example, some teams use status to indicate resolutions. Probably the most common example of this is directly using resolutions as a status indicator. That is, the status of the issue is a stand-in for its outcome.
How many times have you tracked down an issue in your favorite software project only to encounter a terse resolution like “working as designed” or the dreaded, “won’t fix”? The problem with these statuses is that they don’t describe state the issue is in, they describe the outcome. In other words they aren’t statuses, they’re resolutions.
The status is not “won’t fix”, the status is closed. The resolution is that the issue won’t be fixed. Hopefully, there’s a more in-depth explanation of why the issue won’t be fixed, but that’s a separate topic.
Trying to convey an outcome in a status message is like trying to fit the proverbial square peg in a round hole.
Worse, in this case, you’re missing an opportunity to provide a true resolution. What do you learn from these status-message “resolutions”? Nothing. What does the team working on that project learn when they revisit the issue a year from now? Nothing. That’s a lost opportunity.
This is part of why statuses do not make good resolutions. Resolutions are generally best captured in the description where there’s room to explain a bit more about why you aren’t going to fix something. Take a minute to explain why you aren’t going to fix something or why it’s designed the way it is and your users and testers will thank you.
Detailed issue resolutions will decrease the number of statuses you need and increase the quality of your team’s communication. Perhaps even more important, your future self will thank you when the same issue comes up again and you can refer back to your quick notes in the resolution to see why things are the way they are.
Provided you use status messages solely for setting the status of an issue then there’s rarely a need for more statuses than those Sifter offers – Open, Resolved and Closed.