Journal

Empty cells in the lattice

Open notebook with sparse handwritten lines

When a product manager asks why a chart is “thin”, the usual answer is instrumentation debt. That phrase is too kind. An empty cell in a release lattice is not a gap waiting to be filled. It is a claim you have already made: that the behaviour did not happen, or that it is not worth remembering.

In The Release Lattice we ask students to print a week of ships and mark, by hand, which of those ships have a corresponding event. The first hour is always a little comic. People discover that a hotfix which changed paywall copy has no row. The console still shows trial starts. Nobody can say whether the copy change and the starts belong to each other.

Silence is not neutral in App Analytics. Downstream jobs fill it. A warehouse join treats a missing property as null and a missing event as absence. A board paper then reports “no change”, which is a different sentence from “we did not look”.

The repair is boring. You do not need a new vendor. You need an owner who will refuse to ship without a ledger line, and a dual-write window when a name finally arrives late. Empty cells can stay empty if you write that they are empty on purpose — a surface you do not measure, a country you do not sell. What you may not do is let them pretend to be data.

We keep a mild prejudice against heat maps for this reason. Colouring a screen does not enter a release in the book. If your lattice has holes, start there, not with a prettier tile.

Return to the journal · The Release Lattice