Вы находитесь на странице: 1из 3

What's Cooking?

This is the year 3003 AD. Planet Earth is still revolving around the Sun. Centuries of environmental
exploitation has depleted all natural resources and human societies are surviving on synthetic food. There are restaurants that offer well-balanced meals with the appropriate nutrition required for the human body. Cooking at home has become expensive and so everyone is eating out. A typical lunch costs more than a couple of million dollars One fine day, a prospect walks into a restaurant. His wife, two sons, four daughters, parents, grandparents, and 23 distant cousins and relatives follow him into the restaurant. The typical problem faced by the restaurant is to customize the food for each individual's nourishment needs. The problem becomes complex because, the prospect will not be able to clearly articulate his needs and it becomes the job of the waiter to help them see and communicate what they want so that the cooks in the kitchen can prepare appropriate dishes. Customers are rare these days, as the number of restaurants have increased. So the restaurant manager along with several waiters flock around the guests and make them comfortable. Prospect: Those guys outside distributing pamphlets of your restaurant claim that you make the best food here. Manager: Yes, that's right. Here, take a look at our menu card. And he shows a colorful menu card with pictures of delicious mouth watering dishes and explains how each dish is full of vitamins and minerals and how each can be customized for all individual members of the prospect's family. Waiter 1: We understand the needs of the human body and what kind of nourishment it needs. So be assured that the food that you get will be the best. Prospect: See, I don't believe you. All restaurants claim the same thing. I have seen many menu cards and a lot of photographs. Waiter 2: Yes Sir, but we have been in this business for 2 centuries now and we have always delivered the best. Prospect: All right, but I will not order the full course unless I taste a sample of your preparation. The Manager immediately produces a cheque for $500,000, which the customer signs after a lot of cribbing. These days, you have to pay in advance and you do not know what you will get. Prospect: Fine, How long will this take? Waiter 3: Just 2 months. The Manager keeps the prospect engaged in the meanwhile Back in the kitchen, the waiters have communicated the order to the chef and the cooks. Chef 1: These people who make the menu cards never ask us whether such a dish is possible and merrily show the photographs to the prospects. It becomes so difficult to manipulate the recipe to prepare this and still get tasty food. Cook 1: We have got this new cooking range and I have still not got around to understanding how to use it. How do you expect me to make this new dish using this new apparatus within such a short span of 2 months?

Cook 2: Yes, and that is not enough. This recipe requires that 5-6 of us have to cook parts of it and then mix it together. Cook 3: See, I will cook my part very well but I cannot guarantee how the mix will taste finally. Don't make me responsible in that case. Chef 2: See friends, all these issues are real and we have to cope with them. We still have to work. Our manager had given me a few articles to read from the cookery magazine and I agree that we need different capabilities to handle such circumstances. One technique is to keep mixing earlier and taste the food often while preparing. Cook 1: hmmm Cooking has become very complex these days. Cooking food may have become complex in the year 3003 AD but 'cooking' software is as difficult in the year 2002. Reality is hitting hard. Changes in the business environment necessitate new software. There are new technologies and new development paradigms. Everything is fluid - needs, requirements, technology, architecture, expectations, paradigms - what is it that we can hang on to? After all the success of any restaurant depends on the quality of food they serve. And the quality of food depends on the cooks. Expectations from developers are high. A developer has to use a concept (OO), be fluent in playing with its description in a common language (UML), code it in another language (Java), using a new philosophy (J2EE) and finally deploy the solution on hardware where the performance is seen only at runtime. Given the costs of development, tools and technologies and the expectations of the client, a developer gets only ONE chance and he has to get it right in that attempt. There are no second attempts. So what can a cook do? Given these circumstances, the "ability to cook", though significant is not the factor that will make a good cook. The ingredients keep changing, the apparatus keeps changing, and the recipe keeps changing. Only a cook who attempts to learn and master the 'Art of Cooking' will be successful. The art of cooking is not the expertise in cooking any one delicious dish but the art lies in cooking tasty food with whatever is available on hand. Let me give a few examples. First of all a cook must have deep insight in the content of food ingredients of vegetables and non vegetables, their vitamin and mineral contents, calorific value and so on. A cook must understand what goes with what. You can make a aloo-gobi curry but not a anda-gobi curry (But in case, you are asked to make one, you must be able to make it good). A cook must have a sense and a feel - how much salt to put, how much masala to put. If a specific ingredient is not available, a cook must be able to substitute it with an appropriate alternative. Last but not the least, food must be arranged properly on the plates to be served to the customer. Looks of the servings do matter. A good cook would take the initiative to keep herself updated with the latest recipes and latest cooking apparatus. A good cook will constantly keep experimenting with different combination of ingredients; what dishes would cook well on what apparatus. (A tandoori roti needs a tandoor and not a microwave.) A good cook will be sensitive to the health needs of his customers, making sure to increase minerals for growing kids.

A good cook will constantly taste his preparation and not wait till all resources and ingredients are used up to find out that the taste is not good. If several cooks are preparing a meal, they must put the whole course together and taste the meal often to avoid last minute surprises. I can go on and on but I am sure you can figure out yourself what the cook is expected to do. For those who have not understood the isomorphism, the following mapping may help:

Food Prospect, Restaurant, Managert Cook, Waiter Pamphlets, Menucard Taste Apparatus Health, Vitamins,Human body,hygiene Maintaining the kitchen Experiments, Sample, Recipe Serving on the plate $500,000 Taking initiative Sensitive to customer needs Tasty food on time Art of Cooking

Mission Critical Software Prospect, Vendor, CEO Chef Developer,Analyst, Design Lead Whitepapers, Presentations Test Technology Domain Understanding Configuration Management POC, Pilot, Design Front end looks, HTML screens $500,000 Bias for Action Customer Understanding Quality Delivery Art of Development

You are free to find more connections (even for the sake of fun) but make sure you find meaningful ones that will help clarify expectations and will bring alive this process of development. Otherwise the connection will be lost in superficiality. The bottom line is to learn the 'art of development', which may not be taught in any college or in any training programs but has to come from individual commitment. Remember there is no second chance! So let us help each other (cook) develop (tasty) better (food) software!

Вам также может понравиться