TITLE: All Out. All the Time. AUTHOR: Eugene Wallingford DATE: August 27, 2007 8:14 PM DESC: ----- BODY: Running on the university track late last week, I saw this slogan on the back of a student's T-shirt:
All out. All the time.
Such slogans are de rigeur for high school sports teams these days. They serve as mantras for the team, used to motivate the individual athlete but even more so to build team identity and spirit. I don't remember when I saw the first of these, but these days every team has one. The folks at Despair.com have profited from pointing out how shallow and lame such slogans and motivational tools are. But I cut most of these T-shirts some slack, because they are aimed at kids, who are not perhaps at a deep level when it comes to motivation. I do hope that the involved coaches help their student-athletes move on to a deeper understanding of teams and motivation, both individual and group, than the slogans give. But more importantly, I hope that these young athletes know that -- taken literally -- these slogans are usually wrong. "All out. All the time." Any runner knows that this can't be true. If you run all out for any length of time, your body will let you know that won't be doing it all the time. Sprint 200 meters all out, and you'll need to recover. (Most coaches recommend at least 100m of recovery, or the same amount of time it took you to run the 200.) If you try to sprint 400 meters at the same pace that you can sprint 200 meters, then you'll usually fade fast at the end. Move all the way up to a marathon, and you have to make serious changes in your expected pace. That's just the our bodies work. The same is true in any sport, along some dimension of exertion. The same is also true in creative work. And in software development. One of the great elements of Extreme Programming is the practice originally dubbed 40-hour work week and later renamed sustainable pace. Kent and Ward recognized that developers can't produce good code if they work beyond the pace that their minds and bodies allow. Ignoring those natural bounds is no different than trying to run your 200m pace for 400 or 800 or 1600 meters -- or for a marathon. If you try to go too fast for too long, you'll fade. That's not good for your client, and it's not good for developers. There is a time for sprinting, surely, but software development and good relationships with customers are more of a long-term affair. Sprint in short bursts where that adds value for the customer and doesn't hurt the developers. But back off the throttle as a long-range plan. The runners wearing slogans such as "All Out. All the Time." must know that they can't actually go all out all of the time. If they could, then I would never be able to pass them on the track with my tired old body, which most surely cannot go all out all of the time. But like them, I do like to go all out some of the time -- it feels good! And sometimes I myself will use even shallow, emotional sentiments to push myself when I am at the boundaries of what I think I can accomplish. But then I take a recovery break. -----