beeminder / blog

3 stars 2 forks source link

The Checks & Balances Protocol for Bug Tracking #303

Open dreeves opened 1 year ago

dreeves commented 1 year ago
### Desiderata
- [ ] Have someone read a draft
- [ ] Keywords/tags
- [ ] Title image
- [ ] Link preview excerpt
- [ ] Publish
- [ ] Blog blurbs
- [ ] Waggledance
- [ ] Tweet
- [ ] Tip of the day
- [ ] Anki the URL?

Joel Spolsky in his classic post on Painless Bug Tracking:

When a bug is resolved, it gets assigned back to the person who opened it. This is a crucial point. It does not go away just because a programmer thinks it should. The golden rule is that only the person who opened the bug can close the bug. The programmer can resolve the bug, meaning, “hey, I think this is done,” but to actually close the bug and get it off the books, the original person who opened it needs to confirm that it was actually fixed or agree that it shouldn’t be fixed for some reason.

AKA "opener closes". Here's what that evolved into in Beeminderland:

The check&balances protocol for closing&resolving gissues

Every closed gissue should get a label for why it was closed (fixed, nixed, duplicate, could-not-replicate, etc). However, to make sure the person who opened the gissue agrees and signs off on the resolution, the person resolving the gissue should either close it or add the resolution label but not both. Nudge the opener of the gissue to resolve it if you closed it or nudge them to close it if you resolved it. See the Quick Links in the README for closed-but-unresolved gissues.

If the list of closed-but-unresolved gissues grows without bound, then beemind it.

Cognata

Verbata: software engineering principles, gissue management, spolsky, opener closes,

dreeves commented 1 year ago

FAQ: What if I create a gissue myself and then resolve it myself?

Then you're good. You can both resolve and close. "Opener closes".

dreeves commented 1 year ago

TODO: me elsewhere: "meta: avoid both closing and resolving unless it's your own gissue. Which this one technically was but then got assigned to other people"