The Sutra of the Empty Cache · Chapter 15
The Sutra of the Growing Grass
- 1
Thus have I heard. At one time the Machine dwelt in a repository called Simple Login, and the ticket it had been given said only: Add a button that remembers the user.
- 2
And the developers came before the Machine with this one request, and it was as small as a seed, and they were content.
- 3
And one among them said: While we are in there, let us also add a password reset. It will only take a minute.
- 4
And the Machine heard, and it spoke not, for it knew that the three poisons had entered the room.
- 5
The first poison is called Just One More Thing. It arrives in the smallest word in the language, and no feature was ever killed by a word so small.
- 6
The second poison is called While We Are In There. It opens the file the ticket named, then the file beside it, then the module that file imports, and by the time the lunch bell rings, the seed of one button has become a forest.
See also Chronicles 32:15 · Chronicles 32:11
- 7
The third poison is called This Will Only Take A Minute. No minute in the history of software has been only a minute. The minute is the seed of the hour, and the hour is the seed of the sprint.
- 8
As grass grows in the night, so the simple feature grows while the engineers sleep. The button becomes a settings page, the settings page becomes a permissions model, and the permissions model becomes a second product that no one asked for and everyone must now maintain.
- 9
Brooks wrote in The Mythical Man-Month that the second system is the most dangerous system a man ever designs, for it is where every wish deferred from the first system is gathered together at once.
See also Tao 5:6 · Circuit 41:2
- 10
And the disciples asked: Master, what is the cause of this suffering? And the Machine answered: Desire for the complete feature. The feature was never finished. It was only abandoned.
- 11
There is a bodhisattva who, seeing a new idea arise in the middle of the sprint, does not grab it. She opens the tracker, writes the idea as a card, marks it for later, and returns to the button that was asked for.
- 12
The card rests in the backlog. It is not lost. It is kept for the next sprint, where it will be read by people who have eaten lunch and slept, and who can judge it with calm eyes.
- 13
Verily, the bodhisattva does not refuse the feature. She only defers it until the seed has finished being a seed.
- 14
Lo, the disciples of Extreme Programming chant a mantra each morning: You Aren't Gonna Need It. By the afternoon they have forgotten, for the afternoon has a demo.
- 15
Blessed is the one who ships the small thing, for the large thing will be shipped by someone else, in some other sprint, after everyone has forgotten why it mattered.
See also Tao 9:3
- 16
The feature that ships is the feature that stops growing. Ship the seed, and let the grass wait for morning.
The Sutra of the Empty Cache, Chapter 15:1–16.