Friction

I’ve been reading a book recently called Strategy: A History. I came across the Prussian General, Carl von Clausewitz, who wrote the following:

Everything in war is simple, but the simplest thing is difficult. The difficulties accumulate and end by producing a kind of friction that is inconceivable unless one has experienced war… Countless minor incidents - the kind you can never really foresee - combine to lower the general level of performance, so that one always falls short of the intended goal.

Clausewitz went onto say that the result was ‘effects that cannot be measured, just because they are largely due to chance’.

Now, let’s rewrite that passage and replace ‘war’ with ‘software development’:

Everything in software development is simple, but the simplest thing is difficult. The difficulties accumulate and end by producing a kind of friction that is inconceivable unless one has experienced software development… Countless minor incidents - the kind you can never really foresee - combine to lower the general level of performance, so that one always falls short of the intended goal.

The larger things are in software, the more friction you get. In a large organisation, you find yourself sat around waiting for virtual machines, physical machines, people, approvals, time slots on production like servers, etc., etc.. In such a context, you can try to measure the software development process, if you like, but you’ll mainly be measuring the effects of chance. This is a dangerous thing to do because you are likely to make clauseation errors (and then find yourself scratching your head when you later fail despite using the same techniques that helped you 'succeed' before).

Docker is interesting because it helps remove a load of friction from the software development process. It won't stop people making clauseation errors, mind you.

Clauseation Error
Clauseation errors occur when one measures the effects of chance, due to friction in the software development process, and draws erroneous conclusions from this: they are using automated testing on this project, the manager has made a massive clauseation error.

The general:

Friction - Carl von Clausewitz

Comments
Leave your Comment