Sun Tzu and the Art of Software Project Leadership
By Bob Hueston on Mar 26, 2007
Sun Wu (or Sun Tzu, which translates as "Master Sun") was a military theorist who lived circa 400-320 B.C. Born in the Chinese state of Ch'i, he became a general officer in the state of Wu under King Ho Lu. He is best know for his book "The Art of War," a collection of essays with advice on the conduct of warfare. But few appreciate that Sun Tzu was also writing about software project leadership.
Samuel Griffith's translation of "The Art of War" includes a great biography of Sun Tzu. One story is particularly amusing. To paraphrase...
Sun Wu requested an audience with Ho-lu, King of Wu. Ho-lu read Sun Wu's
essays, and asked him for a demonstration using 180 young women from the
kingdom. Sun Wu divided them into companies and put the King's favorite
concubines in command of each company. Sun Wu ordered them to face right,
but the young women just giggled. Sun Wu said, "If orders are unclear, it
is the commander's fault." So he explained the orders five times. He gave
the order to face left, and the women laughed.
Sun Wu said, "If orders are unclear, it is the commander's fault. But when the orders are clear, and are not carried out, it is the officers fault," and he ordered the favorite concubines be beheaded. The king saw what was happening and sent a messenger to tell Sun Wu to stop, but he replied, "When the commander is at the head of an army, he need not accept orders from the sovereign." The concubines were beheaded, and the next favorite concubines were placed in charge of each company.
Next, Sun Wu gave the order to face left, face, right, kneel, and march, and all the women followed his orders without a sound. King Ho-lu recognized Sun Wu's abilities as a command, and made him a general in his army.
"The Art of War" is organized into thirteen chapters, covering topics from estimation to secret agents. The advice is straightforward and practical, and with a little effort, can be adapted and applied to modern life, for example:
- "Enlightened rulers deliberate upon plans; good generals execute them."
- "Do not assume the enemy will not come, but rather rely on one's readiness to meet him. Do not presume that he will not attack, but rather make one's self invincible."
- "There are five circumstances in which victory may be predicted: (1) If you know when you can fight and when you cannot, (2) If you know how to use all of your weapons, (3) If your army is united in purpose, (4) If you are prudent, and (5) If your generals are able and not interfered with by the sovereign."
"The Art of War" can be summarized in four simple directives (which I have liberally paraphrased for effect):
- Know your enemy.
- Know yourself.
- Know what you're doing.
- Know what's going on.
I don't believer there is a better summary of the art of software engineering project leadership:
- Know your enemy: Identify the problem and the people who can make or break your project.
- Know yourself: Understand the capabilities and limitations of your team.
- Know what you're doing: Have a plan.
- Know what's going on: Execute to the plan and monitor progress.
In my coming blog entries, I will expand on each of these directives and show how they apply to software engineer leadership.
[There are several translations of "The Art of War." I use Samuel B. Griffith, Oxford University Press, 1963. There is also an online text version here http://www.chinapage.com/sunzi-e.html.]