Decreasing 'time to digital' for digital solutions
Digital solutions are complex. They are not just about crunching data. A true digital solution is a full system, consisting of many elements connected with each other.
A digital solution is a combination of software and data – designed to change a business process. An example of such a solution is using camera images to define the weight of cheese on a pizza and automatically adjust belt speed if the weight is out of boundary.
What does a digital solution look like
On the technical side, you have to engineer a system where sensors, algorithm code, edge devices, cloud services, data processing code, machine learning models, APIs, web services, mobile apps, and dashboards smoothly execute together. On the business side, you have to engineer a new way of working. For that, you need current domain knowledge that is in people’s heads and translate that into an automated process. You have to define methods to transform the current manual way of working into a different, more automated, way of working.
So, many competences, soft skills, and hard skills are needed to implement a full digital solution.
The nucleus of the system, however, is the model that translates data into insights that can be automated. Sometimes that can be just a simple regression model (to be used for automated quality checks for example), other times you need a machine learning model (to for example detect different kinds of anomalies or to automate human visual inspection).
Automated machine learning
Finding the best machine learning model to match your problem takes time and data science expertise. There are many different models that can be used, each giving a different result. To test a large number of models in a short period of time, we use automated machine learning. Many platforms out there are offering AutoML capabilities, such as H2O, Google AutoML, IBM Watson, DataRobot, Auto-sklearn, Auto-keras, and AutoGluon. We have deep-dived in all of them, so we know the pros and cons of each and know for what use case to use which AutoML option. See also the talk of our Itilian Jan Jitse on AutoML-accelerators such as automatic hyper-parameter optimization.
Itilian Jan-Jitse Venselaar on AutoML
Using AutoML allows you to quickly validate if the solution you have in mind is actually feasible. This means you can move forward with your proof of concept and engineer the other parts of the system (while at the same time starting to engineer your own version of the ML-model that came out best in the AutoML-phase).
Using the solution: building trust gradually
Another important part of engineering the system is to think about using the solution. The key factor in this is, of course, the user. Implementing the digital solution causes a change in his/her daily processes, and thus we need to find a way to introduce this new way of working and gradually build trust in the solution. That is where applications come in. By means of applications, users can get accustomed to a new way of working while maintaining control over the process. In the example of using camera images to define the weight of cheese on a pizza and automatically adjust belt speed if the weight is out of boundary, we needed an in-between-phase to build trust in the outcomes of the image recognition model. So instead of directly programming the PLC to adjust the belt speed, users were given the controls to speed up or slow down the cheese applicator belt via an app. In the application, they had an overview of the current cheese ratio and could change the belt speed accordingly.
The only way to know whether your solution is going to work, is to test it, adjust, and test again. As building applications can be a time-consuming process, we prefer working with low-code apps. This allows for quick testing and fine-tuning, and thus also speeds up the ‘time to digital’ – the time to implement a digital solution.
To summarize: engineering a digital solution requires time and many different competences. Everything needs to be thought through in order for your digital solution to work effectively. The only way to guarantee success is to keep testing and make sure to iterate fast. Automated machine learning and low-code apps help to speed up the process. They help you decrease the time to digital.