The Tao of Extreme Programming
Dragons of Mist and Wind
Around 500 B.C., according to the Han dynasty Grand Historian, the eunuch Ssu-Ma Chi'en [Chi'en1961], in the then Chinese imperial capital of Chou, the scholar and orator, Confucius sought out the sage Lao Tse.
Confucius had achieved fame promoting an ideal of social perfection via obedience and learning. He identified fixed social roles and catalogued symmetrical relationships between them. He defined a competitive etiquette depending on the moral order of the universe, as revealed by the mandate of heaven, as interpreted by the learned masters, as encoded in their tests, calendars, rituals, and plans. For thousands of years the vast Chinese civil service employed this method. A hundred derivatives—Mencians, Legalists, Neo-Confucians—sprang up to dispute the finer points, yet all agreed that chaos derives from neglect of the proper ritual, or from leaders performing rituals incorrectly.
Traditional software methodology resembles a Confucian doctrine. It pursues perfection of process through the communication of stylized documents between technical specialists arranged in fixed roles. It emphasizes the completion and filiation of consistent forms at predetermined times. Proponents of traditional methodology likewise explain failures and slippages as lapses in process, or as management applying process incorrectly.
For his part, Lao Tse probably did not exist, and certainly was not the author of the work attributed to him [Mair1990]. Even the name is invented, meaning only "old philosopher" or "old philosophy." In a story likely originating with the rogue Chuang Tse, a Twain-esque vagabond who promoted anti-Confucian ideas through satire and riddles, Lao was a Chou dynasty imperial librarian who exiled himself from a decaying empire. On a high pass smothered in snow, a border guard, Yin Hsi, demanded that before quitting China Lao Tse record his learning for posterity. In response, the sage jotted the poem called Tao Te Ching, which loosely translates as Concerning Flow and Harmony. Lao then departed for parts unknown, disappearing even from myth.
There are striking similarities between Extreme Programming (XP) and Lao's verse. Although Kent Beck has not yet departed for parts unknown, his method, like Tao Te Ching, is concerned with direct feedback, iterative process, and disposable artifacts. Beck deposes static documents from their Confucian place of honor, treating them as lightweight conveniences rather than idols of consistency and completeness. In the place of symmetrical artifacts perfected in phases, XP pursues a kind of Tai Chi of development, a martial art of interlocking, rhythmic practices intended to maintain open communication, opportunistic scheduling, and close partnership between customers and developers.
The meeting of Confucius and Lao was invented long ago. Their respective philosophies have been revised, jumbled, combined with Buddhism, and iteratively glossed to justify a vast canon of magic, politics, morality, armed conflict, yoga, chicanery, and assorted hype. The story of their meeting in 500 B.C. perfectly illustrates the tension of their relationship.
According to Ssu-Ma Chi'en, Confucius found Lao busy in the offices of the imperial library at Chou. Confucius came armed with a panoply of probing questions concerning the timing and conduct of propitious ritual, and the revered words of the ancient masters. Lao replied that ritual is empty, that men benefit only by seizing opportunity, that anyone calling himself master is foolish, and that he had nothing to tell Confucius but to forget scholarship and study nature.
Confucius returned to his disciples who were eager to learn the outcome of the confrontation. "I can catch fish, shoot birds, and trap rabbits," said Confucius, "but what am I to do with dragons of mist and wind?"