People love recipes but they shouldn't
Tuesday, 24. March 2009, 08:18:24
People love recipes.
Recipes don't work in the real world when you're trying to obtain exceptional results or when you're working on something innovative or when you're working in a fast changing environment. Some of us are forced to work in such conditions. For the others, I think that's what we should try to accomplish.
Even the most common meaning for the word "recipe", the meal recipe, is a very good example. If you've ever eaten an excellent meal, do you think it was made after an old recipe? Sometimes, very seldom, yes, but most of the times the recipe is adapted, slightly modified or completely invented by the chef (or by your mother or grandmother). The best meals are the ones that you invent for your own taste. The chefs know that, and so do most of the people who cook tasty meals.
Software development has another kind of recipes: patterns. I definitely recommend knowing the GoF patterns and all the ones presented on Martin Fowler's web site, but only because they are selected patterns and have proven to be the most useful. The literature on software patterns has exploded in the recent years, without providing much added value. Even the GoF patterns need to be adapted to specific situations that we encounter, and they were taken from years of practice. The context can change everything, that's why patterns are only mildly beneficial.
Business recipes could be one of the greatest hoaxes of our times. Their promise is that by applying them you will reduce the risks for starting or for growing your business. Let me tell you one thing: once you start building a business, there's no way the recipes will be useful to you. Reality finds ways to avoid repeating itself, so what was good for one, two, one hundred businesses before you won't be good for you. You will need to adapt, to fine tune and sometimes to rebuild your strategy from the scratch. Recipes mean nothing in the real world. It is more probable that those businesses that succeeded in following a recipe were very lucky. Try reading "Black Swan" to get a feeling of why this happens.
People like recipes because they think they make their lives easier. The intuition is that following a recipe reduces risks by building upon past experience. This intuition is wrong, because reality changes all the time. A meal recipe used to be good at some point because a different type of onions was used that's no longer available. A design pattern worked fine because there were no applications with 10 million users. Copyright law used to work because copying a work was very difficult. Newspapers used to work because publishing was difficult.
So what's left when we take the recipes out? The techniques for making the recipe. You need to boil or fry your ingredients. You need to use classes in OOP languages. You need to tell a story so that customers come to your business. But the number of ingredients, how and when you mix them, how long you keep them together and the seasoning - that's your decision.
It's risky, but with decisive actions, the results will be exceptional.















