A closing interview question I sometimes like to ask is, “Is writing software more like stacking bricks, or playing high speed chess?” Asked my own question, I might answer, “It’s like playing high speed chess in order to figure out which bricks to craft so that I can stack them.” Stacking bricks, with no caveat to explain their origin, couldn’t be a more incorrect metaphor for developing software. It is monotonous, predictable, and not mentally taxing in the slightest. Playing high speed chess, on the other hand, is a grueling intellectual process, and one that cannot be sustained indefinitely.
Often heard among progressive Agile practitioners is term “sustainable pace“, but I rarely hear a sufficient explanation as to why this is important. In short, thinking hard for long periods of time physically hurts. For those of us who think for a living, we either develop a tolerance for this pain, or we learn how to take breaks in order to let the pain subside – often both. Some of the most productive engineers have mastered this skill, applying a careful balance of work and leisure time. These engineers can seemingly produce high quality work day-in, day-out, with no signs of fatigue of slowing down. They are engineers that are working at a sustainable pace.
Project managers are typically lectured by engineers on sustainable pace, when asked to work overtime to hit a date. In order to teach a project manager sustainable pace, try the following: Give them an 8 hour long-answer test (as in, not multiple choice) every day for a week. It doesn’t matter what the test is on, so long as it requires intense brain work. As the end of the week, inform them that because the test is incomplete, or that some of the answers are wrong, or that new questions have been added, or that questions they have already answered have now changed, they will have to work the weekend to make up time, as well as work an extra 10 hours the next week. Keep this up until they understand sustainable pace.