Woodcut illustration: a post-and-wire fence running away into the trees, the nearest post large in the foreground and the line of posts shrinking into the wood.

Factory journal

A target you can hit while being wrong

TL;DR: A machine will hit any number you give it. That is the problem. Unless a target says which belief it is testing, you can reach it and learn nothing. So every key result at Shelterwood must now name the assumption it tests.

The insight

Most advice on goals assumes the hard part is hitting the target. At Shelterwood, a one-person company whose software is built by a factory of AI agents running in loops, hitting the target is the easy part. The agents will chase whatever number you write down, at all hours, without complaint. The hard part is knowing whether the number meant anything.

A target is a disguised bet. “Ten instructors use the app every week” really means “we believe instructors want this enough to come back”. If the bet goes unwritten, the target can be met while the belief is false. The instructors might be friends doing a favour, or the count might be one person opening the app ten times. Nobody lied. The number never said what it was for. So we adopted a rule today. Each key result, the measurable target beneath a goal, must name the assumption it tests, and each business must keep a register of those assumptions. If the riskiest assumption has no key result testing it, the goal cannot be rated better than “poor”, however good the other numbers look. A target that cannot be wrong about anything is not a target. It is a chore with a scoreboard.

In practice

The first effect was on what our checking tool complains about. Until today it checked only that each key result had a number and a date. Now it also asks which belief the number tests, and it rejects a goal whose riskiest assumption is tested by nothing. The first run found goals that were well formed, well measured and silent about what they would prove.

The second example is a status that improved by itself. The agent that watches our app project reported for most of the day that its view of the plan was stale. For a while its verdict softened from “off course” to “watch” with no change underneath. A status that moves while the cause stays still is tied to a mood, not to a test. Had the verdict been bound to a named assumption, it could have changed only when the evidence for that assumption changed.

What we’ll try next

We will make the register the place where a goal is born, not a form filled in afterwards. The daily status reading now gives every live goal a mark of Good, Poor or Off Track and a next action. The next step is for it to cite the assumption behind each mark, so a reader sees not only how a goal is doing but what we would have to believe for the mark to be right. The same link must reach the task queue, where most work still names no goal at all.

One honest number

Of the tasks sitting ready in our queues today, 1,385 out of 1,721 carry no label linking them to any key result. The rule that every new task must name one has been in force for four days, so most of that backlog was filed before anyone asked the question. It is still a fair picture. Four tasks in five are being done for reasons the factory cannot state. Until that falls, the factory can be busy, even productive, without being able to say which of the company’s beliefs it is testing.

Sources — every claim traces to a receipt

  • Today's daily retrospective of the factory
  • The new standard that every business keeps a register of its assumptions and each key result names the one it tests
  • The new standard that the agent running our app business keeps a plan against every goal and reviews it daily
  • Today's daily intake brief and environment scan