A couple weeks ago we had close to 9 hours of downtime. Some kind of meltdown in the datacenter in Newark where our servers live. A lot of websites/apps were affected, which I guess lessens the shame of it, though it’s embarrassing we’re not more robust to this kind of thing. Anyway, check out status.beeminder.com for a link to the gory details. And keep that URL in mind to check in case Beeminder is down in the future.
But let’s not dwell on that. It reminded us that we have a system for conveying the priority of bugs and other brokenness that’s sometimes handy. It goes like this:
- DEFCON:pS — seconds matter, the servers are literally on fire
- DEFCON:pM — minutes matter, the servers are figuratively on fire
- DEFCON:pH — hours matter, brokenness we have to fix before we can sleep
- DEFCON:pd — days matter, it’s something that preempts all other normal work
- DEFCON:pw — weeks matter, lower priority
- DEFCON:pm — months matter, no hurry
- DEFCON:py — years matter, i.e., maybe/someday, i.e., wishlist
In practice, we never use anything beyond “pd” (days matter). See our old post on our system of bug labels and the ill-fated “OMG” label for why we mostly don’t assign priorities to bugs/tickets. (Except for regressions aka zombies, which we talk about in Control Systems For Backlogs.)
We do combine the seconds/minutes/hours/days levels to get finer-grained priorities. Like DEFCON:pMH means “minutes or hours matter”. So definitely don’t go to sleep before it’s fixed but it’s not quite at the point where you should hold your pee. Or DEFCON:pHd means “hours or days matter”. So don’t literally lose sleep but get back at it as soon as you roll out of bed.
I don’t think we’ve ever used DEFCON:pS. No, wait, there was that time we ran a bad query that started deleting the database row by row. But that might’ve predated this DEFCON nomenclature.
For a burgle bug we’d probably say DEFCON:pM. For a merely embarrassing bug, either DEFCON:pMH if it affected all users, or DEFCON:pH or DEFCON:pHd if it was more niche. Or I guess :pd or even :pdw if it was niche enough.
We’re telling you this because having this shorthand has been handy for us, so maybe you’ll like it too? I think the advantage of it is that it straightforwardly combines priority and severity in a way that’s intuitive to set a value for.
Related Reading
- Fog Creek on priority vs severity.
- Debian’s hierarchy kind of parallels our system. Roughly, :pS = “critical”, :pM = “grave”, :pH = “serious”, :pd = “important”, :pw = “normal”, :pm = “minor”, :py = “wishlist”.
- And of course the links to our own previous posts in the prose above.