Veel organisaties lopen tegen de grenzen van hun legacylandschap aan. Ze moeten upgraden naar een nieuwe versie van hun erp- of ander kernsysteem. Dit is te vergelijken met een openhartoperatie. Daar komt bij dat verschillende legacy-applicaties vaak niet of nauwelijks met elkaar ‘praten’, waardoor veel informatie nog altijd handmatig wordt verwerkt. Met de huidige personeelskrapte staat dat de groei van veel organisaties in de weg.
Een mooi voorbeeld zien we in logistieke omgevingen. Daar communiceren erp- en warehouse management system (wms)-systemen met tientallen of honderden verschillende systemen van toeleveranciers, transportbedrijven, klanten en douane. Op alle processen die hiermee gemoeid zijn, zijn vaak honderden verschillende business rules van toepassing, in goed Nederlands bedrijfsregels. Het zijn de spelregels en randvoorwaarden die je hanteert; de regels die bepalen hoe specifieke bedrijfsprocessen moeten worden uitgevoerd.
Die bedrijfsregels worden lang niet allemaal afgedekt door de standaardversies van het erp- en wms-pakket. Vandaar dat deze pakketten veel maatwerk kennen. En ondanks dit maatwerk vindt er, met name op de planningsafdeling, ontzettend veel handmatig werk plaats. Want het maatwerk voorziet lang niet altijd in de juiste koppelingen met andere systemen. Dit maakt het werk op planningsafdelingen complex. Het duurt maanden, zo niet jaren, voordat een planner goed is ingewerkt. Als iemand langdurig ziek wordt of het bedrijf verlaat, is dat een kleine ramp.
Rework
In zo’n omgeving zou je je processen willen automatiseren vanuit de bedrijfsregels. Regels die nu verstopt zitten in (het maatwerk binnen) het erp- en wms-systeem. Daardoor zijn ze niet voor iedereen even helder. Veel kennis zit in hoofden van mensen. Bovendien worden de regels niet automatisch goed toegepast in de communicatie met externe systemen van partners. Dit leidt tot veel fouten, met als gevolg veel rework. En dat terwijl de planningsafdeling al overbelast is.
Om dit probleem het hoofd te bieden, is er een manier van software ontwikkelen bedacht die de bedrijfsregels centraal stelt. Regels die je opstelt in de taal van de business en die daardoor voor iedereen helder zijn. Zo’n regel is bijvoorbeeld: als klanten rekeningen hebben die meer dan twee maanden open staan, dan mag sales geen nieuwe orders van die klanten aannemen. Die regels zet de low-code-software vervolgens met behulp van een zogenaamde rules engine om in werkende software. In dit geval is het dan simpelweg niet mogelijk om een order van zo’n klant in te voeren in het erp-systeem.
Verandert het bedrijf een bedrijfsregel, dan pas je die regel aan in je rules-database en dan verandert ook automatisch de applicatie mee waar die regel wordt toegepast. Tijdens de coronapandemie had je bijvoorbeeld kunnen aangeven: voor deze specifieke groep klanten rek ik de betalingstermijn tijdelijk op tot drie maanden vanwege de uitzonderlijke omstandigheden.
Low-code
Als je gaat automatiseren vanuit bedrijfsregels, gebruikmakende van een rules engine, dan programmeer je eigenlijk low-code. Deze aanpak werkt alleen net wat anders dan wat je kent van grote low-code-platformaanbieders zoals OutSystems of Mendix. Waar deze platformen uitgaan van processen en workflows – stappen die je in een bepaalde volgorde moet zetten, dus het ‘hoe’ – gaat een low-code-aanpak met bedrijfsregels uit van het ‘wat’: wat wil je bereiken en welke acties moet een bepaalde gebeurtenis bijvoorbeeld uitlokken?
Neem een inkomende container van leverancier X die te laat in het warehouse aankomt. Met een bedrijfsregelaanpak kun je zeggen: als inkomende goederen te laat aankomen, wil ik automatisch een seintje krijgen op welke klantorders dit gegeven impact heeft, zodat ik die klanten tijdig kan informeren. Bij een ‘normale’ procesgerichte manier van automatiseren zou het weken, zo niet maanden kosten om dit werkend te krijgen in je erp-systeem. Maar met een bedrijfsregelaanpak is het een kwestie van de regel schrijven en opnemen in je rules engine.
Tienduizenden berichten per dag
Het mooie is: je kunt deze methode niet alleen gebruiken voor het ontwikkelen van kleine apps, maar ook voor het automatiseren van complexe bedrijfsprocessen, waar tientallen applicaties tienduizenden berichten per dag uitwisselen. En juist die omgevingen lopen vandaag de dag vaak vast doordat legacysystemen eigenlijk vervangen moeten worden.
Met een bedrijfsregelaanpak hoef je geen openhartoperatie uit te voeren – je volledige coresysteem in één keer vervangen – maar kun je gefaseerd een modern landschap bouwen, gebruikmakende van al jaren bestaande componenten. Want je kunt met deze aanpak ook headless-applicaties ontwikkelen (applicaties zonder gebruikersinterface die zich focussen op machine-to-machine-communicatie). Je kunt dan ds componenten uit je erp-, wms-, crm- of ander systeem verbinden met andere componenten en zo een nieuwe applicatie bouwen met bestaande onderdelen. Zo versnel je innovatie én verlaag je de kosten en risico’s die gepaard gaan met it-vernieuwing.
(Auteur Frank Dignum is account executive bij USoft.)