To surrender or not to surrender is an age old question in the game of chess when mere mortals are playing; but the most veteran grand masters of chess gracefully drop their kings announcing their surrender as soon as they sense guaranteed defeat. The grand masters often don’t act optimistic and hope that their opponent will make a foolish mistake which in turn will cause the game to completely toss around giving them an undeserving victory. When they know they’ve lost, they surrender, back out and end the game with a graceful acceptance of defeat.
The art and discipline of considering defeat as an integral part of the game also exists in the world of mountain climbing. One of my CEOs and an individual I personally looked up to during the early days of my career, and still do, describes his experience on a climb in our company intranet (I’m not sure if he would like me to publish his name or names of others involved in the climb so names have been changed for obvious reasons):
While we could see the summit, we knew that we were at least an hour away. There were dark thunderstorm clouds looming around the summit - they had appeared gloomy from a 1,000 feet below they looked morbid from where we stood. With tired limbs, faint hopes but determined minds [Jack] and I started climbing towards the summit. However, by 12:15 we were barely at 13,700 feet a good 500 feet short of the summit. [Daniel] and [Rogers] had heard from other guides in the mountain that the weather prediction called for heavy thunderstorms in an hour or so and they sternly signaled us to turnaround and head back. To make matters worse, they had heard that due to the sunny day, the snow had turned slushy further down the slopes, if it continued remaining warm, we could face treacherous conditions - snow sinking - one where the snow is so deep and loose that one falls right through it and sinks under. We pushed our luck to see if our guides will let us buy a bit more time but [Rogers] was obstinate and conveyed his point by saying:
While these were pacifying words, it did not help us overcome the anguish that we came so close but due to paucity of time could not scale the peak. We were also glad that thanks to our guides prudent judgment prevailed. Most climbers get into trouble because they ignore sound, sagacious advice. We took a brief respite and reluctantly started walking back.
Let’s snap back to the world of software development, shall we? Look around and I’m sure you’ll a rare very-few organizations, managers or even veteran developers giving such sound, sagacious advice to young and budding developers. Most organizations and managers instead seem to be much more optimistic and seem to push a you-can-do-it attitude even in case of obviously desperate and beyond repair situations.
We like to think of our kick-ass teams and one man armies as ‘super-heroes’ who can change the fate of the project by their sheer hard work and determination. We seem to push the idea that physical limitations like the iron triangle just don’t exist and heroes can pull out successful projects like magicians pull rabbits out of their hat or overcome all limitations like the Hollywood hero overcomes all difficulties before the movie ends. We push on, and turn simple mistakes and small defeats into disasters, merely by not accepting them in the first place.
Legendary author Steve McConnell considers heroism to be one of the 36 classical mistakes in book ‘Rapid Development: Taming Wild Software Schedules’. He explains:
Some software developers place a high emphasis on project heroics, thinking that the certain kinds of heroics can be beneficial (Bach 1995). But I think that emphasizing heroics in any form usually does more harm than good. In the case study, mid-level management placed a higher premium on can-do attitudes than on steady and consistent progress and meaningful progress reporting. The result was a pattern of scheduling brinkmanship in which impending schedule slips weren't detected, acknowledged, or reported up the management chain until the last minute. A small development team held an entire company hostage because they wouldn't admit that they were having trouble meeting their schedule. An emphasis on heroics encourages extreme risk taking and discourages cooperation among the many stakeholders in the software-development process.
Some managers encourage this behavior when they focus too strongly on can-do attitudes. By elevating can-do attitudes above accurate-and-sometimes-gloomy status reporting, such project managers undercut their ability to take corrective action. They don't even know they need to take corrective action until the damage has been done. As Tom DeMarco says, can-do attitudes escalate minor setback into true disasters (DeMarco 1995).
Of-course, Steve McConnell isn’t the only one with a thick skin towards failure. The folks at 37Signals are also particularly unashamed about giving up. In fact they go so far as saying that ‘giving up is good’:
Here’s the problem: You agree that feature X can be done in two hours. But four hours into it, you’re still only a quarter of the way done. The natural instinct is to think “but I can’t give up now, I’ve already spent four hours on this!”.
So you go into hero mode. Determined to make this work, but also embarrassed that it isn’t already so. So the hero grabs his hermit cape and isolates himself from feedback. “I really need to get this done, so I’ll turn off IM, Campfire, email, and more for now”. And some times that works. Throwing sheer effort at the problem to get it done.
But was it worth it? Probably not. The feature was deemed valuable at a cost of two hours, not sixteen. Sixteen hours of work could have gotten four other things done that individually were at least as important. And you had to cut the feedback loop to avoid feeling too much shame, which is never a good thing to do.
That’s where the concept of sunk cost gives us a guide on what to do. It doesn’t matter what you’ve already spent. That time and money is gone. It only matters whether spending what’s left is worth it or not. Business school 101, but one of the hardest lessons to internalize.
In other words, stop being so afraid of calling it quits. You’re playing to win the full season, not a single game. Every time you play the hero card, you’re jeopardizing the next game.
While the folks at 37signals talk in terms of two hours and sixteen I’ve seen organizations carry on with huge teams for months and even a couple of years just because the manager and individuals in the team were too ashamed to admit that they had failed. Heroism is exactly the kind of thing that turns simple failures into irrecoverable disasters.
You may not be a mountain climber or a chess player, but if there is one thing you must learn from both these fields, particularly when it comes to your project, it is this: When your logic and gut tells you it is not possible to win or to make it to the end successfully, give up; and use the time and energy saved for the next battle. After all, if you’re around, you can always be back for another climb or another game.
Don’t ruin your career chasing the Hollywood-like-dream of being a hero who fights difficult times and always emerges a winner. Get real; give up a battle or two if you must. Failing is good, as long as you Fail early and Fail often. When you know you won’t make it or when failure is inevitable, surrender shamelessly; move on to the next game and play harder. Don’t waste time trying to be a hero who cannot fail. After all it’s about winning the full season, not every single game.
With this thought, I wish you, dear reader, a very happy life full of defeats, victories, fulfilling challenges, satisfying experiences and above all relentless passion to pursue whatever it is that you love doing.