Agile hacks from a Runner
I have been into running long distances for over 3 years now. I relish every moment of my run right from the start to the very end. I still consider myself a green-horn when it comes to running and am always on the lookout for ways to improve my performance through subtle experiments and their analysis.
During one such run of late, it occurred to me that running can teach a lot about Agile practices. I thought it would be interesting to put down the analogy between Running and Agile basis the following points,
Drawing another analogy here, I relate a high performance agile team with different parts of the body. Each part represent an individual team member.
A good runner is observant of how her body feels before the start of the run. It is important before she makes a commitment to herself to finish the run.
Likewise, before the start of an iteration, the team should feel good & motivated. The whole team makes a commitment to finish their planned work that they have chosen for the iteration. Every individual in the team matters and contributes. This transforms the entire team to be one cohesive unit focused on the common goal. Individual problems may cause deviations.
Every runner is unique with distinctive abilities. It would not be wise to compare yourself with somebody else’s run-cadence (steps per minute), PR (personal record) or HR (heart rate). Similarly, an Agile team is unique. It cannot be compared with some other team on Velocity, Predictability or Burn-down chart patterns. The team should always focus on bettering their own PRs.
How important is that for a distance runner? The fact is it is not (unless you are in a competition). It is the optimum “sustainable” pace that is important. A focused runner will be observant of her metrics. She would keep an eye on her HR and how her body feels. She would choose a pace she is comfortable with for a long run.
In an Agile team, velocity is the key. However, it is the constant velocity that everyone in the team should strive for. A good team like a good runner will keep experimenting with its velocity until it reaches its optimum sustainable point. A runner and an Agile team, both should be wary of burn-outs. Efforts beyond the optimum results only in burn-out!!
Experienced runners are conversant with their body signals and are very quick to act on those. They never go by fixed plans or approaches towards their run; rather they are extremely flexible in varying their pace, going for quick hydration, altering breathing etc to maintain control over their body and towards their goal. Similarly, a good Agile team should be ready to adapt to new situations arising from customer requirement changes, improper analysis or any other impediments beyond their control. The team should be capable of circumventing all impediments while having their focus on goals.
Eye on Splits
Runners break their run into Splits, which are multiple equal shorter distances in a long-distance run. Analysis of these splits help them understand and improve upon their overall performance. Runners with gadgets keep an eye on their distance, heart rate, pace etc. It helps them take corrective measures. A seasoned runner without gadget does the same by observing how her body is responding to the run.
A daily stand-up ritual in an Agile team serves the same purpose. It helps to understand and fix issues as soon as possible while keeping a tab on the progress. Burn-out chart is a good metric to keep an eye on. Frequent work show-casing too helps align execution with requirements. They help us fix our issues and improve faster.
If a runner has good control over her splits, she does well in the whole run. Likewise, if the team has their grip on their daily performance, they are good for that iteration.
Objective is to continuously learn and improve. Every run provides invaluable data points to a runner. Based on the analysis of the past run, next run is improved upon. Some runners even experiment with their pre-run diet, hydration and pre-run workouts to check if it impacts their efficiency.
A mature Agile team is no different. It is always open & flexible to experiment with processes, skills and rituals to bring out the best in them. A self-organized team needs to be data driven to reach their optimum level of efficiency. Actionable items emerge out of patterns in their agile metrics. It is thus imperative to watch these metrics closely.
Agile is designed to alter our mindset towards doing everything right. It places customer right in the center of things. There is a lot that we can learn from our life and related hacks can be applied into Agile. With right mindset and clarity on the key objectives of Agile, world can be our classroom.