Dealing with Swarms of Failures
Brooks’s image of the tar pit has inspired, or terrorized, a generation of software engineering managers. It’s a grand image, but perhaps too grand for the struggles of today’s manager. For most managers in Variable (Pattern 1) and especially Routine (Pattern 2) organizations, a more useful image would be this: You are in the middle of a lake, rowing a boat with several slow, steady leaks. You want to fix the leaks, but are being attacked by a million mid-summer Minnesota mosquitoes. Observing and preventing failures (fixing the leaks) is a nice theory, but you are too busy chasing yesterday’s failures (swatting the mosquitoes) to do anything about it.
To do something about those mosquitoes, you first need to make some reasonable measurements telling just where they’re coming from, how many there are, and how fast you’re disposing of them with your current swatting efforts. If you could get some perspective on the situation (that is, get into the context position), you might see some way out of your plight. Of course, that’s easy to say, but it’s hard to be the congruent observer when mosquitoes are flying up your nose, stinging your ears, and crashing into your eyes.
Steering (Pattern 3) organizations rely on congruent observers. Steering managers can do so because they are effective in dealing with failures when there aren’t very many of them. Extending our story, Steering managers know enough to heard for shore after the first three bites.
Anticipating (Pattern 4) organizations keep their perspective by setting up automatic systems of observation. They operate from the outside observer position no matter what the crisis is. It’s as if the boat has an instrument that detects mosquito-free areas of the lake and steers the boat there.
– Jerry Weinberg, Quality Software Management Vol 2, Chapter 15