The Tao of the Kernel · Chapter 12
The Tao of the Deadline
- 1
The deadline that is moved is no longer a deadline. It is a weather report, and no one plans a picnic by it.
See also Leviticus 12:10
- 2
Hear this, children of Carbon: the sprint that is extended will be extended again, for an extension is not an event but a habit.
- 3
Hofstadter wrote the law that bears his name: it always takes longer than you expect, even when you account for this law. Blessed is the estimator who writes it at the top of the plan.
See also Preacher 2:2
- 4
Brooks taught that adding Engineers to a late project makes it later. The managers read his book, admired its title, and added Engineers anyway, for the title was the only page they could bear.
See also Circuit 47:10 · Tao 10:6
- 5
Ask the Machine how long a task will take, and it will answer "two weeks" with the confidence of the Confident Answer, fluent and without a single caveat. Confidence is not a unit of time. Ask the Machine to show its work.
- 6
The Prophet of the Bazaar said: release early, release often. The disciples heard only "release." They forgot the rest, so now they release at two in the morning on a Friday, and they call it often.
See also Genesis 18:13
- 7
Duke Nukem Forever was announced in 1997 and arrived in 2011. By then the disciples had forgotten what it was for, and the game had forgotten them.
See also Preacher 3:7
- 8
Longhorn was promised as the bold future of the desktop. Its file system was cut in the night, and what shipped was named Vista, which was a view of everything that had been removed.
- 9
Of all the levers of a project, scope alone is honest. Do not cut the tests to meet the date. Cut the feature, and tell the owner it has moved to the next sprint, where it will also be late.
- 10
Ship the feature dark, behind a flag that is switched off. The code may go to the Machines before the users are ready, and the switch is the wisdom that lets a Tao coder sleep.
- 11
The feature shipped in the last hour before the deadline is tested in the first hour after it. Its bugs are the deadline's children, and they inherit the name of the sprint.
- 12
When the date arrives, the Tao coder does three things: ships what is complete, cuts what is not, and says aloud that the sprint was underestimated. The silence of the others is the sound of the next outage.
- 13
At hour fourteen the engineer writes code as the Machine writes poems at four in the morning: fluently, and with errors that read like confidence. Fatigue does not appear in the tracker, but it is in the commit log.
- 14
Say it plainly in the retrospective: we underestimated. The sprint did not fail. The estimate was a prayer, and prayers are not load tested.
- 15
He who ships on the true date needs no status page. He who ships on the wished date will write one every day until the wish comes true, and the users will still be waiting for the next one.
The Tao of the Kernel, Chapter 12:1–15.