Developing a Freight Tracking System consisting of a live dashboard that allows users to monitor ‘just-in-time’ logistics processes in real time and detect anomalies early.
To reduce storage costs for production parts, the construction of a new car relies heavily on a just-in-time principle. In the European market, this creates a number of challenges. For example, trucks with production-critical parts can be delayed due to traffic jams, items cannot reach the factory because a supplier cannot produce the requested parts in time, etc. All of these situations can lead to a termination in the production line, resulting in a cost of about 1 million euros per minute. Currently, the logistics team tries to deal with these situations by arranging special fast delivery trucks or even chartering an airplane.
Before the implementation of the Freight Tracking System, several teams of logistics controllers manually tracked each individual route. All communication with the involved parties was by phone and email. To enable the logistics controllers to make correct decisions, a set of Excel data was provided. With this way of working, there was no global overview of the current status of all routes and production parts, which made reporting to stakeholders very difficult. There also wasn’t an uniform way of working among the logistics controllers.
The development of a Freight Tracking System (FTS) includes more than a thousand different routes and almost a million production parts per month that are automatically tracked. Deze zin klopte niet in het NL, heb het aangepast (alternatief: bevat ipv waarin). All this data is collected from a large number of different parties and centralized within the FTS.
Given the operationality of the FTS within the European market and the enormous amount of data that needs to be processed on a daily basis, a CQRS solution was chosen. By using the AXON framework on top of a Heroku Stack, we were able to process all incoming events in a timely manner.
Within the Freight Tracking System, user rights are extremely important. Different roles were defined because not all users should have access to the same information. In addition, a hierarchical approval flow was also implemented that ensured that the right user roles could initiate the necessary mitigating actions.
Within FTS, Geofencing was also set up whereby the precise location of the transport was always determined by GPS signals. In this way, TME always had an overview of the status of the production parts.
The Freight Tracking System is an internal TME application without public-facing functionalities. The application was set up for single browser use. Our solution consisted of building the entire application, as well as transferring it to the internal TME team.
Refleqt solution + deliverables
The role of the Refleqt consultants during this project was twofold:
Refleqt provided the functional lead, who was involved in clearing out the various requirements. This was done through iterative workshops with a business owner along TME side. During the agile scrum operation, the functional lead acted as proxy product owner to the development team, while on the other hand he was discussing the business needs with the stakeholders.
At the beginning of the project it was decided that we would use a Behavior Driven approach. This meant that during the analysis phase we defined the acceptance criteria in the form of different scenarios, which could then be used during the validation process.
Non-clickable wireframes were also created so that a clear example of the application with interactive UI could be presented to TME.
Creation of a set of automated API-level validation scripts that verify the requirements of the system
Because we were dealing with an event-based system where all data is ultimately consistent, we had to adapt our tests so that they did not fail when newly created data was not immediately available. We did this by using frameworks, which allowed us to create a pollingbased validation system.
The Front-End in this project was verified purely manually because the application did not include any customer-facing functionalities.
The Freight Tracking System was validated under normal expected production load (>1000 different routes & millions of production parts). A pure load test indicated the system’s ability to perform under this load at TME.
Tools & Technologies
- Test automation: Java, Cucumber, Swagger & Swagger Codegen, Maven, Junit, Awaitility
- Performance: JMeter
- Project support: JIRA, Confluence, Bamboo
The Freight Tracking System was qualitatively delivered to TME. All possible anomalies that can occur in a logistics process can be captured in FTS. In addition, there is a fixed set of solutions that can be efficiently worked out and all this taking into account the set access rights & user roles. All functionalities discussed during the analysis phase work correctly and the system can handle the normally expected load on the platform.
Concretely, by using the Freight Tracking System, TME is able to optimize the supply chain and thereby reduce the impact on production.