August 8, 2007 Uncategorized

Li and Process in Software Development

From Wikipedia:

Li (禮 pinyin: Lǐ) is a classical Chinese ideograph which finds its most extensive use in Confucian and post-Confucian Chinese philosophy. Just like other ideographs of the Chinese lexicon, li encompasses not a definitive object but rather a somewhat abstract idea; as such, it is translated in a number of different ways. Most often, li is described using some form of the word ‘ritual’ (as in Burton Watson’s ‘rites’,[1] and Henry Rosemont and Roger Ames’ ‘ritual propriety’),[2] but it has also been translated as ‘customs’, ‘etiquette’, ‘morals’, and ‘rules of proper behavior’, among other terms.

Fortune Cookie 1 In large software development organizations there is often too much process, in small organizations there is often too little, and in medium sized organizations there is often too much and too little.  When there are good processes they are often tainted in the miasma exuded by bad processes.

Emphasis mine

In ancient China around 500 bce, thousands of burdensome social rituals dominated people’s lives. When to bow, what brocade to wear, how to address a government official, what ceremony to conduct, even what ornament to rest by the fireplace, and much, much more were all dictated by a rigid social code called li. Through the centuries many Chinese citizens had learned to perform these rituals mechanically, turning ancient customs into worthless and often oppressive ceremony. Confucius, the great Chinese philosopher from that time, found such mindless ritual deeply damaging to Chinese society. According to Confucius, Chinese ancestors had originally shaped the rituals as a way to inspire people to be responsible toward one another and respectful of their world. But with such purpose lost, many found themselves behaving like puppets, following empty rules rather than living as dignified citizens of a great culture. In Confucius’s view, the original intent of li had been lost, with disastrous effects. — Awake At Work by Michael Carroll

It seems to me that there is often a lot in common between li and process in a software development organization.

More from Wikipedia, again emphasis is mine:

The rites of li are not rites in the Western conception of religious custom. Rather, li embodies the entire spectrum of interaction with humans, nature, and even material objects. Confucius includes in his discussions of li such diverse topics as learning, tea drinking, titles, mourning, and governance. His contemporary, Hsun Tzu, cites “songs and laughter, weeping and lamentation…rice and millet, fish and meat…the wearing of ceremonial caps, embroidered robes, and patterned silks, or of fasting clothers and mourning clothes…spacious rooms and secluded halls, soft mats, couches and benches”[1] as vital parts of the fabric of li.

In Confucianism, the sage is one who, in any given situation, can integrate every piece of information in his or her surroundings and know what is appropriate for that situation. Li is what the sage uses to find that which is appropriate; it is both the means which sets the example for others, and the end which maximizes understanding, pleasure, and the greater good. In this way, the words one uses to convey respect for another, the clothes one wears to celebrate an occasion, and even the preparation of a meal find a home within the framework of li.

I doubt that the sage can do what he does because he memorized all the processes, procedures, and policies.  I think a small part of why she is effective is her understanding of what brought them into existence.  This understanding of origin and purpose combined with li, the source of all proper and decent human behavior, enable the sage to know what is appropriate in any given situation.

Most of us are not sages.  Most of our employers through out our careers have imprinted on us that we learn the right thing to do by memorizing processes, procedures, and policies.  If you are like me your experience has shown this to be false or as Michael Carroll says “surprisingly inadequate”.  Michael puts forward the issues is that they are missing the cultivation of li.

I have read about the use of roles instead of processes, procedures, and policies.  The goal being not to try and give people a paint by numbers for any situation but a hat to wear, a persona to play.  For more on roles see Organizational Patterns of Agile Software Development.  This may be a good start in the right direction, yet I don’t think it goes far enough.  Just like moving from processes to roles was an increase in abstraction so to is liLi moves beyond the limits of a role and puts the responsibility squarely on the individual.  The employer is no longer in the impossible position of trying to anticipate on behalf of the employee.  Now the employer can and should work to enable the employee to cultivate li.  I have not been able to find much on the Internet about cultivating li.  Michael suggests that focusing on simple courtesies given to your workmates is a good start.  He goes on to say that contemplation/meditation is a significant part of developing li.

15,433 Total Views

Leave a comment