Een blik in de spiegel tijdens een mentoring opdracht voor Schwarz

OutSystems Low-code

Refactoring van een applicatie voor tijdregistratie bij Schwarz

De beste verhalen zijn die met meerdere lagen. Deze businesscase heeft er zelfs drie. Het begon met het uitvoeren van een refactoring van een tijdregistratie applicatie voor Schwarz – de holding van onder meer Lidl en Kaufland – gevolgd door het begeleiden van hun OutSystems-team door een mentor van LINKIT, die op zijn beurt geen probleem heeft om zich in hun situatie in te leven. Een verhaal in drie lagen dus dat ook een perfecte showcase is van de voordelen van het hebben van een mentor voor een onervaren OutSystems team.

Hoe het allemaal begon

Jimmy Iliohan, Solution Advisor bij LINKIT legt de case uit: “Voor vrijwel elk bedrijf is een applicatie voor tijdregistratie enorm belangrijk. Bij Schwarz is deze app gebouwd door hun eigen OutSystems-ontwikkelaars. Maar omdat ze toen nog niet over alle benodigde OutSystems vaardigheden beschikten, werkte het niet op snelheid en vertoonde het een aantal gebreken. Geen klein probleem, aangezien de tijdsapplicatie bij Schwarz dagelijks door maar liefst 500.000 medewerkers wereldwijd wordt gebruikt om hun werkuren te rapporteren.

Refactoring

Jimmy vervolgt: “Om dit op te lossen nam Schwarz contact op met LINKIT met het verzoek of wij de konden repareren. Toen OutSystems-engineer Carlos Conde zijn review deed, kwam hij echter tot de conclusie dat een volledige refactoring (herbouwen) minder tijd zou kosten en dus goedkoper zou zijn. Hij ging aan de slag en wist een mooi resultaat te boeken. In plaats van een traag werkende app met slecht werkende features, is Schwarz’ Time Entry applicatie nu snel en veel gebruiksvriendelijker.”

De volgende stap na de refactoring was het oplossen van het probleem dat het probleem veroorzaakte: het gebrek aan ervaring van de twee junior OutSystems-ontwikkelaars van Schwarz. Speciaal hiervoor biedt LINKIT al jaren een mentorservice aan.

Mentorschap uitgelegd

Barend Coetzer, die Schwarz sinds april begeleidt, legt het concept uit. “Samen lopen we tweewekelijkse sprints. Dit betekent dat we twee weken vooruit plannen, waarna de developers werken aan hun taken en we daarna evalueren wat goed ging en wat niet. Soms komen we vaker bij elkaar als er lastige problemen zijn die direct om een oplossing vragen. Dan ben ik hun trusted advisor die de juiste oplossing aandraagt.”

“Het idee achter dit concept is dat ze het zoveel mogelijk zelf doen. Tijdens je taken loop je tegen een probleem aan, je probeert het zelf op te lossen en je houdt vervolgens alleen vragen over de dingen die je echt niet zelf kunt oplossen. Dat maakt de sessies erg effectief.”

Problemen oplossen met verschillende tools

Niet alle problemen van Schwarz’ OutSystems-ontwikkelaars zijn technisch van aard. Barend: “De certificeringen van Outsystems dekken misschien 20 procent van wat je kunt leren. Wat het niet doet, is je een goede manier van werken aanleren, dat is de andere 80 procent. Het is alsof je hebt geleerd hoe je een hamer moet gebruiken. Dat is mooi, maar het betekent dat je elk probleem met die hamer oplost, terwijl er vaak veel andere manieren zijn om ermee om te gaan. Ieder met een ander resultaat. Mentorservice is een manier om je gereedschapskist te vullen, waar je leert hoe je problemen kunt oplossen met de best mogelijke tool voor die situatie.”

“En vooral voor OutSystems is dat heel belangrijk”, legt Barend uit. “Omdat je vooral logica gebruikt, denk je misschien dat het snel en makkelijk is, maar in feite kun je het net zo snel verknoeien. Het is mogelijk om de hele architectuur in één dag op te zetten. En om er een app bovenop te bouwen in een andere. Maar je raakt serieus in de problemen als het in het begin niet goed gebouwd is, want het is moeilijk om achteraf de hele applicatie te veranderen. Als je al weet waar het mis is gegaan.”

De fouten die je niet ziet

Barend legt uit hoe dit komt: “Ontwikkelen in OutSystems bestaat uit veel lineair denken, zoals schaken. Fouten treden vaak op als je niet weet dat je er een maakt. Je komt er pas achter als je resultaat niet klopt. Om die specifieke fout vervolgens zelf te vinden moet je alle mogelijke opties nagaan. En dat kost veel tijd, die je lang niet altijd hebt. Het gaat hoe dan ook veel sneller als je iemand kunt raadplegen met meer ervaring die direct ziet waar je de fout in bent gegaan, het probleem uitlegt en je leert hoe je dit in de toekomst kunt vermijden.”

Een herkenbare uitdaging

Wat werk betreft kan Barend uit eigen ervaring putten. “Ik kom uit Zuid-Afrika, waar ik ook voor het eerst met OutSystems begon te werken. Ik schreef me in vanuit een zakelijke rol toen mijn bedrijf op zoek was naar iemand die er affiniteit mee had. Na een tijdje werd ik de hoogst gecertificeerde OutSystems-ontwikkelaar in mijn bedrijf, terwijl ik eigenlijk nog een junior was. Dit was mogelijk omdat er in Zuid-Afrika maar een paar OutSystems-ontwikkelaars zijn. Voor mij was dit een hele worsteling. Je krijgt de verantwoordelijkheid voor het bouwen van een applicatie en het oplossen van problemen waarvan je geen idee hebt hoe je ze moet oplossen, maar je moet er wel voor zorgen dat het werkt. Ik had toen graag een mentor gehad die ik om advies kon vragen.”

“Op een gegeven moment kwam ik tot de conclusie dat als ik verder wilde groeien in mijn carrière als OutSystems-ontwikkelaar, ik buiten Zuid-Afrika moest kijken. Ik kwam bij LINKIT, verhuisde naar Nederland en nu heb ik precies deze rol als mentor. Het is ironisch, maar het helpt me ook om me in te leven in de ontwikkelaars van Schwarz. Het is alsof je in de spiegel kijkt en je precies weet welk verschil het maakt voor zowel hen als het bedrijf.”

Verdere verbeteringen

Barend zal Schwarz blijven begeleiden tot in ieder geval het einde van het jaar. De grootste uitdaging waar de ontwikkelaars van Barend en Schwarz aan werken, is om de tijdsregistratie app nog verder te verbeteren. Barend: “Carlos heeft goed werk geleverd door de app te refactoren, maar er is nog genoeg ruimte voor verbetering. Om er een paar te noemen; het was mogelijk om uren buiten de eigen kostenplaats van de medewerkers te boeken en men kon in de toekomst uren vooruit boeken. Dit gaf ruimte voor allerlei fouten en maakte nauwkeurig rapporteren een uitdaging.”

Barend vervolgt: “In juli hebben we onze verbeteringen in productie kunnen brengen. Vervolgens begonnen de projectmanagers de verbeterde app te testen. En omdat we nogal wat veranderingen hebben doorgevoerd, hadden ze best wel wat vragen. Op zo’n moment is het ideaal dat ik ze kan geruststellen dat dit correct werkt, maar met een andere aanpak. En ook kan uitleggen hoe. Het bewijst eens te meer dat mentoring niet alleen heel gunstig is voor de ontwikkelaars, maar ook voor het bedrijf als geheel.”

“LINKIT helpt onze medewerkers groeien”

Bij Schwarz zijn ze het met Barend eens. “We zijn zeer tevreden met LINKIT als partner voor de implementatie”, zegt Zdenek Prochazka, Hoofd van het Rapid Application Development team bij Schwarz in een reactie. “Onze samenwerking kenmerkt zich door openheid en transparantie. De wetenschap dat er altijd ondersteuning is als we die nodig hebben is van grote waarde. En dit ongeacht of de vraag bij het oorspronkelijke project hoort. LINKIT helpt onze medewerkers zichzelf te verbeteren, in plaats van onze zorgen alleen maar weg te nemen.”

Wil je meer weten over mentoring? Of kun je voor jouw bedrijf ook een OutSystems mentor gebruiken? Neem contact op met een van onze experts voor meer informatie.