As a performance tester, along with many people in the IT-world, I'm often asked to plan for different eventualities. I have to write test plans, software deployment plans or help to provide estimates for how long a piece of work will take. For predictable, simple work, this is fairly easy and is the sort of thing that people learn in school maths lessons. e.g. "If it takes one man one hour to dig a hole, how long will it take two men to dig a similar hole?"
In the IT world it often isn't as simple as that. To (mis)quote Donald Rumsfeld, things that catch us out are the "unknown unknowns, those things that we don't know that we don't know." How can we be sure that the configuration of a particular server is the same as the last one where we performed a particular task?
How do we know that the test data that we've been given is a true representation of live data?
How can we be sure that the business requirements we've been given are correct?
With a whole host of unknowns we need to be prepared to change our plans at a moment's notice.
This is where the "dead Prussian" comes in.....
He recognised that military strategy was best described as a system of "options" since only the beginning of a military operation was plannable. He tasked his officers with calculating numerous possible outcomes and "what if?" scenarios. Only by preparing for multiple possibilities, could he be ensured of success.
His ethos is best described with the quote which is most commonly attributed to him:
"No plan of operations extends with certainty beyond the first encounter with the enemy's main strength."
Often abbreviated to:
"No plan survives contact with the enemy."
I think that "Moltke" would have been at home in the IT world. He rejected a single detailed plan in favour of multiple "what if" plans and empowered his subordinates, trusting them to make the right decisions, despite the fact that he couldn't always be in contact with them. Although the "military subject matter" of his famous quotes isn't pertinent in IT, the theme remains relevant.
As I tester, I believe that these quotes are spot on:
- No test plan survives first contact with application code.
- No project plan extends with certainty beyond the first milestone.
- There is no such thing as the "perfect test", prepare for the unexpected.
- If something can go wrong, it probably will..... be prepared for it.
Can you think of any other "Moltke-themed" quotations that are relevant to you?
Answers on a postcard....well perhaps in a Tweet to @TrustIV