Recently I found Gordon Ramsay's Kitchen Nightmares on Netflix. Each episode of this show starts with a restaurant that is on the brink of collapse and follows Gordon through his efforts to help the owners turn their restaurant around. Usually I don't enjoy reality shows, but along with the drama and swearing there are a lot of great takeaways (no pun intended) for us as IT people.
The five that initially occurred to me are Simplicity, Authenticity, Communications, Consistency, and Leadership. By the time I was done the post I had considerably more, but I don't want to spoil the show for you.
I'm obviously in no way affiliated with Netflix, Gordon Ramsay, or the BBC and I hope that if for some reason he finds himself trawling through IT blogs he doesn't take offense at this post.
I watched a few episodes of the US show and found it to be missing most of what I liked about the UK version, so if you've only seen the US version this whole post may confuse you.
In many episodes we see a restaurant struggling to serve such a large variety of items that it has no chance but to do them all poorly. The kitchen has no way to be prepared, as every evening is radically different. This struggle then forces them towards false economies of purchasing pre-prepared foods, freezing in advance, and generally cutting corners just to keep up. Simplifying the menu allows the kitchen to focus, wait until that day to prepare, and operate in a smoother manner.
Now think about it from an IT perspective. In the IT world we have a habit of over-complicating our solutions. We see the technologies shifting in new directions, new products coming, open a book and see architectural patterns for software development, patterns for building infinitely scalable networks, and so on. We try to provide service from an infinitely large menu filled with options we have never really tried. We add functions and unrequested features as a matter of course, ignoring the complexity and extra costs these add in.
That approach doesn't work in the restaurant business and it only appears to work in the IT trade because no one gets violently ill when we deliver half-cooked systems.
"Don't get to clever". A professional chef manages the size of their menu to what they can deliver and a professional IT group has to do the same. We need to build a simpler menu that focuses on delivering what the business needs and what we can provide rather than trying to deliver anything and everything on the market (and doing all of it poorly). This doesn't mean leaving off new technologies, but we need to make sure we've tried them and have a good grasp of their strengths and weaknesses before putting them on the menu.
To appeal to the customer, they have to identify with our product. In several episodes we see Ramsay polling the person on the street about menus, dishes, and once the color of the restaurant. What we end up seeing is a gap between what the customer wants or expects and what the restaurant is providing. In nearly every case, coming into better alignment with the potential customer is part of the recovery. The restaurant shifts to local produce and meats or to more authentic dishes. The menu and food changes to become more consistent with their area or it's theme and capitalizes on the authenticity to build customers.
With IT, authenticity is just as important. It doesn't matter whether the server is a Dell or HP, whether the end user asks for an ERP or scheduling system, whether we prefer an MVC framework or Silverlight application. What matters is working within the context of the business and what our potential users can receive value from. We need to work with our business to determine if an ERP is the best choice or if maybe a small business finance package would be a better fit. Are we using a new framework because it benefits the users or our ego? COTS or homegrown? Does the value of a feature outweigh it's cost? Is it a quality product or did we buy it based on the quality of the bar they took us to after that tech show?
Business alignment and helping the business make technical decisions is part of our authenticity as IT people. Helping the business make good, sustainable IT decisions is part of helping the authenticity of our business. Attempting to forcefeed the business solutions that satisfy our ego or laziness is not part of our job descriptions.
Kitchens are stressful places and provide numerous places for communication to break down. The chef stops communicating to their team and in minutes the team is idle while the chef melts down trying to run things on their own. Communication between the kitchen and the floor breaks down and not only is the customer impacted, but the floor doesn't know when to start pushing the faster dishes to ease pressure in the kitchen. Communications to the customer fails, bringing more pressure back on the floor staff, flows back into the kitchen and very quickly things spiral out of control.
And it's the same in IT. Not only are the communications between stakeholder and IT person critical, but we have to be aware of the other critical communications lines. Individual failures can quickly propagate inside our group and business, coming back to increase pressure when we need it the least. A good start is having a consistent method of communicating expectations and information. Without a consistent method it just turns into a room full of people generating a muddled background noise. Clear communication of delivery expectations, clear communication of expectations to the team, clear acceptance of delivery, clear updates to end users and stakeholders... These help to focus our efforts and drive repeatable behavior, trust, and a reduced level of stress.
Chaos is stressful and tends to feedback into itself. Clear, consistent communication keeps chaos to a minimum, ensures important information reaches the right ears, and helps keep us focused on the tasks at hand.
A key to return business is the ability to deliver meals in a consistent manner. The consistency of the food helps set the customers expectations and build trust, while an inconsistent meal generates mistrust and is guaranteed to disappoint the customer. Part of delivering consistent food is tasting every dish before it goes out, testing each one to make sure it is up to the chef's expectations before it reaches the customer.
In IT we have a habit of delivering inconsistent solutions. Applications are released that perform poorly in the real world, never having run outside of the developers machine. Networks and services are provided with no measures for quality, performance, scalability. Usability and user experience are add-ons at the end. We spend time on unnecessary features and rush the necessary ones...the list goes on. If no one is tasting the product, if we don't have both a guide for what "good" is and test against that expectation, then we won't be able to tell when those systems are failing to live up to our expectations. We can say they're the best systems in the country, but it's just wishing.
We need to define our expectations, test our systems against those expectations, and be consistent with our delivery. Wishing our systems are good makes all the time and energy we have put into them a waste and guarantees that we will be delivering inconsistent systems.
No matter how many improvements he helps make in a restaurant, the critical element for Gordon is to help managers, chefs, and owners take control of their environment and lead their people. Without this final ingredient, the new behaviors will not stick and the restaurant will soon slump back into it's former ways. With chefs he stresses the importance of leading and teaching the less experienced members of the kitchen, with house managers he might point out the same about their waitstaff. A restaurant that stands still will become dated and slowly degrade, as they start cutting corners and providing poorer service.
The parallel with IT should be obvious. Just as a restaurant requires leadership to keep moving forward, so does a good IT group. Without good leadership, we get in the habit of cutting corners, watching the clock, falling behind in our skills, falling out of line with the company values... Good leadership is what keeps the positives from falling into disrepair, turns groups into teams, and is the difference between a slow decline into a greasy spoon and a restaurant that delivers consistent, authentic, simple foods that delight the customer and guarantee return business.
There are only two directions, improving and deteriorating. No matter what improvements we make, if we don't have good leadership in place to promote those improvements, promote the values of the business, grow and respect the team, then any attempt at improvement is likely to fall by the wayside.
We May Not Work in the Kitchen...
We may not work in kitchens, but we do work in environments that can be very stressful, where every customer sees themselves as a chef and outages have to be corrected at 3am. We tend to add complexity where we should be removing it, we have communications problems, we have disconnects from our 'customers', we have difficulty delivering consistently, and we treat leadership as something that is granted at the wave of a new title.
I picked five elements in the show, but these are not the only parallels I saw. Management, passion, pride, respect, continuous improvement, keeping our eye on the "plot" ... IT doesn't have to invent everything from scratch. At the end of the day we are in an industry of people, delivering solutions to people, for problems that people created. All of the people-side issues exist all around us, in hundreds of different industries, we just need to step beyond our egos and be open to learning from them.After writing this up I took my own advice to go see who else had drawn similar parallels. Here are a couple links you should head over and check out: