
Bijdrage: Computable jaargids
Tien jaar geleden was model gestuurde softwareontwikkeling een ‘ding’. Daarna kwamen trends als RAD (Rapid Application Development) -platform en BPMS (Business Process Management Software) voorbij. Tegenwoordig is softwareontwikkeling gebaseerd op ‘low code’ het nieuwe buzzword. Alles wijst erop dat deze aanpak van een model opzetten, pakken, slepen en klikken van softwarebouwstenen een blijvertje gaat worden. Maar wat als het bouwwerk groot en complex wordt?
Onder de noemer ‘low code’ hoeft tegenwoordig een steeds kleiner deel van applicaties in reguliere softwarecode geschreven te worden. Hulpmiddelen variëren van API’s om verschillende (cloud)softwarecomponenten te ontsluiten, frameworks waar alleen nog business logica nodig is als input, tot platformen zoals Mendix, OutSystems, ThinkWise en WEM Modeler waarmee functionaliteit als Lego in elkaar te zetten is. Al deze vormen van ‘low code’ zorgen er voor dat nieuwe software steeds sneller gebruiksklaar is.
Exponentiële groei
Al in 2009 schetste Jeroen Versteeg, toen CEO van Sogeti, een toekomstbeeld dat over tien jaar 80% van de nieuwe software zou bestaan uit kant-en-klare oplossingen, die zo in elkaar te klikken zijn. Het klonk toen ongeloofwaardig, maar we zijn hard op weg om die voorspelling waar te maken. De omzet in de low-codemarkt bedroeg in 2015 nog 1,7 miljard dollar blijkt uit marktcijfers van Forrester. Marktspelers zien hun omzet dit jaar verdubbelen. Die exponentiële groei gaat de komende jaren doorzetten, verwacht Forrester. In 2020 zal de mondiale omzet uitkomen op 15,4 miljard dollar. De markt zit hierop te wachten omdat het bedrijven in staat stelt sneller applicaties op te leveren of aan te passen. Bestaande softwareontwikkeling hapert door een gebrek aan flexibiliteit.
Voor de bedrijfskundige rekenaars is ‘low code’ een hele interessante ontwikkeling, want het zou kunnen betekenen dat de prijs van softwareontwikkeling fors omlaag kan en de rekenmodellen er heel anders uit komen te zien. Vooralsnog zien we de prijs nog niet zo hard dalen als je zou verwachten op basis van de productiviteitsverbetering die de verschillende ‘low code’ oplossingen beloven. Kennelijk is alleen minder code kloppen nog geen garantie voor lagere prijzen. Die had Jeroen Versteeg overigens ook niet beloofd. Om dat waar te maken moet je ‘low code’ aanvullen met oplossingen om ook het ontwerpen en testen van nieuwe software efficiënter te maken en hulpmiddelen om governance te faciliteren. Want op dit soort aspecten valt nog een hoop te verbeteren, zo blijkt uit de praktijk.
Technische uitdagingen
Bij grotere implementaties van low code zijn er de nodige technische uitdagingen. Zo vertelde Frans Lohman, architect bij Rijkswaterstaat, op het recent gehouden Nesma-congres over software metrics dat de ontwikkelaar van een ‘low code’-applicatie relatief veel moeite moet stoppen in de manier waarop de componenten in de uiteindelijke applicatie met elkaar communiceren. Bij (te) snel bij elkaar slepen van componenten kunnen interacties van de verschillende modules tot een spaghetti aan interacties leiden, die het beheer op zijn minst een stuk lastiger maakt. Daarnaast stelt niet ieder low code platform zijn gebruikers in staat om goed zicht te houden op het gebruik van goedgekeurde bouwstenen. Enterprise gebruikers slepen overal bouwstenen vandaan zonder na te denken over mogelijke nadelige consequenties voor de stabiliteit van een productieomgeving.
Die complexiteit zal aanzienlijk toenemen naarmate er meer applicaties gebaseerd zullen zijn op dit platform. Implementatie van een nieuwe applicatie blijft eenvoudig. Onderhoud van bestaande systemen zal complexer worden als de levensduur van systemen langer wordt. Bij het doorvoeren van wijzigingen in productie zijn ontwikkelaars ook met low code platformen veel tijd kwijt om nieuwe componenten betrouwbaar te laten werken in bestaande processen. Stel dat je in een HR-verlofsysteem drie verloftoepassingen met werkstroom versie 1 werken en je gaat werkstroomversie 2 implementeren om het verlofsysteem te vernieuwen. Als versie 2 niet goed samenwerkt met versie 1-processen zul je deze vernieuwing niet door kunnen voeren tenzij je ook de andere processen onder handen neemt. Even het systeem platleggen is bijna nooit een optie, omdat in een grotere organisatie elke seconde nieuwe verlofaanvragen binnenkomen. Met name voor toepassingen met een hoog volume aan transacties, ben je veel resources kwijt aan het patchen, niet aan de implementatie van nieuwe functionaliteit of applicaties.
In die zin is de vraag terecht of low code platformen hun bestaande belofte ook in de toekomst waar zullen blijven maken. En dat brengt ons op het issue van de verhouding tussen de kosten voor Run en Change in het applicatiedomein. Iedereen wil die heel graag de juiste kant op krijgen. Sinds de keynote van Jeroen Versteeg in 2009 blijft de verhouding nog steeds in de buurt van de 80:20 hangen. Heel graag zou je die verhouding om willen buigen naar 20 voor de Run en 80 voor Change. Want dan wordt software pas echt serieus goedkoper. Wij blijven de score bijhouden, wie verzint de list om dat voor elkaar te krijgen? Dit zal één van de grote uitdagingen voor de komende jaren zijn.
METRI Research gaat in 2018 een paper ontwikkelen over de inzet van low code platformen als basis voor softwareontwikkeling. Wil je hier meer over weten of over dit onderwerp? Neem dan contact met ons op.
Volg je ons al?