What Good Cooking Can Teach Us About Agility
About a decade ago, I finally crossed the line towards becoming what I would call “an acceptably competent home cook.” What pushed me over the line was that I began to see patterns in the various dishes I prepared (pan sauces being a good example) and gained an understanding of the science behind cookery – both of which gave me the ability to innovate and improvise.
So it should come as no surprise that if I were to recommend a book for “emerging agilists” (the folks who are relatively new to agile, know the rules but are still working things out) I would point them to a bestseller on mastering the elements of good cooking. Notice that I didn’t call it a “cookbook.” There is a reason for that – a “cookbook” is the exact opposite of what I am recommending.
To cut to the chase – the book in question is “Salt, Fat, Acid, Heat.” Written by Samin Nosrat and illustrated by Wendy MacNaughton, this wildly popular book (and now a Netflix series) is primarily about cooking, but there’s more to it. Nosrat’s goals are hefty. She urges us to become so good at cooking that we can walk into someone else’s kitchen and make an excellent meal simply from the ingredients on-hand. This requires a far deeper understanding than the ability to follow a recipe’s instructions like a robot. To do this, Nosrat stresses the importance of understanding how a wide variety of ingredients and techniques interact; tasting and adjusting the dish along the way; and encouraging our diners to join us in the process.
It’s a system that sounds remarkably like what we strive for with Agile product development.
Becoming a better agilist is like becoming a great cook
Nosrat is quite clear about how she thinks we should approach cooking. Throughout her book, the same themes appear: Understand “why”, use fast feedback (taste and adjust), and find inspiration in what others are doing well.
Yes, there are some recipes in the back of the book but even the recipe section is buttressed by beautifully-illustrated frameworks and patterns for making balanced salads, using different types of aromatic flavor bases, or advice on when and how to prepare fruits and vegetables given the time of year – dozens of useful insights that are long way from what we understand as “recipes.”
To quote Nosrat, “… recipes lead us to believe that cooking is a linear process, while most good food results from a circular one. Like a spiderweb, touch one part and the entire thing will quiver.” She also cites chef Judy Rogers: “Recipes do not make food taste good, people do.” These statements are as true of product development as they are of cooking.
The consequences of blindly following “recipes” – in the kitchen and in agile product development
As happens too often with agile, I suspect Nosrat’s readers often skip the foundational pillars of what she’s keen to convey. It’s all too easy to flick through the first half of the book which covers the guiding principles of successful cooking (what needs to happen and why – sound familiar?) just to get to the recipes (think “ceremonies”), and then follow those recipes to the letter (“doing agile” versus “being agile”).
Using cookbooks as your primary guide for cooking is pretty much anti-agile. A recipe is a prescribed set of rules that when followed results in a passable dish, but that is all. There is no feedback involved. There are no adjustments for regional or seasonal variation in ingredients. The preferences of individual diners are not taken into consideration. And you must have exactly the right set of ingredients on-hand.
Similar, slavish conformance to a “recipe” for product development typically has even more disappointing results. End users may not like how the finished product turned out and you have no way of resolving things other than taking on lots of rework – wasting both time and money. And unlike with cooking, you usually can’t simply “order out” as a backup plan. Preventing that is an important part of what agility is all about.
To be truly agile, like all the best chefs – be inspired
Read the “cookbooks” – but use their recipes for inspiration, not as prescriptions. Learn the principles and then use what you know to guide you as you create. It is then that can you turn out a truly exceptional product, whether it is software or dinner.