- Moving day » »
- « « Google Acquisition Engine
Software is like cooking
In virtually everything to do with software, there is often some kind of metaphor used to describe it. Often, these are taken from the building or manufacturing industries (even some of our titles are taken from these: Architect, Engineer, etc.) and many times different metaphors seem to suit different situations better. If you haven’t guessed from the title, I think the best metaphor for software is actually to compare it to cooking. I’m still trying to find a situation where the metaphor doesn’t work (and sometimes its a bit of a stretch), but here are a couple of examples.
Your software team is made up of developers (cooks) and often headed up by a manager (chef de cuisine) sometimes with one or more technical leads (sous chefs). They produce applications (dishes) or libraries (portions) that are used to create a larger product (meal) that form part of a suite (menu).
Sometimes the applications have the same implementation underneath, but look different to the end user (re-arrange the food on the plate) or even feel different (change the garnish or sauce). Sometimes the application will work the same on the outside, but have a different implementation underneath (the recipe for any given portion might change but the meal will still be the same).
Different people are good at different areas. For example, someone might have great knowledge in developing the GUI (saucier), someone else is good with databases (pastry chef) and so forth. Some people will specialize in Java (Italian) or .Net (Chinese), and within those might have a lot of knowledge about for example Servlets (pizza).
We have design patterns (recipes) that make it easier for people to produce good quality apps (dishes). If you need to write an app (cook a dish), you can start with what you know. You know that a web app (pizza) will need some HTML (tomato sauce), maybe some JavaScript (pepperoni) and of course a web server (bread) and some kind of CGI mechanism (cheese). Of course, once you dig into things a bit more you may discover that your customer really wants a doughnut ![]()
Wanna extend the metaphor to include:
TV dinners
Restaurants
McDonalds
Haute Cuisine
AllYouCanEat buffet
Home Cooking
BBQ
Be good for a part two.
July 14, 2008 @ 8:22 pm