I was celebrating my birthday in Japan with a team I mentored. The manager was present and he asked me politely what my birthday wish was. I said I wanted to slim down without thinking much. It was something I wanted, but had not been succcessful. But through the weeks following that, by being conscious about calorie intake and output, spreading my food intake, reducing portions, adding some exercises, my weight reduced dramatically. I call it "dramatically" because I never lost that much. Within about a month, I lost 8 kilograms, and then another 6 the next month and another 6 on the third. I had to buy a new pair of pants twice. There were no dieting pills, no starving myself, no gym, but just some self-control, having daily stand-up meetings with my weighing scale and food calorie labels and of course some discipline and commitment with encouragement from weight logs.
In the midst of this, I was invited to give a talk on agile development in Singapore. Naturally, I decided to use my weight losing experience as an analogy to introduce lean to the audience. The talk has a similar title as the title of this blog. During the talk, I asked the audience of about a 100 if they wanted to lose weight. 30% raised their hands. I said that they would learn how to lose weight as individuals, and become lean as development teams, which certainly resulted in a number of smiles.
The analogy between the weight management industry and the software development are surprisingly similar. Everyone wants to be slim, trim, sexy and healthy. Every software team wants to do things faster, cheaper, and better. Today, we replace the faster, cheaper and better with another adjective -"agile". Of course, we want to be agile. The weight management industry has so many dieting programmes, also called fad diets -Atkins Diet, Stillman Diet, Cambridge Diet, Mayo Diet, and many more. One of these diet (Stillman Diet), was what Karen Carpenter used before she died on 3 Feb 1983. In the software development industry, we have no shortage of methodologies - XP, SCRUM, use case driven development, feature driven development, test driven development, component based development, etc. There have been successes, and likewise failures. The overweight individual is frequently at a loss what to do. The software team is also frequently at a loss which method to apply.
The parallel does not stop there. The reasons why individuals gain weight and why software teams lose their edge are remarkably similar. The reasons why individuals fail at losing weight and the reasons why software teams fail in adopting agile are also very similar. The only difference with weight management and software teams is that weight loss is for the indiviudal, and software development is a multitude of individuals, which add to the complexity. Nevertheless, the parallels offer something which we can learn.