I was shoveling some dirt and thinking about software reliability this afternoon. It’s been rainy lately, so the dirt was pretty wet. Going in, I knew the dirt would be heavier because of the added water. What I didn’t count on was the mud that would stick to the shovel. For every shovel-full, I was carrying extra weight and doing extra work.
This struck me as a great analogy for reliability issues. Every time the system misbehaves, it’s extra work on top of everything else you’re trying to accomplish. It wears you out faster and makes your progress slower. And to carry the analogy a little bit further, you occasionally have to stop what you’re doing to scrape the mud off the shovel because it’s not worth continuing otherwise.
There are probably lots of areas of life where we carry an extra weight that’s not getting us anywhere. What does this bring to mind for you?