Gordon Ramsay is a world renowned chef with a surprising amount to say on software development. Well, he says it about cooking and running a restaurant, but it applies to software development too.
You may have seen Gordon Ramsay on one of his many TV shows. Hell's Kitchen is a competition between chefs trying to win a dream job: head chef of their own high-end restaurant. On this show Ramsay is judge, jury, and executioner. And he chops off more than a few heads. Kitchen Nightmares is a show where Ramsay is called in by restaurant owners to help turn around their failing restaurants. On this show Ramsay is there to help.
If you just watch Hell's Kitchen you will likely conclude Ramsay is one of the devil's own helpers ("ram" is the symbol of the devil and "say" means he speaks for the devil: Ramsay). Ramsay screams, yells, cusses, belittles, and throws tantrums even a 7 year old could learn from. Then he does it all over gain just for spite. In Hell's Kitchen there's no evidence at all of why Ramsay is such a respected chef. He is just a nasty man.
Now if you watch the British version of Kitchen Nightmares you will see a slightly different side of Ramsay, he still yells and cusses a lot, but you will also see something else: this guy seriously knows what he is doing. The depth of his knowledge in all phases of the restaurant business is immediately apparent as he methodically works to fix what's broken.
Ramsay knows how to run a profitable restaurant. That's one of his key skills. Anyone can lose money running a restaurant, the secret is knowing how to make money running a restaurant. Apparently if, you run it right, a restaurant can make a lot of money. It can also lose a lot of money.
How does Ramsay teach people how to run a profitable restaurant? It's not what you may be thinking. He isn't about cutting costs, shoddy work, and cheap labor. Ramsay is all about profit through excellence and skill. That's what attracts people to a restaurant and keeps them coming back...and back...and back.
It's great fun to watch Ramsay cuss and cajole his way through the entire restaurant staff putting his finger directly on problems, creating inspired solutions, and then mentoring the staff and owners through the transformations needed to become a good restaurant.
While watching you have to wonder how people who invested their life savings in a restaurant could be so screwed up. But then you realize we are all screwed up at one time or another. From the distance TV provides everyone can look bad. Running a restaurant is hard and it's oh so easy to get in a rut.
And if you were stuck in a rut who would you want to give you a lift out? A super hero? How about Super Chef instead?
Sadly, in the real world when you run into trouble a super hero with curiously sharp knives doesn't come to your rescue. In the real world the same uninspired people apply the same uninspired strategies until losses cause the heart stoppage that blissfully puts an end to the torture. But this isn't the real world, this is TV. And on TV you see Ramsay slap the electroshock paddles on the restaurant and bring it back to life. It's wondrous to see both the restaurant and the people come back to life.
What's fun is when Ramsay revisits the restaurant after six or so weeks to see how the restaurant is doing. Most of the time the restaurant is doing better. There are a lot of happy customers and money is being made. And they don't slavishly follow what Ramsay said to do either. Instead, Ramsay taught them the principles of running a restaurant and then they learned how to apply the principles to their own situation.
Sometimes on Ramsay's reinspection tour he finds the restaurant has closed down or isn't doing as well as you might expect. The reasons for failure vary. Sometimes the initial problems were too great. One guy made a bad deal on a lease so it didn't matter in the end if the restaurant improved or not. Sometimes people are simply stubborn and won't change their ways. An example of this scenario was a fancy French restaurant where the owner gave the chef total control to cook whatever he wanted. It turns out the chef was addicted to complex foods that prevented the restaurant from getting its Michelin star.
While watching Ramsay work his magic in Kitchen Nightmares I began to see how similar a kitchen team was to a software team. Running a successful kitchen is a high stress, high work load, high quality, high variability environment where teamwork and communication are key. Sounds like software development to me.
Here are some of the notes I took on Ramsay's restaurant turn around strategies. I'll leave extending the metaphor into the software world in your capable hands:
- Quality can never be compromised. Let nothing slide.
- A good restaurant does one sort of food brilliantly. A bad restaurant does 50 sorts of food badly.
- Good food, good service, good atmosphere, and enjoy what you are doing. It's not that difficult.
- Good head chefs get the most out of their team.
- The best investment a restaurant owner can make is a great head chef.
- Always communicate. The head chef should constantly be talking.
- Taste everything before it goes out. That's the only way you can quality control your own food.
- Keep a clean kitchen. A dirty kitchen means a bad chef.
- A good team will always turnout good food under pressure.
- Waste means a lack of profit. Waste nothing.
- Know your market. Make what people want to eat where you live.
- The owner is responsible for making sure everything runs right.
- Know how to buy food. Get a deal. Be creative with less expensive cuts.
- People are responsible for their own areas. Other people shouldn't talk for your area.
- Ask for help when you need it.
- Run the numbers on profit. Know what things cost and how much you make.
- Cook what you do best.
- Go out and ask people what they want. Don't be afraid to talk to people.
- Be gutsy. Believe in what you are doing. Find your bollocks. You must have confidence in your skills.
- Don't be afraid to be the bad guy with your staff.
- Know your stuff and be the best of the best at your craft.
- Keep a distance between the owner/chef and the staff so needed corrections can be given without fear of injurying personal ties.
- Don't let your staff eat and drink at the restaurant. It scares away the customers. Keep a distance between both groups.
- The cardinal rule of cooking: must be clean, spotless. A clean kitchen means clean food.
- Always clean plates before sending them out.
- Always be doing something.
- The menu should be simple and clear in purpose. No more than two pages.
- Serve fresh food for a good price.
- Serve what is profitable.
- Stay on your staff all the time. Always get the most and the best out of them.
- Keep customers happy and spending money.
- Treat all your food with love and care.
- You can listen to a kitchen and knowing it is running well. You'll hear people talking to each other and working together.
- Work the table. Sell your food. Charm them. You want people to order drinks, appetizers, entree, and dessert.
- Look at the food and show an interest in what you are doing.
- Addition by subtraction. Get rid of people who don't make you better.
- Look at what is a bad investment and get rid of it. You need to be tough.
- Everything about your restaurant should scream sit and eat here.
- A bad looking a restaurant means bad food. Don't let repairs slip. Fix everything immediately.
- Always be getting better.
- Work for each other.
- Make dishes simple. No more than 5 or so tastes in one dish.
- People only have an hour for lunch. Take longer than that and they won't come back.
- Serve a good lunch and they'll come back for dinner and spend a lot of money.
- The owner should be working the customers, not in the kitchen.
- Always use fresh ingredients. Don't cook your food ahead of time. Don't deep fry. Don't buy preprepared sauces. Don't microwave. Always cook from scratch. It's better food and cheaper if you know what you are doing.
- Have clear lines of responsibility. Know who is in charge.
- Don't have too many people. It cuts into profit and makes communication hard.
- Work isn't your living room.
- All the elements of a dish must be ready at the same time. If they are not then remake it. The only way a dish can be made fresh and on time is if all people on a team communicate.
- A cook needs quality equipment to do their jobs.
- Don't appoint yourself head chef if you can't cook.
- If you lose all powers of communication under pressure you shouldn't be in the kitchen.
- If your chef can't distinguish between heavenly and hellish food combinations then customers won't be coming back for more.
- You have to speculate to accumulate. Adapt to your situation and make strengths out of weakness. Example: kids eat free to draw people in.
- You are only as good as your last service.
- Don't get to ambitious for your skills. Keep it simple or you will close. Go back to basics.
- There's no better recommendation then booking a party based on the referral of a customer who ate at your restaurant the night before.
- Look the part. Cook the part.
- Give a free glass of wine to your customers when you screw up.
- Create a warm inviting restaurant.
- Don't assume you can run a restaurant just because you worked in one.
- Anyone who has not cooked a casserole or filleted a fish should not own a restaurant.
- Don't give your establishment a name that sounds like a strip joint.
- Do what your people can do. Simplify the menu. Simplify the preparation. Select foods that can be prepared in advance. Create an idiot proof process.
- Don't attempt to cook elaborate food before you have mastered the basics.
- Show people what they don't know through example. Challenge them. Example: prepare a set of taste tests for the cook so the cook can educate their pallet.
- A chef without confidence is like a car without wheels.
- Restaurants located on the second floor are the hardest to fill with customers. Strike a deal with the first floor store to advertise your second floor.
- Building a reciprocal relationship with the butcher is key.
- Sticking to a budget means more profit for the restaurant.
- Be able to look at a batch of lamb and know how much profit you can make.
- Big softies don't make good cooks.
- Adding little bits of sh*t at the end of a dish ruin it.
- Using booze to deal with stress makes the kitchen the most dangerous place to be.
- Let your passion for food give you a kick instead of booze.
- Get back your reputation with a mid week bargain. Know your prices.
- Good food at a bargain price doesn't mean anything without good service.
- If service does their job right it takes pressure off the kitchen.
- Move your ass.
- Have frequent staff dinners. Let your younger cooks do the cooking and use all the leftovers in the pantry.
- Smile. Enjoy it.
- Preparing fresh food injects passion back into the kitchen.
- Serving bad food ruins a cook's self esteem.
- You are in trouble when nobody takes responsibility and everyone blames each other.
- Always put the nights earnings in the bank.
- Don't cook everything on the same grill. Use separate pans or flavors from last weeks fish will be in today's veggie medley.
- Don't double book. You can't turn more than one table an hour.
- Pride and arrogance are what stops you from learning from the provocative lessons dancing in front of your face.
- Lazy ways of cooking taint everything you make.
- Don't piss off the locals. If the locals aren't happy then you won't make money during the off season.
- Create vivid experience based learning sessions. To reduce pride in a charge take them to a bullfighting ring and have them fight an angry bull with nostrils flaring for vengeance. Arrogance fades when a giant multi-horned bull tries to kill you. And once the arrogance melts some learning can occur.
- Don't be too clever. Use local ingredients and cook cleanly and simply. Let people taste the food.
- You know you are doing well when you aren't stressed; you are communicating; everything seems easy; dishes come back clean; customers leave happy; and you make money.
- Eat your own dog food. Eat at your own restaurant and experience what it's like from your customer's perspective. Do you like what you experienced?
- Run your pub, not your kitchen. It's easy for a cook hideout in the kitchen.
- You own the business, so run the business, let the chef cook, and let your people do their jobs.
- Don't try to be something you are not. If you are a pub then act like a pub. A pub serves well cooked, simple, traditional food. Don't be a fancy restaurant if that's not your market.
- Working a lot of hours doesn't mean you are doing a good job. It just means you are working too hard.
- Don't horde junk. Keep what you need to do your job and get rid of all the clutter that keeps you from your main purpose.
What impressed me most about Ramsay is his overwhelming competence both in the kitchen and in running a profitable restaurant. Even more interesting is how well both skills work together in creating a better result. For example, Ramsay created an Ox tail soup in one episode that appealed to the locals, tasted great, was quick and simple to make, and made money. He couldn't have created this dish if he was just a cook or just a business man. There is example after example of this same class of work in the show.
What impressed me next was his absolute uncompromising dedication (surely the source if his inner a**holeness) to quality at every level. He insists on a clean kitchen, fresh ingredients, preparation from scratch, a simple menu, a well maintained interior and exterior, competent people in every job, and he has no trouble telling people what they are doing wrong and what they need to do better.
What I love most is when Ramsay goes out and asks locals why they didn't like a restaurant. And he sometimes samples food on a walkway to publicize the restaurant. Ramsay goes out there and mixes it up with the people. He doesn't cower inside wondering why what he was doing wasn't working. He believes in himself and doesn't let anything stop him.
How much these lessons apply to software is your call. I think a lot of them do. Ramsey may be a total a**hole, but that doesn't mean we can't learn from him.