Production breaks.
The team scrambles to figure out what went wrong and how to fix it. Everyone’s got a few ideas how to solve this. You’re responding to angry emails from upper management why production isn’t ready yet. Meanwhile a customer notices the error and sends a nasty email threatening to switch to a more stable service.
Only been a few minutes.
As you’re thinking about how much coffee you need to order because the issue could drag into the night, the door slams open to the conference room.
Big-boss manager strolls in and immediately snaps, “Why is this not fixed yet? You should’ve just used the Floyd-Warshall[1] algorithm. It would’ve only taken me two hours to implement. Easy.”
And this did happen to a friend. Only the algorithm name changed. Big-boss consistently had a history of doing this. And he was usually wrong.
I thought of Captain Hindsight from South Park. He’s a superhero who shows up during a crisis and doesn’t help at all. He instead lectures people on what they could’ve done correctly to avoid the crisis.
I can also relate to a game I played years ago. The game was called Guild Wars and I spent most of my time in player-vs-player events. I would field 8 people in a match while managing a multitude of personalities and there was usually a Captain Hindsight. CH raged at the end of every match (if we lost) and spewed feedback like “Had our ranger interrupted that critical skill we wouldn’t have wiped.”
The comments may seem sound and there’s no way to disprove them. I can’t time travel to explore if events would have gone differently. Yes maybe the ranger failed at a critical point in the match. The failure doesn’t explain the full story why we lost.
I handled these situations by asking Captain Hindsight to calm down. Then I asked everyone to hop into the observer system (a feature to replay the entire match) to figure out how events unfolded into our loss. And it was never 100% the ranger’s fault. Always was a cascading sequence of mistakes leading to our failure.
Now let’s return to engineering management.
Sometimes projects fail. All the planning in the world just didn’t work out.
The worst thing you can do when a plan fails is throw up your hands and say “Tsk tsk. Well, clearly we should’ve just done X.” That’s the wrong attitude to take because it doesn’t fix anything.You’re also discounting all the hard work the team put in.
The right thing to do is slow down and examine issues leading to the failed plan.
Maybe the team should have done X. But you’re not helping because you should have proposed doing X in the first place, preventing the plan from failing. Why did you allow your team to go down the wrong path?
Here’s a thought framework that helps. If you’re about to spout off your mouth with your 20/20 hindsight solution, don’t.
Just. Sit. Tight.
Do everything in the world to not say anything.
Write down your silver bullet solution. Don’t show anyone though.
Ask yourself:
- Why didn’t you propose your superior plan in the first place?
Before the crisis went down, you probably didn’t have the knowledge to form the correct plan. Hindsight is amazing at picking out flaws in a former plan. Sit down with your team, and discuss the steps to take to correct the problem. After you develop a new set of plans, look at what you wrote.
If you were wrong, that’s okay. Nobody needs to know. You prevented your team from going down the wrong path like pursuing the “Floyd-Warshall” algorithm and wasting time taking a snap decision.
If you’re right, review my question about not bringing it up in the first place prior to the crisis. Then get on with helping your team with execution. You could ask instead, “Why didn’t we think of plan X before?” That’s far more constructive and you might learn a few things. There’s usually a good reason plan X wasn’t pursued originally.
Now that you can defeat your own Captain Hindsight, here’s how to respond to other Captain Hindsights. You need to ask why the proposed implementation was never brought up in the first place. Maybe they were correct and there was a failure in communication.
Acknowledge their suggestion. Dismissing only creates more trouble. You need to explain clearly why your team made the other decision previously. Then see how their suggestion fits in.
So here’s a mock example:
Customer: “Help! Production is slow”
Captain Hindsight: “Slow? We should have used memcached.”
You: “Yes, and we went with the current design because of X, Y, Z reasons.”
Captain Hindsight: “Everyone knows Redis is slower than Memcached.”
You: “Ok, by how much?”
Good luck. Asking detailed questions about their conclusions is the only way I’ve come up with to neutralizing Captain Hindsight.
[1] Not important to this essay.
Leave a Reply