Er is geen winkelier die een klant ‘nee’ wil verkopen. Met de opkomst van online retail als aanvulling op fysieke winkels is goed voorraadbeheer belangrijker geworden. Tijdens de Developers Summit (2 t/m 5 juni) vertelt Jaap Zaal (Nedap Retail) over de ontwikkeling en het up-to-date houden van een platform dat retailers hierbij helpt. “Soms zit er bij ons maar twee maanden tussen een proefballonnetje en een unieke feature.”
Wie gaat er nog ‘de stad in’ voor een nieuwe broek of een paar schoenen? Steeds meer mensen laten aanvullingen op hun garderobe gewoon door de pakketbezorger thuis afleveren. Over niet al te lange tijd gebeurt dat laatste misschien wel door een drone. De coronapandemie heeft deze trend nog eens versterkt. Het belang van nauwkeurig voorraadbeheer is daardoor toegenomen, zegt Jaap Zaal, team captain van het Software Services Team van Nedap. “Een klant die je als winkelier ‘nee’ moet verkopen, ben je in principe kwijt.” Met een multidisciplinair team waarin onder andere frontend- en backend-developers en data-scientists zitten, ontwikkelt Jaap het iD Cloud-platform, een voorraadsysteem dat omnichannel-sales (online verkoop gecombineerd met fysieke winkels) mogelijk maakt.
RFID-technologie
Omdat de nauwkeurigheid van de fysieke voorraad in winkels doorgaans maar tussen de 65 en 75 procent ligt, gaan sommige retailers ‘overleveren’ en houden zij grote voorraden aan. “Dat is niet erg duurzaam. Daarnaast willen we ook mogelijkheden zoals click & collect en het thuisbezorgen van artikelen beter ondersteunen.” De visie van het team van Jaap omvat inmiddels meer dan alleen voorraadbeheer, het thema waarmee de ontwikkeling zeven jaar geleden begon. “We gaan steeds meer naar een totale oplossing voor de supplychain, met duurzaamheid als thema. Om dit goed in te richten, met track & trace van productie tot de verkoop van een artikel, heb je RFID-technologie nodig. Met RFID-chips is elk kledingstuk uniek traceerbaar. Je weet bijvoorbeeld of een broek verkocht is, maar ook of hij weer retour is gestuurd en waar hij zich in dat geval precies bevindt.”
Cloudoplossing rond microservices
Voor de ontwikkeling van iD Cloud gebruikt het team van Jaap twee hoofdtalen. “We schrijven in Java, maar tegenwoordig ook steeds vaker in Kotlin, dat op de Java-stack kan draaien. De syntax daarvan is net wat prettiger omschreven, waardoor veel van onze developers een voorkeur voor Kotlin hebben. De leercurve is bovendien niet steil als je Java al beheerst.” ID Cloud is volledig ‘buzzword compatible’, zoals Jaap dit noemt. “We gebruiken onder andere Cassandra, Elastic Search, Kafka, Redis, MySQL, Rails en Vue. Op heel veel manieren kunnen we een microservices-architectuur neerzetten.” Vanaf het begin van de ontwikkeling van het platform is rekening gehouden met de schaalbaarheid ervan. “Dat doen we door onze oplossing als clouddienst aan te bieden, waarbij we regelmatig loadtesten doen en schaalbaarheidsproblemen snel kunnen oplossen. Ook integreert het platform met api’s makkelijk met bestaande systemen bij klanten. Een ander voordeel is dat we het precies op een manier konden ontwikkelen waarvan we vonden dat dit aansloot bij de markt. We bouwen alles, van mobiele backend- tot frontend-applicaties, en zelfs hardware zoals alarmpoortjes en handheld-scans inclusief firmware.”
Gebruiksgemak en data-uitdaging
Een van de uitdagingen bij het bouwen van zo’n systeem is het realiseren van gebruiksgemak, vertelt Jaap. “In de retailsector heb je een hoog verloop van medewerkers. Het systeem moet dus makkelijk zijn te gebruiken. Een andere uitdaging is dat we te maken hebben met steeds grotere datavolumes. Neem alleen al het balansen in winkels. Dat gebeurde vroeger twee keer per jaar, maar inmiddels wil je als winkelier realtime inzicht. Dat vraagt niet alleen iets van de capaciteit van mobiele devices waarmee het tellen gebeurt, maar ook van de dataverbindingen. Bedenk daarbij dat retailers gewoontedieren zijn die allemaal op maandag tussen acht en negen uur ’s ochtends gaan tellen. We zien dan grote pieken in het dataverkeer naar onze backend-systemen. Wat ook bijdraagt aan hogere datastromen, is dat de historie van artikelen belangrijker is geworden. Teruggeleverde artikelen zie je meer dan één keer terug in de backend en dan heb je ook nog eens te maken met meerdere locaties, nog zo’n vermenigvuldigende factor. Net zo’n factor zit in het feit dat het artikel in de winkel zelf, of onderweg, al een paar keer wordt gelezen. Denk aan shipment notice, goods receiving, count, move en sale. Een product genereert al snel zo’n tientallen events per week. Dat kun je alleen maar ondersteunen door in je oplossing goed rekening te houden met schaalbaarheid.”
Virtual shielding
Een voorbeeld van een feature die bedacht is als ‘proefballon’ door een developer is virtual shielding. “RFID is een draadloze technologie waarbij je door een muur heen kunt lezen. Als je in een winkel artikelen scant, scan je daardoor al snel ook de voorraad aan de andere kant van de muur. Je kunt zo’n muur helemaal afschermen, bijvoorbeeld met aluminiumfolie, maar het kan ook softwarematig. Door positiebepaling en veldsterktes in te stellen en daar algoritmes op los te laten, kan de mobiele software die we gebruiken bepalen of een gescand artikel daadwerkelijk het artikel aan de juiste kant van de muur is. Dit vind ik een mooi voorbeeld van hoe je soms tot nieuwe dingen kunt komen. Iemand laat een proefballon op, wij zorgen ervoor dat hij of zij de de ruimte krijgt om het idee uit te werken en twee maanden later is er een unieke functionaliteit ontwikkeld die geen enkel ander systeem op de markt biedt.”
Meer dan alleen code
Tijdens de Developers Summit verzorgt Jaap een sessie over de ontwikkeling van iD Cloud. Wat gaat hij precies vertellen? “Ik voel er weinig voor om op codeniveau voorbeelden te laten zien. Daar heeft niemand iets aan, vind ik. Een code is maar een stukje tekst, een uitvoering van iets. Dat neemt overigens niet weg dat we goede, elegante code wel erg belangrijk vinden voor de onderhoudbaarheid van ons platform. Maar het gaat wat mij betreft ook om wat je ermee wilt bereiken. Daarin schuilt de kracht van mijn team. Iedereen heeft de drive om iets te maken wat ertoe doet en ik zie veel ondernemerschap. Je krijgt bij ons veel vrijheid om een visie neer te zetten, nieuwe dingen te proberen en dat te vertalen naar een daadwerkelijk product. Daarmee kun je ook gaan testen bij de klant en zie je een oplossing dus zelf in het veld. Doordat ze die hele cyclus meemaken, zie ik bij veel collega’s echt een passie voor retail ontstaan.”
Benieuwd geworden naar het verhaal van Jaap? Registreer nu je ticket voor de Developers Summit, die dit jaar (digitaal) plaatsvindt van 2 tot en met 5 juni. Meer informatie over het programma en het registreren van tickets vind je hier.
Klik hier voor meer informatie over Nedap.
Dit artikel is geen redactioneel artikel, maar een advertorial en tot stand gekomen dankzij Nedap en Tweakers Partners. Dit is de afdeling binnen Tweakers die verantwoordelijk is voor commerciële samenwerkingen, winacties en Tweakers-events zoals Meet-ups, Developers Summit, Testfest en meer. Kijk hier voor een overzicht van alle acties en events. Mocht je ideeën met ons willen delen over deze vorm van adverteren, dan horen wij dat graag. Hierover kun je met ons in gesprek via [Discussie] Reclame algemeen].