Case Freight Tracking

Freight Tracking System voor Toyota Motors Europe (TME)

Het ontwikkelen van een Freight Tracking System bestaande uit een live dashboard dat gebruikers in staat stelt ‘just-in-time’ logistieke processen in real time op te volgen en anomalieën vroegtijdig te detecteren.

Nood van de klant

Om de opslagkosten voor productieonderdelen te beperken, is de bouw van een nieuwe auto sterk afhankelijk van een just-in-time-principe. Op de Europese markt zorgt dit voor een aantal uitdagingen. Vrachtwagens met productiekritieke onderdelen kunnen bijvoorbeeld vertraging oplopen door file, artikelen kunnen de fabriek niet bereiken omdat een leverancier de gevraagde onderdelen niet op tijd kan produceren, etc. Al deze situaties kunnen leiden tot een stopzetting van de productielijn, met een kostprijs van ongeveer 1 miljoen euro per minuut tot gevolg. Momenteel probeert het logistieke team deze situaties op te vangen door speciale snelle leveringstrucks te regelen of zelfs een vliegtuig te charteren.

Vóór de implementatie van het Freight Tracking System volgden meerdere teams van logistieke controleurs manueel elke individuele route. Alle communicatie met de betrokken partijen verliep via telefoon en e-mail. Om de logistieke controleurs in staat te stellen correcte beslissingen te nemen, werd een reeks Excel-gegevens ter beschikking gesteld. Met deze manier van werken was er geen globaal overzicht van de huidige status van alle routes en productieonderdelen, waardoor rapportage aan belanghebbenden erg moeilijk was. Daarnaast was er ook geen sprake van een uniforme manier van werken onder de logistieke controllers.

High-level oplossing

De ontwikkeling van een Freight Tracking Systeem (FTS) waarin meer dan duizend verschillende routes en bijna een miljoen productie-onderdelen per maand automatisch getraceerd worden. Al deze gegevens worden verzameld van een groot aantal verschillende partijen en gecentraliseerd binnen het FTS.

Gezien de operationaliteit van het FTS binnen de Europese markt en de enorme hoeveelheid aan data die dagelijks verwerkt dient te worden, werd er gekozen voor een CQRS oplossing. Door gebruik te maken van het AXON framework bovenop een Heroku Stack waren we in stat om alle binnenkomende events tijdige te verwerken.

Binnen het Freight Tracking Systeem zijn gebruikersrechten enorm belangrijk. Er werden verschillende rollen gedefinieerd omdat niet alle gebruikers toegang mochten krijgen tot dezelfde informatie. Daarnaast werd er ook een hiërarchisch approval flow geïmplementeerd dat ervoor zorgde dat de juiste gebruikersrollen de nodige mitigerende acties konden initiëren.

Binnen FTS werd er ook Geofencing opgezet waarbij de nauwkeurige locatie van het transport steeds bepaald werd door GPS signalen. Op deze manier had TME steeds een zicht op de status van de productieonderdelen.

Het Freight Tracking System is een interne TME applicatie zonder public-facing functionaliteiten. De applicatie werd opgezet voor single- browser gebruik. Onze oplossing bestond uit het bouwen van de volledige applicatie, maar ook de overdracht naar het interne TME team.

Refleqt oplossing + deliverables

De rol van de Refleqt consultants tijdens dit project was tweeledig:

Functional analysis

Refleqt leverden de functionele lead, die betrokken was bij het uitklaren van de verschillende requirements. Dit gebeurde door behulp van iteratieve workshops met een business owner langs TME-zijde. Tijdens de agile scrum-werking fungeerde de functionele lead als proxy product owner naar het ontwikkelteam, terwijl hij anderzijds de businessnoden besprak met de stakeholders.

Aan het begin van het project werd besloten dat we een Behavior Driven aanpak zouden hanteren. Dit betekende dat we tijdens de analysefase de acceptatiecriteria definieerden in de vorm van verschillende scenario’s, die daarna tijdens het validatieproces konden worden gebruikt.

Er werden ook non-clickable wireframes opgemaakt zodat een duidelijk voorbeeld van de applicatie met interactieve UI aan TME gepresenteerd kon worden.

Test automation

Functional testing

Creatie van een set geautomatiseerde validatiescripts op API-niveau die de vereisten van het systeem verifiëren.

Omdat we te maken hadden met een event gebaseerd systeem waar alle data uiteindelijk consistent is, moesten we onze tests aanpassen zodat ze niet faalden wanneer nieuw aangemaakte data niet onmiddellijk beschikbaar was. We deden dit door gebruik te maken van frameworks, waarmee we een polling-gebaseerd validatiesysteem konden creëren.

Front-end testing

De Front-End werd in dit project puur manueel geverifieerd doordat de applicatie geen customer-facing functionaliteiten omvatte.

Performance testing

Het Freight Tracking Systeem werd gevalideerd onder normaal te verwachten productieload (>1000 verschillende routes & miljoenen productieonderdelen). Een pure load test gaf aan of het systeem in staat was performant werken onder deze load bij TME.

Tools & Technologieën

  • Test automation: Java, Cucumber, Swagger & Swagger Codegen, Maven, Junit, Awaitility
  • Performance: JMeter
  • Project support: JIRA, Confluence, Bamboo

Resultaat

Het Freight Tracking Systeem werd kwalitatief opgeleverd aan TME. Alle mogelijk anomalieën die kunnen voorkomen in een logistiek proces kunnen in FTS opgevangen worden. Daarnaast bestaat er een vaste set van oplossingen die efficiënt uitgewerkt kunnen worden en dit alles rekening houdend met de ingestelde toegangsrechten & gebruikersrollen. Alle functionaliteiten die tijdens de analysefase zijn besproken werken op de correcte manier en het systeem kan de normaal verwachte load op het platform aan.

Concreet kan TME door gebruik te maken van het Freight Tracking System de toeleveringsketen optimaliseren en hierdoor de impact op de productie beperken.

Heb jij een vergelijkbare uitdaging waar je hulp bij nodig hebt? Neem gerust contact op!