We recently took on a new project for a customer in the pizza industry. We took off with a focus on data science. To build that into a useable solution, however, the project evolved into a full systems engineering challenge.
During our first conversations with the customer, we explored the business challenges they were encountering and how we could help them to solve those challenges. The most important issue appeared to be the quality of the pizzas. Aspects such as: is it round, is the sauce well spread, is the cheese distributed evenly, are the pieces of ham in the right place? Hence the data science focus: these kinds of questions can be answered and automated via image recognition.
As the production process of pizzas was unfamiliar territory, we started in the same way all innovations start: with small and easy steps and lots of experiments. Imagine taking pictures of wooden discs, representing the pizzas, and applying cheese by hand – not very high-tech. During that stage, we were also investigating if it was possible to determine the amount of cheese on each pizza. To gather enough data, we had to take a lot of pictures and make a lot of ‘wooden pizzas’ to analyze.
From that point onward, through testing, experimenting, and improving, the system we were building grew slowly but surely. We wanted pictures to be taken automatically as the pizzas passed by on the conveyor belt. So, we needed to add a motion sensor. And, obviously, we also needed to collect data on real pizzas. There was a machine learning model in place; we needed to feed that model with actual images; and to create useful images, we needed to trigger the camera at precisely the right moment. As the system grew, the team also needed to grow. So, we added a data engineer and a software engineer to the data scientist.
An important part of implementing any digital project in a business environment lies not in the technology, but in the people and the processes. In our case, this meant understanding our customer’s customer. Together, we travelled to one of the largest pizza factories in Europe. There, we discovered how we could really add direct value to the process.
Factories, such as the one we visited, produce thousands of pizzas per hour. And although there is advanced technology involved, it turned out that making sure the optimal amount of cheese is applied is challenging. Configuring the machine to apply a specific amount of cheese in the morning, does not mean that the same amount will be applied at the end of the day – and there are all kinds of reasons for that. With cheese being the most expensive ingredient of a pizza, any deviation from the recipe could mean that you are losing money.
On paper, the system looks simple: pizza bases with sauce go in, a cheese applicator deposits the cheese, and pizzas with cheese come out. A central role in this process is that of the operator, who manually checks the amount of cheese on a pizza. It turned out that this is not a very scientific process. Operators take a pizza from the conveyor belt, wipe off the cheese, and weigh how much of it was on the pizza. Then, they compare this weight to the recipe.
That is when we saw we could add intelligence and value to the process: help the operators to put the right amount of cheese on the pizzas in an easier and more precise way.
Helping the operators with the right amount of cheese did mean our team needed to grow again with new roles to deliver the system.
We needed to include someone with a mechanical engineering background who could understand exactly how the machine works. That might sound simple, but a cheese applicator has a lot of different variables and parts that influence the actual amount of cheese that ends up on a pizza. To control the machine based on data, we had to understand all those parts and determine how they influence the outcome.
We also needed someone with experience in electronics on our team. In IT, we are used to plugging an ethernet cable into every appliance. With production machines, this is not always possible. To control production systems in a factory, you need to be able to communicate with machines using different protocols and connection types.
Another challenge is the topic of systems control: any time a system is influenced, there is a chance that it is pushed out of the stable equilibrium. So, we needed to take this effect in consideration and ensure that the stability is observed and managed. Systems control offers ways to avoid spiraling out of control. That means yet another skill in the team. All these different skillsets make it very important for the whole team to keep communicating and understanding each other.
As you can imagine, building a system such as this is a big challenge. Every step brings new challenges to overcome. The key here is to not try to solve everything at the same time, but to keep taking small steps forward. If you try to solve all problems at once (“solving world hunger”), the process will typically grind to a halt. Most of the time, you must accept that not everything is perfect yet – and instead, focus on what is most important at that stage.
For example, instead of setting up a fully autonomous system – with all its complexities – right away, we started out with providing insights to the operator. This allowed them to discover the capabilities of the system, enabled us to learn and further improve the system, and helped to build trust overall.
In the end, designing and building a successful system is about making all the separate pieces – and all the people involved – work together to deliver a result. This means starting small, improving fast, and keeping the focus on adding business value. A systems engineering approach helps to keep everybody on the same page, create trust and understanding, and build the right solution using the right technology.