First, I think this blog needs more pictures, so here’s a somewhat-related comic strip from Helen, Sweetheart of the Internet. Over at the 37signals blog, David wrote the post Don’t be a hero: Giving up is good to do. I think it’s a very good thought that I should keep in mind for the future. He says that everyone, especially techies, wants to be a hero. However, he cautions us that this usually isn’t the case:
Most features need not heroes. They need realists. People who are willing to give up and walk away. Being a hero is all about sitting aside all costs and winning anyway. That’s not a prudent way to drive everyday development. 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. That’s where the concept of sunk cost gives us a guide on what to do. It doesn’t 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. Heroics are for when you have no other choice. When you can afford to take on tremendous risk because there’s no alternative.
Can it really be a good idea to give up? Are there any projects I’m doing for which I should call it quits? How do you think the desire to be a hero makes us waste time doing work we should just drop?