Monday, December 31, 2007

Testing with Sun Tzu - Chapter 12

In looking back there are multiple avenues of attack that Sun Tzu has mentioned and advocated, some are applicable to dealing with projects, people and resources. In Chapter XII The Attack By Fire he proposes ways to deal with your enemy by an old and, at the time, untamable force. I am not advocating any use of fire, while I admire Milt's conviction in Office Space I would not condone that avenue to anyone who is unhappy with their workplace, but there are some parallels that can be drawn. Fire has been useful to civilization going back in time, from slash and burn agriculture to its use is siegecraft, but its also unpredictable as can be seen by any area that has brushfires. California sees these often, and while there are always attempts at making fire breaks and keeping the flames isolated, any good wind can spread the sparks across large areas easily. While fire can be harnessed in some situations, in others it can be downright dangerous.

Sun Tzu said: There are five ways of attacking with fire. The first is to burn soldiers in their camp;

Nothing like making an opponents army lose everything in a big fire. This takes care of everything in one swoop, and while the army not only looses its supplies but inevitably some soldiers will be lost in either escaping or fighting the flames. Not much to condone here, unless you are looking for a way to sabotage something, and in that case you don't need my help.

the second is to burn stores;

Isolate the damage, removing needed resources not only harms the army in the future but can cause psychological damage as they may lose the will to fight, or at best now need to spend much time foraging. If they are in a land already stripped, then things can be grim indeed.

the third is to burn baggage trains;

The supplies following an army on the march, if these are lost the army is back to losing much of its supplies, except that which is carried, and is again either demoralized or back to foraging.

the fourth is to burn arsenals and magazines;

Removing the weapons from the army and it has lost the means to fight, having the will and the means is important, but without one or the other an army is severely weakened.

the fifth is to hurl dropping fire amongst the enemy.

In pre-modern times this would probably be from flaming arrows, to flaming oil from catapults or trebuchet's or even from Greek Fire. In modern armies its probably going to be from firebombs. Either way, fire in the midst of an enemy is also a good distraction.

So what can fire do for us? Not much in the realm of Testing or Projects. What you would want to do is watch out for fire coming into your projects or tests, avoid anything that can delay you if its placed in your environment. Sharing resources is often a way of life in some companies, but don't let some really new piece of code and its sudden new required installs of software X, Y and Z be placed in your environment a week or two before you get that next big drop. You may not get your environment back in time, or worse, find out that X, Y or Z is not compatable with your project, making you rebuild your environment. A good thing to do with any machine in your environment, if you can, is make a nice basic build of your environment then snapshot it, that way in case something happens, or you need to get back to a starting point, you put the snapshot back and you are set to go.

Fire extinguished.

In attacking with fire, one should be prepared to meet five possible developments:
To be circular about this, let's see what Sun Tzu says about attacking with fire.

When fire breaks out inside to enemy's camp, respond at once with an attack from without.
Use the distraction, and the sudden natural ally to make your assault.

If there is an outbreak of fire, but the enemy's soldiers remain quiet, bide your time and do not attack.

They may be lying in wait, or not even there.

When the force of the flames has reached its height, follow it up with an attack, if that is practicable; if not, stay where you are.

Use the natural ally, or better yet, let them fight it out and when they are exhausted and weakened attack, don't use your resources unnecessarily.

If it is possible to make an assault with fire from without, do not wait for it to break out within, but deliver your attack at a favorable moment.

Choose your time wisely, whenever your enemy is most distracted - pounce.

When you start a fire, be to windward of it. Do not attack from the leeward.

Last thing you want is the fire coming at you, let the enemy run away from the fire into your forces, and don't get the ash and flames in your face.

Hence those who use fire as an aid to the attack show intelligence; those who use water as an aid to the attack gain an accession of strength.
By means of water, an enemy may be intercepted, but not robbed of all his belongings.

By fire you force the enemy to move, and lose what he has, but with water you slow down your enemy or force him into an environment where he cannot attack, but he may not lose his resources.

But a kingdom that has once been destroyed can never come again into being;

Once you have destroyed a project or group, you are never going to get it back, don't lose it and don't squander it.

A short one, but hey its 12 down and 1 to go!

No comments: