This is how better tools and a culture shift can help you create value and better achieve your business goals.
Faced with continuously evolving requirements and demanding expectations, the software industry has devised a set of powerful tools and philosophies to manage complexity. Such knowledge is oftentimes too esoteric and too technical to easily share the knowledge with our customers. This is really a pity, as we do believe that many concepts, such as “DevOps” and “CI/CD”, are very useful to learn about for all stakeholders. They often transcend software and IT, and may contribute to a culture shift that is beneficial to the business as a whole.
Today, we will learn about these notions in a simpler case study: Which are the challenges faced by a fictional restaurant team that is trying to serve more guests?
How can the IT-inspired approach DevOps help its management to achieve the goal to serve more guests while keeping stringent quality requirements and improving everyone’s experience – from the guests, to the cooks and front of house staff.
The Case: "Il Luigi" - A Fictional Italian Restaurant
Il Luigi is a traditional Italian restaurant which is owned and driven by Luigi and his old friend Antonio, a passionate cook. Luigi is a warm host for all the guests who normally pass by for not only one of the delicious pasta dishes or just a traditional pizza. Most of the guests visit Il Luigi to spend an evening with friends and family and to enjoy good wine, starters, main dishes and a sweet final. The restaurant is organized into two areas:
- The “back of house” area, consisting of the kitchen, where cooks prepare multiple-course meals, overseen by the Chef. The Chef decides alongside the restaurant chef which menus will be prepared for the day, and is in charge of the overall quality of the kitchen.
The “back of house” also includes the “kitchen pass”, an area full of counters and heat lamps, where the prepared dishes await pick up by servers. - The “front of house” area, where the guests are welcomed, seated and served. They can order each day from a selection of daily menus or the standard dishes. This area is run by the servers, and is overseen by the Restaurant Chef.
In addition to the paying guests, the staff and Luigi likes to eat in the restaurant. Luigi also often invites some of his friends – world renowned food critics – and always asks for their precious feedback.
Il Luigi has long been organized this way, and has been consistently delivering a good dining experience to the guests. It has been doing so well, in fact, that the Michelin Guide awarded the restaurant its first star.
This made the attendance of the now famous place increase progressively but steadfastly. Although the owner Luigi, the Chef and Restaurant Chef scaled their operations proportionally. They hired more cooks and servers, and expanded the dining area. The team was being pushed to its limit, and some “background” issues were becoming more and more visible and difficult to ignore:
- Longer average wait times for the guests
- Increasing misunderstanding and even resentment between servers and cooks, and more and more times all reject the ownership
- Some culinary feedback of the restaurant owner and food critic was simply too late to help
In the end, customer satisfaction and the restaurant’s reputation were at stake. Despite everyone’s best efforts, something needs to change.
Enters DevOps
The owner Luigi, the Chef, the Restaurant Chef, cooks and servers convened for an emergency meeting, to diagnose the underlying causes:
- Inadequate tools
- Lack of ownership
- An outdated work culture (too hierarchical, communication in silos)
As a solution, they decided to introduce better tools:
- Large scale automation
- New point of sale system
Luigi hired an industry consultant, a good friend and coach with a lot of experience – let’s say, Gordon Ramsay.
In a first step, Ramsay recommended improving the setup of the restaurant:
- Clearly divide the restaurant into areas: “kitchen”, “staging” and “acceptance” dining areas
- Automated as much as possible releasing the of meals, for instance using conveyor belts (instead of pushing a cart)
- Better integrate the cook and server teams, and create combined “Cook/Server” positions as required
- Create a shared operations room, where both the Chef, Restaurant Chef and other staff members can communicate directly, and jointly observe all stages of the meal creation and delivery process.
- Introduce a system of quality assurance & customer satisfaction monitoring
What are the business impacts ? Now, our fictional restaurant is much better equipped to handle a higher volume of guests, and the average guest’s experience will improve significantly.
Back to the IT world
DevOps was adopted by the IT world, in a bid to solve challenges of scalability, quality and reliability. One of our favorite definitions of DevOps is formulated by Emily Freeman:
DevOps is an engineering culture of collaboration, ownership and learning with the purpose of accelerating the software development lifecycle from ideation to production.
Emily Freemam
In more practical terms, DevOps means integrating development and operations teams (e.g. cooks and servers) to improve collaboration and workflows. It involves automating as many aspects of software engineering as possible, such as code testing, workflows, infrastructure and releasing, as well as continuously measuring application performance.
Finally, it is important to note that the underlying tools and knowledge evolve so fast that it would be more useful to think as DevOps as a culture shift, allowing product teams to learn faster, adapt, and ultimately better achieve business goals – some industry leaders mention a mix of Culture, Automation, Lean, Measurement, and Sharing – the CALMS Framework.
DevOps isn’t simply a process, or a different approach to development — it’s a culture change. And, a major part of a DevOps culture is collaboration. All the tooling and automation in the world are useless unless development and IT/Ops professionals work together. Because DevOps doesn’t solve tooling problems. It solves human problems. Think of DevOps as an evolution of agile teams — the difference is now operations is by default included. Forming product-oriented teams to replace function-based teams is a step in the right direction.
Ian Buchanan
Conclusion
Your software project will gain from DevOps. Nevertheless, there are some invests to be taken upfront, on a long run, your software project will become more cost-efficient. It will be more resilient, and development cycles will be shorter, which also pays into cost-efficiency.
Finally, the maximum of useful automation will help to concentrate on business development and maintenance.
We strongly recommend two videos to get into the DevOps topic without any technical prerequisite:
- What is DevOps by Github Universe
- What is DevOps? in Simple English by Rackspace Technology
For the technically-inclined, this KodeKloud video offers this excellent introduction: DevOps Roadmap | What is devops by KodeKloud