Posted by danielmeyer on August 12, 2008
Today at an R&D meeting, a clip from the movie Facing the Giants was shown. It is a really powerful scene where the football coach is challenging one of his players to go beyond what the player thinks he can do.
As I watched, I was struck by two things (not that this is the final word either, but in the spirit of contributing to the conversation…):
First, it was a vivid reminder of the importance of keeping the passion alive, of not falling into complacency, of pushing beyond what we’ve done, every day. The clip was very worth seeing for this reminder alone.
Brock’s World and My World
Second, though, the scene on the screen seemed to differ in some important ways from where I live as a developer.
1. The Terrain
In the video clip, the thing-to-be-done is simple and well-defined: Carry this player on your back farther than you ever have, farther than you think you can. It is a one-dimensional problem. The terrain (a football field) is well-known and has been travelled many times before. There is only one unknown: Can I really do this? (With perhaps a second corrolary, “Do I believe I can really do this?” which affects the first.) The problem boils down to one of attitude: Am I going to give it everything I have, holding nothing back… or am I going to be defeatist from the start?
The world I live in day-to-day isn’t as simple. The terrain we plan to travel in the next several months is unknown in many ways — we’ve never travelled there before. True, the Research and Architecture teams have given us satellite footage from 200 miles up, so we’re not going in completely blind — but most times the terrain looks a lot different once you’re down on the ground. Down here, we’re deep in a jungle where there are precipices and deep pits, and sometimes if you correct too far to avoid one of the precipices on one side, you will step right into the pit on the other side. In clearing a path through this jungle, many tools are available from those who claim to have passed this way before. If we refuse to use anyone else’s tools we can be sure that we will be old before we get through this jungle. But there are also tools that could turn out to be a snare, or a trap. We need to avoid those…
There are also dangerous areas where if we take our product there, deadly arrows of defects, or a flash-flooding river of missed requirements, or quicksand of committing to a deal where the product we have may not match what the client wants, may drag us down or carry us away. Or,in the interest of getting things accomplished quickly, we could take whatever path seems to appear before us, and end up lost and wandering aimlessly through the jungle.
The point being, unlike Brock, we just go, go, go at our peril — we need to know the terrain and each step needs to be a studied one. It’s more like crossing a minefield than a football field, I think.
2. What success is
For Brock, success was simply getting there, where there was “as far as he could get by honestly giving his best”.
For us, success is a little more complex (this is also where the get-through-the-jungle analogy breaks down): Getting there is only half of it. Perhaps “getting there” would be akin to getting a client live on one of our products, or producing the next version of one of our products. But we need both this success in the short term and industrial strength products — products that our customers continue to like, that continue to meet their changing needs. Unlike Brock’s situation, where all-out pursuit of a short-term goal could be just the mental training he needs to succeed in the long-term, for us, the all-out pursuit of and focus on the short-term successes can tend to pull us toward sacrificing the long-term stability, flexibility, maintainability of our products. Success in the short term is imporant too, though. What are the right trade-offs to make here? It’s a little more nuanced than Brock’s task.
3. What’s needed for success
Brock either had it in him or he didn’t. He simply needed to be driven to reach his potential. Having his coach right beside him goading him and shouting encouragement was just what Brock needed, because it was up to Brock to personally accomplish his task.
Perhaps we can visualize the mismatch between this type of help and where I live with this picture: What if the task were more along the lines of “Convince these foreign heads of state that they should support your plan to do X.” Now, no matter what X is, this is a tall order. Can you do it, even if you’re a trained professional diplomat? It’s not a done deal, but you’ll give it all you have. What you need for success, though, will look a lot different from Brock’s coach’s shouting in his ear, “Go! Go! Go! Don’t stop! Don’t stop!” Here, to just go is to fail. In this scenario, you’d need to know, for example, how appearing to cooperate with your country is likely to reflect on each head of state. A multinational proposal must be carefully crafted.
How is development like a multinational proposal? Well, sometimes the software components seem to have minds of their own, and getting everything to work together does sometimes feel like “convincing” the code to cooperate!
There are times when there can be all-out coding sprints, once the major design decisions have been researched and made. But that’s the end game of a project, not where I live day to day.
Did I miss an important aspect? Comments welcome.
Update 8/28/2008: Perhaps a better alternative to the jungle analogy would be this: suppose the setup is the same as in the movie, except it’s 1937 and the coach is asking Brock to get as far as he can toward the moon. It’s never been done but it’s not impossible…