We horen vaak spreken van ‘the war on talent in IT’. Hoe groot is de nood nu echt? En hoe beïnvloedt dit het vermogen van bedrijven om snel onderscheidende applicaties te ontwikkelen?
Stef Vermeulen, Partner Alliance Manager BeLux bij OutSystems, hoort het wekelijks bij klanten en prospects. “Met name als het om high code developers gaat, is het voor veel organisaties zeer lastig om hen aan te werven, laat staan om hen voor langere tijd aan zich te binden. Hierdoor zien we bovendien we dat de backlog bij veel organisaties steeds groter wordt. Men heeft simpelweg niet voldoende goed gekwalificeerde developers beschikbaar.”
Veel aandacht voor onderhoud
Dat zijn belangrijke redenen waarom low code tools zoals OutSystems deze aanbiedt zo populair zijn geworden. “Alles wat gebouwd wordt, moet nu eenmaal onderhouden worden”, legt Vermeulen uit. “Daar gaat bij veel organisaties dus een groot deel van de tijd en aandacht van hun developers naar uit. En niet naar het bouwen van nieuwe applicaties. Hierdoor wordt de backlog dus steeds groter. Bovendien is het voor goed opgeleide developers natuurlijk veel leuker om aan nieuwe applicaties te werken, dan om andermans werk te moeten onderhouden. Dan is het natuurlijk ook te begrijpen dat developers met regelmaat overstappen naar een andere werkgever.” Bedrijven willen goede .Net of Python ontwikkelaars graag houden, dat wordt dus steeds duurder.
Er speelt echter nog een probleem: door de schaarste aan developers is het ook lastig geworden om goede developers van minder goede te onderscheiden. Ook dat vertraagt de nieuwbouw van applicaties die de business nodig heeft. “Veel bedrijven en organisaties hebben dat inmiddels ingezien en zijn op zoek gegaan naar oplossingen. Die zoektocht heeft hen gebracht bij low code tools.”
Wakker geworden
OutSystems is inmiddels 21 jaar oud, vertelt Vermeulen. “Oorspronkelijk ontwikkelden wij tools om de developer te helpen. Het werk van een developer is complex, je moet veel regels code inkloppen, je bent met deployments bezig – allemaal repetitief werk. Dat staat snelle vooruitgang in de weg. We zagen dat er een duidelijke behoefte bestond om snel complexe applicaties te kunnen bouwen. Daar zijn onze tools altijd op gericht geweest. En toen kwam COVID en dat heeft veel bedrijven wakker gemaakt.”
Naast de bekende leveranciers van low code tools zoals OutSystems, voeren ook bedrijven die zich traditioneel richten op enterprise-applicaties als SAP en Salesforce inmiddels low code producten. Vermeulen herkent de trend, maar zegt hij: “Bestaande vendoren van enterprise applicaties doen wel low code, maar uitsluitend binnen hun eigen silo en op basis van de data en de content die binnen hun silo beschikbaar is. Dat biedt voor een bedrijf of organisatie die echt onderscheidend vermogen wil ontwikkelen via nieuwe apps vaak toch geen oplossing.”
Low code versus no code
Het is in de discussie over de mogelijkheden van low code tools belangrijk om onderscheid te maken ten opzichte van no code tools. “No code tools worden vooral gebruikt door wat we maar ‘citizen developers’ zullen noemen. Dat is een groep van – zeg maar – prosumers die vaak hele interessante tools en services ontwikkelen, maar die vaak niet schaalbaar zijn naar het niveau dat enterprise-organisaties nodig hebben. Ook zie ik dan nog wel wat issues als het gaat om bijvoorbeeld compliance, privacy en bijvoorbeeld security.”
OutSystems heeft zijn markt vooral gevonden in wat Vermeulen noemt: high performance low code voor business critical applicaties. Kenmerkend voor deze categorie is dat business users en developers veel meer dan voorheen samenwerken. “Onze technologie wordt gebruikt om snel data en functionaliteit in tal van bestaande systemen op een slimme manier met elkaar te integreren en te voorzien van nieuwe user interfaces. Denk aan een nieuwe app die data of functionaliteit heeft uit een oude J.D. Edwards-omgeving, terwijl ook data uit een SAP-omgeving gewenst is. Die nieuwe app moet bovendien heel makkelijk te gebruiken zijn en razendsnel voor klanten beschikbaar gemaakt kunnen worden. Doe je dat met OutSystems dan kan dit allemaal via een en hetzelfde platform. Van user interface design tot het business proces, de onderliggende logica en de data – alles geregeld via één platform. Het platform compileert achterliggend zelf de code.
Dat maakt het voor ontwikkelaars ook zo interessant. Dat wij zelf de code compileren is trouwens een belangrijk verschil ten opzichte van veel andere low code tools.” Als je in traditionele code ontwikkelt zijn er tal van aspecten op vlak van performance, maintainability, architectuur en vooral ook security waar je zelf als ontwikkelaar aan moet denken en dus zelf moet ontwikkelen. Door de applicaties achter de schermen te compileren injecteren wij verschillende best practice patronen die specifiek op bijvoorbeeld security zijn gericht.
Rol van business users
Hoe goed zijn business users als het om dit soort projecten gaat? “De end user kan zelf tot zeker moment zelf een app ontwikkelen. Dat gebeurt visueel door de gewenste logica in de juiste volgorde te plaatsen. Doordat dit visuele gebeurt is voor een business user veel makkelijker te begrijpen wat de app doet. Cruciaal is dat de user interface direct zichtbaar is, zonder dat de business user zich om de integratie met de backend omgeving(en) zorgen hoeft te maken. De technische integratie gebeurt allemaal op de achtergrond. Als dat te complex wordt, dan zien we dat developers inspringen. De business user doet dus het concept en het business proces, technische aspecten als validatie, technische interfaces en dergelijke wordt gedaan door ons platform en door developers. Zeker als het om business kritische applicaties gaat.”
De winst zit dus vooral in visueel werken en de intelligente manier waarop je als ontwikkelaar wordt begeleidt in het maken en publiceren van een applicatie, vertelt Vermeulen. “Daar zit echt de grote sprong vooruit. Dat visuele wordt helemaal doorgetrokken door de functionaliteit, data, schermen, processen en logica. Denk aan een barcode die in user interface wordt opgenomen. Of een datumveld. Als je als business user dat soort functionaliteit visueel in de app plaatst, krijg je van onze tool meteen de suggestie welke bijkomende functionaliteit daaraan vast hangt; er moet immers iets met die barcode of dat datumveld gebeuren.”
Low code voor developers
Wat betekent deze manier van werken nu voor developers? Vermeulen: “De productiviteit van developers neemt al gauw met een factor 5 toe, onze klanten kunnen dat alleen maar staven. Dat is voor hen erg prettig. Dit komt door de veranderende taakverdeling tussen business user en developer, maar ook doordat ons platform bijvoorbeeld een AI-mentor kent. De klassieke approach van de “specifications-to-code-hand-off” verdwijnt. IT is niet langer eenzaam en alleen in het ownership van een business oplossing. De business zit mee aan de draaiknoppen. De AI-mentor zorgt continu voor analyse en monitoring, zorgt voor ondersteuning tijdens het hele project en doet voortdurend kwaliteitschecks. Een voorbeeld? Duplicate scripts op een pagina gebruiken. Dat ziet de mentor en dan geeft hij een notificatie. Of er wordt voor een bepaalde functie teveel data opgehaald uit de database. Deze checks gebeuren al tijdens het ontwerp en daardoor werken de door de AI mentor voorgestelde verbeteringen door in alles: functionaliteit, data, integraties, noem maar op. De bekende comments in de code zijn hierdoor niet meer nodig, de AI-mentor doet dit veel beter.”
Tijdwinst
Wat is volgens Vermeulen nu de belangrijkste winst van het gebruik van high performance low code? “Als ik maar één pluspunt mag noemen, dan zeg ik: snelheid van ontwikkelen van apps op een correcte schaalbare manier. De business kan hierdoor veel beter worden ondersteund als het om nieuwe requests en dergelijke gaat.” Dat gaat soms zo ver dat de business de developers niet meer kan bijhouden, vertelt hij. En dus niet – zoals nu vaak het geval is – andersom. “Dat klinkt natuurlijk bijna als een utopie, maar we hebben het daadwerkelijk bij klanten zien gebeuren. Een goed voorbeeld is Carrefour.”
Is high performance low code daarmee vooral bedoeld voor grote enterprise-organisaties? Nee, dat zeker niet, meent Vermeulen. “Deze aanpak is ook zeer geschikt voor kleine IT-afdelingen die werken voor kmo’s die veel werk maken van digitalisering. De snelheid waarmee dit soort firma’s nieuwe apps en nieuwe services aan hun klanten en partners kunnen aanbieden, is soms echt ongelooflijk om te zien.” Ook hier zijn klanten als bijvoorbeeld Duvel en Renotec een schoolvoorbeeld van.
Open source marketplace
Die snelheid kan nog verder opgevoerd worden door gebruik te maken van de open source marketplace die OutSystems in het leven heeft geroepen. “Forge” – zoals wij deze marketplace noemen – zit vol met softwarematige componenten die kunnen worden hergebruikt. Je hoeft dus niet alles zelf te ontwerpen, maar kunt voor allerlei gebruikelijke maar soms ook meer exotische functies terugvallen op wat andere organisaties al hebben gedaan. Dat werkt erg handig en snel.”
Niet onbelangrijk is wat developers met veel ervaring met het schrijven en onderhouden van enterprise-applicaties van tools als OutSystems vinden. Vermeulen: “Dat is heel interessant om te zien. Oudere developers lijken ten onrechte nog wel eens gezien te worden als weinig flexibel en enkel in staat om met oude talen als Cobol te kunnen of willen werken. Onze ervaring is heel anders. Wij zien dat zij veel belangstelling hebben voor onze visuele manier van werken. Natuurlijk vraagt het even wat tijd voordat zij goed met een andere manier van werken uit de voeten kunnen. Dus een goede developer onboarding is erg belangrijk. Maar al snel zien we dan teams van oudere en jongere developers samen werken aan bijvoorbeeld het migreren van oude Cobol-applicaties.”
Om te helpen bij de onboarding stelt OutSystems zijn trainingsmateriaal gratis ter beschikking. Net als een free edition van de tool die weliswaar maar door één gebruiker kan worden benut, maar die wel de volledige functionaliteit biedt. “Ook de specifieke branchekennis van veel van onze partners helpt natuurlijk enorm. Zij leveren soms al kant-en-klare oplossingen waar de business dan zelf enkel nog eigen uitbreidingen aan toe hoeft te voegen. Ook dat weer geheel in dienst van de doelstelling van high performance low code: snel business critical applicaties bouwen waarmee de business onderscheidend vermogen weet te creëren.”