3.2Linking commits to tasks

Mention a card with #12, finish it with closes #12, and let the board keep up with the work.

Section 2 of 5 in this chapter

There are two ways to connect a commit to a card, and the difference between them is the whole point of this section.

A commit message that does both
Enemy stagger pass

Tuned the hit reaction curves and rebuilt the montage. #31
Also fixes the T-pose on death, closes #28

The commit bar's task picker does the same thing without you typing anything: attach the cards, then tick done on the ones this commit actually finishes. Cards already sitting in Done are listed too, and ticking one assumes this is the push that finishes it.

Closed cards leave the board

When a push closes a card, the card is archived. It disappears from the board, keeps its number and its commits, and still appears in the release notes for the build it shipped in. Nothing is deleted.

This is what keeps a board readable after six months. A Done column that only ever grows is a list of everything anyone has ever finished, and within a few weeks it is the biggest column on the screen and nobody reads it. The board should be what is left to do.

Everything archived is one click away. Archive at the top of the board opens the list, newest first, with the commit that closed each card and a Restore button that puts it back at the bottom of its column. You can also archive a card by hand from its dialog, for the ones that leave the board without a commit finishing them.

Why the commit decides, not the column

A card dragged to Done but never pushed did not ship. A card closed, reopened, and closed again shipped once. The board is a statement of intent and it is allowed to be optimistic; the commit history is a record of fact.

Linking through the commit means the changelog can be built from facts while the board stays a comfortable, human, draggable thing. You do not have to be careful with the board for the release notes to be right.

   drag a card ─────────────────────────► board says Done
                                              (intent)

   push "closes #12" ──► commit #24 ──► link recorded
                              │           at seq 24
                              ▼
                        changelog for the next release
                              (fact)
Figure 3-1. The board is intent, the history is fact, and the link between them is what makes release notes derivable.

Was this helpful?

Back to top