I spent the last 2 weeks in Peru, during which I hiked the Inca trail to Machu Picchu. 26 miles of very steep up and down hiking between 10,000 and 14,000 feet: where the air has much less oxygen. Many of you who know me, might have guessed that I’m not quite ready for such activity…
The 2nd day we went straight up 4,000 feet, and by mid-day I was exhausted and found it very hard to breath. I wanted to continue, of course, so slept though lunch, drank a lot of electrolytes (not Gatorade, this stuff tasted awful) , took carbo-gel, everything they recommended. Still when we took off for the afternoon, I could barely go 40 feet without having to sit-down. Finally, the porters tried to lift me, but even that was too much. I asked for oxygen, but was told that every time they gave it people did better, then got worse. Finally my girlfriend and I decided to have me evacuated out.
However, as we looked around to tell the guides, they were 50 feet ahead, in their own conversation. Christina, my girlfriend, then had this suggestion, “try taking 4 steps, then stopping and catching your breath.” I tried it, four (small) steps then two breaths. It came to about a meter at a time, but I didn’t have to sit-down. When we reached our guides, they had the oxygen out, but we refused it, saying “this is working, let’s try it out”. I continued, without sitting down, like this for about 3 miles. Later, as it got steeper steps, I reduced my rate to 2 steps, then 2 breaths. Then remainder of the trip I used this method as we continued up and down between the mountain passes. Constantly monitoring my breathing, and varying my steps from as little as 2 steps, to as many as 20. My metrics became clear, If I had enough breath to talk, I was going too slow. If I couldn’t breathe through my nose (in other words, if I needed to breathe through my mouth) I was going too fast.
And in the end of the 4 days, I arrived at Machu Picchu, and the end of the line, but with the whole group.
Now, hiking 26 miles, 4 steps at a time gives you a lot of time to think, and I got to wondering about sustainable pace and agile programming. We give some lip service to sustainable pace, but mainly we define it as a 40 hour work week. Normal development methods end up in such trouble that they don’t normally come close to sustainable pace.
Also, on the trail, I knew exactly how much progress I was making. I knew if I was going forward. I could say, “look, I’m 3 feet closer to Machu Picchu than I was 30 seconds ago.” But most projects don’t have sufficient tests to realize if they are moving forward, backwards or in circles.
So I wanted to start a discussion about refining sustainable pace for agile programming. There are (I think) 3 areas of this discussion
1) Metrics of sustainable pace for the team and for individuals
2) Techniques for going faster, yet staying sustainable (like my hiking sticks)
3) Metrics for judging progress and speed of the pace
For now, I’d like to focus only on the 1st question, what metrics do you use to tell if you are going too slow, or going too fast?