Development

Software-ontwikkeling
low code

Orchestration: BPM en low code bewegen naar elkaar toe

Hoe kies je tussen BPM of low code

16 oktober 2019

Hoe kies je tussen BPM of low code

Orkestratie is meer dan het slim organiseren van kernprocessen en workflows. Om op een goede manier bedrijfsprocessen te digitaliseren en oplossingen te ontwikkelen die de betrokkenheid van klanten en de productiviteit van medewerkers verhogen, zal een organisatie het over een andere boeg moeten gooien. De laatste jaren zijn low-codeplatforms aan een opmars bezig. Ook BPM-leveranciers presenteren zich meer en meer als low-codespelers. Dat maakt de keus niet makkelijker, constateert Hans de Visser. Wanneer kies je voor BPM en wanneer voor welk type low-codeplatform?

BPM-tools worden ingezet om bedrijfsprocessen en workflows te beheren, te stroomlijnen en te optimaliseren. Hierbij gaat het om zowel gestructureerde, repeterende processen (configureerbare workflows en geautomatiseerde stappen) als om zaken die een ad-hocaanpak vereisen (zoals uitzonderingen efficiënt afhandelen of kennisintensieve processen ondersteunen). Het afgelopen decennium zijn BPM-tools verder ontwikkeld tot zogeheten BPM-suites. Deze oplossingen ondersteunen nu verschillende stijlen van workflows, takenbeheer, business rules management, monitoring van bedrijfsactiviteiten en technieken voor simulatie en optimalisatie.

 

Ondanks deze ontwikkelingen is een echte doorbraak van BPM uitgebleven. Er is sprake van consolidatie van het aantal spelers en er lijkt gelet op de bescheiden groeicijfers sprake te zijn van marktverzadiging. Hoe komt het dat BPM, in tegenstelling tot low code, niet door lijkt te breken? En is BPM bruikbaar om innovatieve businessapps te ontwikkelen? Traditionele BPM-suites richten zich voornamelijk op de ondersteuning van het proces. Diverse andere componenten voor het maken van procesoplossingen, zoals het omgaan met nieuwe data (die niet, of niet in de gewenste vorm in bronsystemen zit), de user experience en ook het definiëren van  business logic, wat anders is dan process logic, worden minder goed ondersteund.

De meeste digitale initiatieven ontstijgen het niveau van procesoptimalisatie en stellen aan al deze aspecten hoge eisen. En graag wel in een omgeving die hoge productiviteit biedt en minder technische ontwikkelaars in staat stelt om geavanceerde toepassingen te maken.

5 lagen

In feite zijn deze toepassingen opgebouwd uit vijf lagen:

1. een proceslaag voor workflows en takenbeheer;

2. een UI-laag voor de gebruikerservaring;

3. een laag voor business logic;

4. een laag voor data- en fileopslag;

5. een integratielaag voor de connectie met andere applicaties en web services.

BPM-suites bieden vaak uitstekende ondersteuning voor de eerste laag. De achilleshiel is vaak de UI-laag en de wijze waarop het definiëren van businesslogica en domeinmodellen voor dataopslag worden ondersteund. Zo kan het zijn dat voor een moderne gebruikerservaring programmeerwerk nodig is. Of dat businesslogica en datapersistentie worden ondersteund middels een (proprietary) programmeeromgeving. Overigens geldt het omgekeerde voor low-codeplatforms. Die bieden in de regel beperkte out of the box ondersteuning voor geavanceerde vormen van procesmanagement.

BPM en low code bewegen naar elkaar

Het goede nieuws is dat BPM-suites en low-codeplatforms naar elkaar toe bewegen. Onderzoeksbureau Gartner heeft recentelijk het ‘Magic Quadrant voor Enterprise Low-Code Application Platforms’ gepubliceerd. Daarin worden verschillende leveranciers met zowel een applicatieplatformachtergrond als ook BPM-achtergrond op een rij gezet. De low-codemarkt groeit snel vanwege de toenemende vraag naar (proces)applicaties en het tekort aan ervaren ontwikkelaars. Gartner voorspelt dat in 2024 maar liefst 65% van alle applicaties wordt gebouwd met low-codeplatforms. En, minstens zo interessant, dat driekwart van de grote ondernemingen meerdere low-codeplatforms naast elkaar zal gebruiken. De vraag is dan: voor welke initiatieven kies je een low-codeplatform dat meer gericht is op applicatieontwikkeling en wanneer heeft een platform met een focus op procesmanagement de voorkeur?

Mijn ervaring is dat voor transactionele (proces)applicaties waarbij een compleet domeinmodel, businesslogica en UI op maat gebouwd worden, een applicatieplatform de meeste voordelen biedt. Voor high-end procesmanagement over verschillende bestaande applicaties heen ben je beter af met een BPM-suite. Natuurlijk is de scheidslijn niet zwart-wit. Welke vorm van low code je ook kiest, let in ieder geval op het volgende.

1. Uitgebreide ondersteuning voor alle applicatielagen

Een solide low-codeplatform maakt gebruik van verschillende domain specific languages (DSL’s), die met elkaar zijn geïntegreerd om snelle applicatieontwikkeling mogelijk te maken. Hierdoor kunnen het userinterfacemodel, domeinmodel, proces- en logicamodel en het securitymodel visueel gedefinieerd worden. Als deze modellen gebaseerd zijn op (transparante) metadatadefinities, ‘weten’ ze hoe ze ten opzichte van elkaar gebruikt kunnen worden. Door bijvoorbeeld een domeinmodel met entiteiten te koppelen aan een flowmodel om een applicatie- of proceslogica uit te drukken, kunnen alle attributen en attributen van geassocieerde entiteiten worden gebruikt in de flow, zonder dat hiervoor omslachtige mapping van input- en outputdata per activiteit in de flow nodig is. Dit in combinatie met consistentie controles op functionele en technische volledigheid van het applicatiemodel, bepaalt in hoge mate de productiviteit van ontwikkelaars. Neem de moeite om te checken hoe goed een low-codeplatform dit principe ondersteunt.

2. Geïntegreerde DevOps

Beoordeel een low-codeplatform op voorzieningen voor DevOps en CI/CD. Dit zorgt voor een gestroomlijnde lifecycle van design naar development, naar test en deployment en ten slotte voor management van applicaties. Zijn er API's om DevOps-processen te automatiseren en in te passen in het IT-landschap? Goed geïntegreerde DevOps-ondersteuning levert significante kostenbesparing op. Door bij elke stap de nadruk te leggen op snelheid en gebruiksgemak, maakt het snelle iteratie mogelijk. Essentieel voor applicaties die onderhevig zijn aan veranderende eisen en wensen vanuit de business of nieuwe wet- en regelgeving.

3. Samenwerking business & IT

Een low-codeplatform biedt business- en IT-teams de mogelijkheid om beter samen te werken. Met agile projectmanagement, ingebouwde feedback- en collaboratiemechanismen en visuele ontwikkeltools kunnen ook niet-technische gebruikers meekrijgen wat er achter de schermen gebeurt. Ze hoeven niet te wachten tot er een eindproduct wordt opgeleverd, maar zijn in staat om actief deel te nemen aan het ontwikkelproces. Kijk welke functionaliteit een low-codeplatform biedt op dit vlak. Is het vooral gericht op productiviteit van professionele developers, of wordt het spectrum van citizen- tot pro developers ondersteund? 

4. Multichannel experience

Doe geen concessies aan de user experience. Moderne low-codeplatforms bieden niet alleen voorzieningen voor het ontwikkelen van responsive webapplicaties, maar ook crossplatform mobiele applicaties. Let erop of het platform gebruikmaakt van een UI-framework waarmee snel multichannel applicaties kunnen worden ontwikkeld en gestyled. En als het gaat om mobiele apps: native is de norm.

5. Cloud-native

Veel low-codeplatforms zijn gebouwd in het pre-cloudtijdperk. Hoewel ze nu ook in de cloud worden aangeboden, is de architectuur daar niet voor ontwikkeld. Hierdoor kost het meer compute resources (bijvoorbeeld een hele applicatiestack versus cloudcontainer) en tijd om deze systemen in de lucht te houden. Dit zorgt voor hogere kosten. Het ideale low-codeplatform is cloud-native, heeft een kleine deployment footprint, is makkelijk schaalbaar, en biedt automatische provisioning. De kosten voor het bouwen, opleveren én gebruiken van een applicatie worden daardoor sterk verlaagd.

Voor het ontwikkelen van procesapplicaties is het zaak goed op een rij te zetten welke mate van procesondersteuning vereist is versus andere aspecten die de productiviteit, beheerkosten en ook gebruikerservaring beïnvloeden. Uiteindelijk gaat het niet alleen om het automatiseren van processen en workflows, maar om het ontwikkelen van applicaties om echt concurrerend en vernieuwend te zijn – in welke markt je ook opereert. 

 

Magazine AG Connect

Dit artikel is ook gepubliceerd in het magazine van AG Connect (septembernummer 2019). Wil je alle artikelen uit dit nummer lezen, klik dan hier voor de inhoudsopgave.

Lees meer over
Lees meer over Development OP AG Intelligence
Reactie toevoegen
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.