Work management
Blocking and links
Why blocked is an overlay rather than a status, and clears itself when the blocker finishes.
Blocked is not a status
It is an overlay on whatever state an item already has, worked out from what the item is waiting on. An item that was being worked on and became blocked is in progress AND blocked — it keeps its place on the board.
The problem this solves
Elsewhere, when one item blocks another, somebody moves the blocked item back to *To do* to signal it. That throws away the fact that it was in progress — and when the blocker finishes, nothing moves it back. A person has to remember. The information was destroyed by the act of recording it.
Here nothing is written at all. Blocked is computed on every read from the links, so the moment the last blocker reaches a finished state the item is no longer blocked: no write, no scheduled job, and nothing for anybody to remember.
Link types
| Link | Effect |
|---|---|
| Blocks / is blocked by | The only one with consequences. Makes the target show as blocked while this item is unfinished. |
| Relates to | A reading aid. No effect on anything. |
| Duplicates | A housekeeping note. No effect on anything. |
Only blocking counts toward the overlay. Treating a loose association as a dependency would make half the board claim to be blocked, and a board like that is one nobody believes.
What is refused
- An item blocking itself.
- The same link twice.
- A loop — two items each waiting on the other, or a longer chain that closes. Both would be permanently blocked with nothing on screen to explain why, so it is refused where the person making it still knows what they meant.
An item holding others up says so
The reverse direction is shown too — *holds up 2* — because that is what makes somebody pick a piece of work up next. It stops being reported once the things waiting on it are done.