Don't Poke the Bear
An experienced outdoorsman invites his friend to join him for a hike. The friend has done very little hiking, so he's nervous about the experience. As they start up the trail, he turns to his experienced friend and asks, "What do we do if we see a bear?"
His friend shrugs. "If we see a bear? We leave him alone. He probably won't bother us if we don't get too close."
"But what if he comes after us?"
Another shrug. "If he comes after us, we'll back away slowly."
The greenhorn still isn't satisfied. He stops walking and asks, "But what if he charges?"
The hiker sighs. "If he charges, we run."
"We run? That's it? That's your big plan: we run? Why aren't you more worried about this? Don't tell me you think you're faster than a bear."
The hiker smiles and starts walking up the trail again. "I'm not worried because I don't have to be faster than a bear. I just have to be faster than you."
We have a saying in our office: "Don't poke the bear." It means that once you finally put a contentious decision to rest, there's no point in bringing it up again. It only brings pain. But some people just can't let the bear sleep. They have to poke it, to bring up old problems that were solved years ago, to worry about new problems that haven't arrived yet. But they could. They could. These people believe that their value to the team comes from their ability to see risks clearly, to pay attention to the unpleasantness that no one else wants to see. In some ways, they see themselves as heroes, bravely dealing with the messy problems that everyone else is afraid of. They're gonna march right into that cranky old bear's den, doggone it, and they are going to poke it. Because if they don't, who will?
There's another saying: "Fools rush in where angels fear to tread."
Sometimes, it's OK to just let the bear sleep. Some problems aren't meant to be solved, and some solutions, even if they aren't perfect, are good enough. Perfection is hard, and it costs a lot. Good enough, on the other hand, is usually quite achievable. And interestingly, those fringe scenarios that we worry about, those 1-in-a-100 events with catastrophic consequences that might happen someday, very rarely come to pass. It turns out that good enough is, in fact, good enough. And if the terrible 1% problem does arrive at your door, you improvise. You don't have to be faster than the bear.
I work in software, so we spend a lot of time waving our arms in the air, drawing boxes and lines on whiteboards, and talking about things you can't see. For all the left-brained tendencies of my teams, our work is actually very abstract and creative. We take ideas and we turn them into products by typing words that kind look like English onto a screen, then telling a computer to compile it. There's nothing to touch in that whole process -- unless you want fingerprints on your monitor -- so ideas and communication become very important. The more complicated the idea, the clearer the communication needs to be and the greater the likelihood that we'll have differing opinions on the solution.
Most days, I seem to find myself refereeing between two groups: those who want "good enough" and those who worry that good enough isn't enough. I find myself asking the same questions over and over:
- What are we trying to achieve? What problem are we trying to solve?
- What's the best and most reasonable solution that we can accomplish now?
- What are the risks?
- Are those risks real or hypothetical? What's the likelihood that they'll occur?
- If something does go wrong, what's the impact and how could we mitigate it?
- Given all this, what's the reasonable solution? Where does the work stop adding value and just start protecting against 1% problems?
Somewhere in the midst of this process, reasonable people will start to find the balance between effort and risk. We learn that "good enough" can be even better with a little bit more work, and we agree that we're just going to have to live with some risks if we ever want to get anything done. It takes a while, but even the bravest bear-poker eventually finds that there's a difference between high standards and perfectionism. High standards set a goal that can be achieved with hard work. Perfectionism guarantees failure, and not just in software development.
Someone once told me, "I know that worrying works, because nothing I've worried about ever happened!" I hope they were kidding, but I'm not sure. As for me, if I have to choose between "good enough" and "never finished," I'll take good enough every time. The purpose of the hike, after all, is to enjoy the walk and savor the view, not to worry about bears. If you leave them alone, they'll leave you alone. And if they charge, just make sure you brought a slow friend along.