Agile is like… cooking???

On Monday, during my flight from Denver to Boston I sat next to a delightful couple who were both retired. When they asked the inevitable question about what I did for a living I told them my story of being an agile trainer and coach and the basics of agility (all in under a minute!). At that point the usual response is “Oh, thats interesting” (yeah, right), but this time I was in for a surprise.

The woman asked me a question I have never been asked after telling people what I do for a living.  She calmly looked at me and asked “Don’t the people you teach have mothers that cook?”  I thought one of two things were true at this point: 1) she was senile – high probability or 2) she hadn’t heard me correctly – low probability since she was very attentive when I was speaking.  I gave her the benefit of the doubt and went along with her question by responding, “I assume so, but why?”

Her answer was priceless.  I wish I could have quoted her exactly, but this is the best I could do to capture her words and immortalize her digitally.  She said…

Cooking has to be considered an agile process by your definition.  You certainly don’t do everything up front, then put it all together and finally find out at the end if the meal came out correctly.  That would be foolish and embarrassing more often than not!  No, instead you test each ingredient for quality as you go along.  In fact, you will do what you called building quality in by removing more items as you chopped them and determined they didn’t meet your standards!  You even “test” each dish at various points in time to see if it is coming out right.  You may add some salt, pepper or a certain spice if something seems off.  You would test the wine with the food to make sure it matched.  You wouldn’t do this in specific time intervals, but you would definitely make sure at many points along the way the meal was coming out the way you wanted it to come out.  You would never just test it once at the end!  That’s just common sense.  Most people have seen their mothers cook, and to me this is so obvious I just can’t believe others don’t see it automatically.

Then she finished with the killer…

And you say people pay you to teach this to them?  For 34 years I was paid to teach common sense to 5th graders and I enjoyed it tremendously, but I clearly missed my true calling if you make a living teaching common sense to intelligent adults!

To say I was blown away by this 70+ year old woman is an understatement.  She not only understood what I said, but put it in her own world view and decided it was just common sense!  As an aside, I became a Certified Scrum Master by taking a course given by Ken Schwaber, and on the cover of the handouts it says “Scrum – It’s Common Sense”

Maybe this isn’t a perfect example of an agile process, but after thinking about it, I’m pretty convinced it is better than what non-agile teams do today.  In fact, if non-agile teams would treat their project like they were creating a fancy dinner they would probably improve tremendously!

Now for the rest of the story…  I wouldn’t even have had the opportunity to speak with these fine people if I hadn’t been nice to someone on the plane.  A family was traveling on the flight and had been split across multiple areas of the plane.  In order to allow mother and daughter to sit together I agreed to move my seat by a few rows and go from a window to an aisle seat.  I often do this when I see a situation like the one described.  I just think it is what I would like done for me in a similar situation.  I thought my reward would just be to feel good about helping a family out.  Instead I got a much greater reward – I found out I know how to cook!  🙂  So next time you have the opportunity to help someone out, do it – you never know what your true reward will be!

Until next time I’ll be cooking up new ways to help in Making Agile a Reality™.  (OK, poor ending, but it’s the best I could do with a jetlagged brain!)

Related Articles

Responses

  1. I like the analogy being both an agile software advocate and a cook. But professional chefs do spend a lot of time w/ prep work and readying the mise en place. I guess the equivalent in software is having your development tools, sdlc, testing process, deployment process, etc. in reasonable order.

    1. Isaac, yes, professional chef and evening cook will do some pre-work. But in agile we do the same thing. We have to create a product backlog and get our logistics set up for success. I would equate that work with the chef determining what meal to create and making sure logistically (i.e. ingredients, stove, fridge, etc.) they are are ready to produce.

  2. I am a software project manager and I just took a course at UCLA in agile methodology. A light went off in my head (aha!) and I immediately thought of cooking (I am an amateur chef as well). I must say I smiled that knowing smile while reading your post and laughed out loud at the dead-on assessment by your septegenerian. Thanks for the levity.

  3. Great story, Bob. I love it when I talk with people outside software who get agile right away. So much of agile is common sense, but we’ve done things contrary to common sense for so long in software that it’s easy to forget that.

  4. The cooking metaphor is a very good metaphor. Actually, the first time I saw this metaphor was in “Lean software development: an agile toolkit” by Mary and Tom Poppendieck. More precisely, in this book, the authors write about two very different cooking activities: creating a recipe and following a recipe. In the first case, the idea is to try many variations on a theme to find the best dish; it’s a development process. In the second case, the idea is to reproduce an existing recipe with a minimum of variations; it’s a production process. In the first case, “quality is fitness for use, variable results are good, iterations generate value”. In the second case, “quality is conformance to requirements, variables results are bad, iterations generate waste (rework)”. These are the differences between a development process and a production process. And obviously, creating a good software is more like creating a recipe; it’s a development process.

    It is funny to see that this woman came to the same metaphor (to me, she was more referring to creating a recipe)… and that she perfectly captured the insanity of our industry. Very wise person 🙂