Challenge
This story begins in 2005 when a US MES provider had encountered a problem. Its system was built in the late 1990s, and integrating it with modern software was becoming increasingly difficult.
The company looked for a developer with expertise in performance analytics, graph generation, and business process optimization. When they came across Elinext, we showed how we had the right competencies, skills, and resources, and were subsequently selected for the job.
In 2014, our client was acquired by a multinational corporation headquartered in Germany, which provided industrial equipment and software to large manufacturers. That corporation loved the job we were doing and chose to continue working with Elinext. Since then, we’ve had much more work to do on the project.
Solution
Elinext put together five teams for the project. Each team included about six people (the number has varied throughout) and focused on a single delivery goal throughout a release cycle.
We approached the project using the large-scale Scrum (LeSS) development model. The work was split into release cycles, and each cycle consisted of five sprints, with each sprint up to three weeks long. The first four sprints centered around development; during the last one, we configured new features for stable operation.
Our teams kept in close touch with the client through daily calls. On every call, we told the client what we have done, what we have been working on, and which steps we would take next. That helped us stay on the right track, pivot when necessary, and nip potential issues in the bud.
The System
The MES connects multiple manufacturing facilities and service providers on a single platform. By accessing that platform, operators can get performance insights and run various business applications.
Through the MES, manufacturers can:
- collect and store data
- launch and pause production
- manage documentation
- manage human resources
- monitor the manufacturing process
- manage materials, equipment, and operations
- control quality and more
The MES operates on a business logic developed decades ago which, surprisingly, remains relevant today. The logic is structured as a set of functions executed on a C++ server.
System administrators can manage databases, services, queries, and transactions in a visual workspace. The workspace is structured as a layer cake, where each of those entities is linked to a respective class. Creating classes is the next level of configuring the system, where you can also tweak the application’s logic and link elements together.
In order to create a network of manufacturing facilities that can be administered from the MES, its administrators create several layers. And that is where the fine line lay.
We had to balance the unprecedented customizability with the protection of the system’s core. Our team ensured that administrators could only configure the system at the level they are allowed to operate at and wouldn’t break anything in the core.
Overall, our work has been centered around improving the MES model and the framework to keep the legacy technology relevant while integrating the system with modern software. Most of it can be narrowed down to two major features: statistical process control (SPC) charts and a high-performance engine (HPE).
The system used a third-party SPC chart engine. But it was too old, and the client set out to replace it with a new, custom-built tool. We discovered that one of the company’s German offices had already built such a product to meet its needs, but it wouldn’t exactly meet ours.
Instead of reinventing the wheel, we got in touch with the German office to see if we could reuse and further develop their software. The idea worked out well. We built a model for integrating the existing MES with the Germans’ platform and introduced changes in their API, consulting them throughout.
Once we’ve customized it, the in-house SPC chart engine took its predecessor’s place.
The HPE was responsible for combining multiple data transactions into one request.
Cleaning up
Another part of our job was to find a way around the mistakes made by our predecessors so we could further develop the MES. Fixing those mistakes would require migrating the system from ASP.net, a process that would take years to complete.
Instead, we automated the generation of some pages to avoid creating them manually, thus preventing some errors from happening.
Customization
Technology giants like Microsoft offer similar off-the-shelf software (e.g. Dynamic CRM). But customizing it takes a lot of time and money. Moreover, its overall customizability is limited and you can’t set it right for some markets due to regional specifics.
In contrast, manufacturers can customize our client’s product down to every last detail. Whenever a new company buys the MES from our client, we help them customize the system to suit their needs.
Companies using this MES include medical device and pharmaceutical manufacturers, research, development, and laboratory centers, semiconductors producers, and electronics manufacturers.
Further Improvements
Some companies prefer to stick to their own visual interfaces. To allow them to manage the system, we enabled connecting to the MES via REST API.
Another improvement we’ve been working on lately is containerization. Currently, the system uses Windows servers, which some companies have found too expensive and have requested an alternative. Our team is discovering ways to wrap the application server into a container where it’s then launched via Docker, which should dramatically cut costs for the end client.
Testing
We’ve been testing the system extensively. That includes functional tests like singular and integration testing, regression, positive-negative, black-box, and localization tests.
To speed up testing and reduce errors when testing large, monotonously structured functions, we’ve automated it. We used Test Runner and Specflow as we wrote the code in Visual Studio.
Result
The system we've helped develop has shown extraordinary results: its ROI reaches up to 400%. Our client provides a plethora of products and services, but the MES alone makes up 80–90% of their total revenue.
Today, five Elinext teams are working on the project, providing support and monitoring around the clock and helping integrate the MES into end clients’ business environments. Some teams are building new features like containerization, new modeling, a custom REST API, and a new platform for migrating or cloning manufacturing processes between facilities.
The development of the MES is scheduled for three years ahead. We expect about 35 Elinext software engineers to be working on it by the end of 2021.