De softwarebranche introduceert regelmatig nieuwe buzzwoorden. Eén die de laatste jaren steeds sterker naar voren komt is low-code. Waar komt die vandaan, wat is het, en vooral: wat heeft u eraan?
De software-industrie vindt zichzelf vaak heel volwassen en hightech, maar is dat wel zo? Wat zijn eigenlijk echt volwassen hightech industriële activiteiten? U kunt hierbij denken aan de vliegtuig- en auto-industrie of de bouw van een wolkenkrabber of grote brug. Hierbij worden allemaal eindproducten gemaakt die zeer complex zijn, en tegelijkertijd erg betrouwbaar. Waarom geldt dit dan niet voor software? Dat komt vooral door het ambachtelijke ontwikkelproces van software, dat nog steeds heel gebruikelijk is. Het ontwerp bestaat meestal uit honderdduizenden zinnen Nederlandse of Engelse tekst. Programmeurs interpreteren de tekst en schrijven handmatig miljoenen regels programmatuur. En daarna is men verbaasd dat de software niet perfect werkt. Ik zou eerder verbaasd zijn als het wel zou werken.
CAD/CAM versus software-ontwikkeling
Echte hightech industrieën werken zo niet. Die gebruiken al decennia lang CAD/CAM-achtige toepassingen. Met CAD (Computer Aided Design) wordt een grafisch digitaal model van het eindproduct gemaakt dat volledig doorgerekend en geoptimaliseerd wordt. Daarna gaat het model naar CAM (Computer Aided Manufactoring) en wordt het eindproduct zo veel mogelijk automatisch door robots gefabriceerd. Het digitale model van een auto of vliegtuig kan in een virtuele windtunnel volledig worden geoptimaliseerd, en daarmee is het eindproduct dat ook. Er zijn achteraf geen verrassingen. Vergelijk dat eens met de softwarebranche. Daar regent het verrassingen na de ingebruikname van een eindproduct.
De ambachtelijke bouw is helaas niet het enige probleem. Software heeft de vervelende eigenschap dat de oplossing onlosmakelijk verbonden is met de gekozen technologie. Zodra er bijvoorbeeld een programmeertaal is gekozen om software mee te ontwikkelen, kan de oplossing wel steeds verder uitgebreid worden, maar het is onmogelijk om naar een nieuwe programmeertaal te switchen, zonder helemaal opnieuw te beginnen. En die nieuwe technologieën komen steeds sneller. Het is triest om te moeten concluderen dat de software-industrie dus eigenlijk helemaal niet zo goed is in het ontwikkelen van software, en het bovendien steeds vaker (opnieuw) moet doen.
Hoe belangrijk is software voor de business?
De digitale transformatie (weer zo’n buzzwoord) is in volle gang. Maar wat betekent dat eigenlijk? Stelt u zich eens voor dat u een taxibedrijf heeft. Hoe belangrijk is software voor u? U moet een reservering kunnen plannen, afrekenen in de taxi en u heeft graag de beschikking over managementinformatie. Of u bent eigenaar van een hotel. Ook daar is reserveren belangrijk. Net als in- en uitchecken en het plannen van de schoonmaak. Voor beide bedrijven lijkt software niet heel belangrijk en is het een noodzakelijk kwaad (lees: een kostenpost). Totdat er ineens bedrijven als Uber en Airbnb op de markt verschijnen; bedrijven die het volledig anders benaderen. De taxi en het hotel zelf staan niet langer meer op nummer één, maar wel hun eigen, unieke softwareplatform. Niet alleen de branche heeft enorm veel last van zulke marktverstorende bedrijven. Zelfs de overheid heeft er moeite mee om dit soort nieuwe bedrijven te reguleren.
De vraag is nu: wie is de Uber of Airbnb in uw branche? Of wilt u die graag zelf zijn? De grote impact die business-software op het succes van een bedrijf kan hebben, is niet meer te negeren. Het grote struikelblok is helaas die ambachtelijke softwarebouw. Als klap op de vuurpijl zijn ook de informatici enorm schaars.
Samengevat hebben we het volgende problemen: softwarebouw is erg ambachtelijk en tegelijkertijd zijn softwareontwikkelaars erg schaars. Verder moeten we die software door de introductie van nieuwe technologieën steeds opnieuw bouwen. En tegelijk wordt de behoefte van de business aan innovatieve software steeds groter. Hoe lossen we dit op?
Drie software-strategieën
Om de bovenstaande problemen het hoofd te bieden zijn er een drietal strategieën:
- Nearshoring of offshoring. U besteedt het programmeerwerk uit aan een land waar deze expertise minder schaars is, waarschijnlijk tegen een lager uurtarief. U krijgt er een (ver)taalprobleem bij en de kern van het probleem wordt niet opgelost. Het programmeren blijft ambachtelijk. Feitelijk koopt u hooguit uw probleem wat goedkoper in.
- U koopt een softwarepakket. Daarmee verplaatst u het probleem naar de pakketleverancier. Ook die blijft ambachtelijk werken en de kosten daarvan betaalt u. En hoeveel pakketleveranciers hebben in het verleden tijdig de slag gemaakt van DOS naar Windows naar web naar mobile? En kon u toen eenvoudig overstappen op de nieuwe versie van hun software?
- Softwareontwikkeling op een CAD/CAM achtige manier automatiseren (modelgedreven). In de softwarebranche is low-code ontwikkeling de equivalent van CAD/CAM. Deze stroming heeft zich in de praktijk bewezen en een productiviteitsstijging van een factor 10 is heel reëel. Met sommige platformen is het ook heel goed mogelijk om automatisch over te stappen op een nieuwe technologie. Dat is een totale revolutie. Low-code is wel vrij domeinspecifiek. Sommige platformen zijn gespecialiseerd in het bouwen van apps, anderen voor realisatie van grote erp-achtige oplossingen. Dat is te vergelijken met een autofabriek, die niet in staat is om een vliegtuig te bouwen. Tot slot is low-code toegankelijk voor de business zelf. Zij kunnen zelf businessmodellen maken en komen zelf aan het roer van het softwareproject te staan.
Hoe past u low-code toe binnen uw bedrijf?
U kunt low-code platformen op verschillende manieren toepassen, afhankelijk van uw eigen situatie en visie op de toekomst. Hieronder schets ik vier mogelijkheden:
- U heeft een standaardpakket waar u niet van af kan (beslissing moedermaatschappij) of wilt, maar tegelijkertijd wilt u uw processen verbeteren. In dat geval kunt u kiezen voor een low-code platform waarmee u apps kunt bouwen als aanvulling op uw standaardpakket. Het is belangrijk om daarbij te bepalen om hoeveel processen het gaat. De eerste bedrijven met meer dan 10.000 appjes zijn er al, en dat komt de beheersbaarheid niet ten goede.
- Met een erp low-code platform kunt u zelf uw eigen, onderscheidende business-software bouwen. Dit was voorheen onmogelijk. Met een persoon uit de business en een it-er komt u al een heel eind. Vaak kunt u bestaande referentiemodellen gebruiken en dat aanvullen met uw unieke behoefte. Dit vraagt wel om een duidelijke visie.
- Hetzelfde als optie 2, maar dan uitbesteed aan een systeemintegrator. Er zijn steeds meer it-dienstverleners met kennis van low-code platformen om u te helpen met uw behoefte. Ook staat u zelf aan het roer van het project, en dat vraagt dus visie.
- Als u in de basis tevreden bent over uw pakketleverancier, ook al kan die de technologische ontwikkelingen niet helemaal meer bijhouden, dan kunt u hem ook voorstellen om over te stappen op een low-code platform. Er zijn low-code platformleveranciers die gespecialiseerd zijn in het ondersteunen van pakketleveranciers. U blijft gewoon klant van uw pakketleverancier, maar profiteert wel van de voordelen van low-code.
Een vijfde alternatief dat ik u zeker niet zou adviseren is low-code te negeren. U kunt echt het verschil maken voor uw business door de juiste keuze te maken. Welke optie gaat u toepassen?
Low Code is ondertussen al achterhaald door No Code…
Zie het als het in kaart brengen van je bedrijfsprocessen, in combinatie met het opleveren van de functionaliteit binnen de door de business gewenste applicatie, door middel van een flowchart in realtime.
Mede hierdoor kan je dus eenvoudig snel maatwerkapplicaties bouwen, binnen 10% van de tijd en kosten ten opzichte van conservatieve oplossingen, en omdat het SaaS gerelateerd is, kan je dus legacy-applicaties eenvoudig nabouwen, met de wensen en eisen van nu, zonder hierin concessies te hoeven doen.
Marcel Mayer
Prianto Benelux
Distributeur van optimale #EUX oplossingen