Robuust software ontwikkelen vanuit een Enabling Technology Stack

IT-ers kennen het concept van een Enabling Technology Stack veelal vanuit de infrastructuur. Je kunt dit concept echter ook naar een hoger niveau trekken en toepassen op de technologieën en tools die je gebruikt om softwareoplossingen te leveren, van bijvoorbeeld integratie- tot low-code platformen. Dit is een beweging die we steeds meer toonaangevende organisaties zien maken. Maar waarom zou je dit doen en wat levert zo’n aanpak op?

Er wordt al jarenlang gepraat over de digitale transformatie en we zijn op een punt dat vrijwel alle organisaties voor de kern van hun bedrijfsvoering afhankelijk zijn geworden van een digitaal ondersteund proces. Een proces dat stokt zodra er een probleem optreedt in één van de onderliggende applicaties. Steeds vaker zien we dat de wendbaarheid van organisaties serieus onder druk komt te staan door belemmeringen vanuit kernsystemen. Sterker nog, de Belastingdienst heeft er zelfs bij de Tweede Kamer op aangedrongen zo min mogelijk wensen neer te leggen waardoor verouderde fiscale systemen aangepast moeten worden. Er is eerst een periode van zes jaar nodig om de systemen te moderniseren. Zo’n groot gebrek aan wendbaarheid is zeer onwenselijk.

De digitale transformatie gaat hand in hand met de ontwikkeling dat bedrijven steeds beter stilstaan bij wat hen uniek maakt. Nadat jarenlang veel focus heeft gelegen op standaardisatie (zeker als het gaat om de kernprocessen) en digitalisering zich vooral richtte op de periferie, zien we nu steeds meer bedrijven die juist in de kernprocessen belemmeringen ervaren voor de verdere en noodzakelijke digitalisering.

 

Nieuwe eisen aan stabiliteit, schaalbaarheid, veiligheid en wendbaarheid

Deze ontwikkelingen stellen nieuwe eisen aan software op het gebied van betrouwbaarheid, continuïteit, schaalbaarheid en veiligheid. Maar zeker ook nieuwe eisen als het gaat om de snelheid waarmee oplossingen gerealiseerd worden. Niet alleen als je een mooie front-end app ontwikkelt, maar juist ook als je je kernprocessen moet aanpassen of verder wilt digitaliseren, zul je in staat moeten zijn die software snel aan te passen of nieuwe oplossingen te realiseren. Daarom zien we dat organisaties steeds vaker op kernapplicaties aan de slag gaan met low-code tools.

Al deze factoren zijn belangrijke drivers achter de opkomst van de cloud én achter de ontwikkeling dat organisaties IT en operatie beter op elkaar willen aansluiten. Immers, hoe dichter bij de business de softwareontwikkeling plaatsvindt, hoe beter die software aansluit bij de behoeften en hoe meer snelheid kan worden gemaakt in het ontwikkelproces. Het verklaart de populariteit van Agile en DevOps.

 

Voorkom schaduw-IT uit de cloud

De decentralisatie van IT-ontwikkeling in DevOps-teams, die dicht tegen de business aan opereren, brengt echter ook een nieuw gevaar met zich mee: de opkomst van shadow IT. Ieder ontwikkelteam kiest die cloud tools die hen helpen. Tools op het gebied van low-code softwareontwikkeling, op het gebied van integratie, op het gebied van testautomatisering en ga zo maar door. Voor je het weet, doet ieder DevOps-team zijn eigen ding en raak je het overzicht kwijt. In een wereld waarin applicaties standalone functioneren, zorgt zo’n decentrale aanpak voor hogere kosten en een langere doorlooptijd als bijvoorbeeld meerdere applicaties moeten worden aangepast aan nieuwe wet- en regelgeving. Maar in een wereld waarin applicaties onderling data uitwisselen, is zo’n volledig decentrale aanpak ook nog eens funest voor de stabiliteit en betrouwbaarheid van het gehele applicatielandschap. Om het nog maar niet te hebben over de gevolgen op de kwaliteit, veiligheid en privacy van de data die door deze applicaties stroomt.

Wil je decentrale vrijheid én het ontwikkelen van kwalitatief goede en betrouwbare applicaties vanuit een sterke en gedeelde basis combineren, dan heb je een Enabling Technology Stack nodig.

 

Combineer vrijheid en kwaliteit

Wil je de twee werelden combineren – decentrale vrijheid én het ontwikkelen van kwalitatief goede en betrouwbare applicaties – dan heb je een Enabling Technology Stack nodig. Een Enabling Technology Stack is een zorgvuldig samengestelde combinatie van technologieën voor de verschillende benodigde niveaus, denk aan infrastructuur, integratie en applicatie. Een combinatie die fungeert als fundament voor alle oplossingen die je daar bovenop wilt ontwikkelen en laten landen. Zo’n stack zorgt dat niet alleen de infrastructuur, maar ook de lagen erboven goed zijn ingericht.

Zoals gezegd bestaat het concept van een Enabling Technology Stack al heel lang. Het was altijd gericht op het standaardiseren van de infrastructuur zodat oplossingen daar effectief op kunnen landen. Met de ontwikkelingen op het gebied van cloud en door de druk op digitalisering kan het concept inmiddels ook worden toegepast op de ontwikkeling van softwareoplossingen. In dit verband richt een Enabling Technology Stack zich op het opbouwen van een brede en flexibele set aan technische capabilities, met als doel de business optimaal te ondersteunen in het realiseren van businesswaarde.

 

Enabling Technology Stack voor low-code

Een voorbeeld van een Enabling Technology Stack is het Hybrid Integration Platform, wat in feite een Enabling Technology Stack is op het gebied van integraties (zie kader). Maar denk ook aan de bedrijfsbrede keuze om met één of een combinatie van low-code ontwikkelplatformen te gaan werken bij de ontwikkeling van apps. Of met één platform voor testautomatisering. Een Enabling Technology Stack neemt al deze ontwikkelingen samen.

Steeds meer organisaties denken na over het opnieuw organiseren van hun technologie-architectuur en kijken van daaruit ook hoe low-code hierin een goede plek kan krijgen. Het is belangrijk om te begrijpen dat het ene low-code platform al lang niet meer het andere is. De diversiteit aan capabilities binnen low-code aanbieders is sterk in ontwikkeling. Het ene platform is uitermate geschikt voor de ontwikkeling van apps voor eindgebruikers, terwijl het andere platform juist weer uitblinkt in de data-, transactie- en regelintensieve automatisering van core processen. Ook Gartner ziet deze ontwikkeling en verwacht dat grote organisaties zelfs meer dan vier low-code platformen gaan combineren. Zo creëren ze een best-of-breed combinatie die vanuit een Enabling Technology gedachte ontzettend veel wendbaarheid en schaalbaarheid biedt. En eenzelfde kijk is ook van toepassing op integratie en distributie.

Infographic Enabling Technology Stack business applications USoft

 

Begin bij de basis: een Business Rule Engine

Een onmisbaar onderdeel in een Enabling Technology Stack is een Business Rule Engine: één centrale plek waar alle business rules samenkomen. Normaalgesproken zitten business rules verstopt in allerlei applicaties en interfaces. Ik zeg bewust verstopt omdat ze zijn opgeschreven in een voor de business onleesbare taal die alleen begrepen wordt door ontwikkelaars. Vaak weet niemand precies welke regels waar worden uitgevoerd. Op het moment dat je processen uit hun silo wilt halen en end-to-end over silo’s heen wilt digitaliseren, merk je dat applicaties soms conflicterende regels hanteren. Dit blijft onopgemerkt zolang die regels verstopt zitten in de applicatie, maar het leidt tot grote problemen en vaak onbegrijpelijke beslissingen als die twee applicaties met elkaar verbonden worden. Want de ene applicatie zegt: we gaan linksaf. Terwijl de ander rechtsaf wil. Een centrale Business Rule Engine bepaalt welke regel voorrang krijgt boven welke andere regel. Dit wordt ook wel ‘(integrale) orkestratie’ genoemd en is vaak gekoppeld aan de ambitie om ketenintegratie binnen operationele processen te realiseren.

Een centrale Business Rule Engine is ook onontbeerlijk omdat zelfs een hele kleine applicatie al snel enkele tientallen regels bevat. Een grote applicatie kan uiteraard een veelvoud hiervan aan regels kennen. Als je wilt dat data vrijelijk door alle applicaties kan stromen, praat je al snel over honderden regels die op die data van toepassing zijn. Zonder centrale plek waar je de regels vastlegt en met elkaar in samenhang brengt, lukt het je nooit om doublures en conflicterende regels te ontdekken. En je krijgt al helemaal geen inzicht in de witte vlekken.

Veilig, schaalbaar en robuust software ontwikkelen? Leg de basis vanuit een Enabling Technology Stack

 

Laat snelheid en stabiliteit hand in hand gaan

Kortom, een Enabling Technology Stack is dé manier om enerzijds de DevOps-teams snel te faciliteren in alle capabilities die zij nodig hebben en optimaal te laten profiteren van de voordelen van hergebruik van componenten. En anderzijds een stabiele basis te faciliteren die zorgt voor continuïteit, betrouwbaarheid, schaalbaarheid en veiligheid met de oplossingen die voor de organisatie onderhouden worden. Zo geef je DevOps-teams vrijheid, maar binnen kaders. Met als doel de wendbaarheid van de organisatie optimaal te ondersteunen.

 

Hybrid Integration Platform

We werken het voorbeeld van een Hybrid Integration Platform, een plek waar alle integratiecapabilities samenkomen, verder uit. Er zijn verschillende tools voor het bouwen van integraties, zoals een Enterprise Service Bus, tools om eenvoudige API’s mee te ontwikkelen en Complex Event Processing (tooling die je gebruikt voor het ontwikkelen van event driven applicaties). Nu het ontwikkelen van integraties steeds belangrijker wordt, zien bedrijven dat ze dit niet meer allemaal centraal kunnen organiseren. Lokaal in de business gaan zogenaamde citizen developers aan de slag met eenvoudige API’s. En dat is maar goed ook, want zo houdt het centrale competence center tijd over voor de complexere integraties. Om ervoor te zorgen dat er geen wildgroei ontstaat in tooling, bied je door de organisatie geselecteerde tools aan via een Enabling Technology Stack. Daarin zijn essentiële integratiecompetenties vertegenwoordigd: API-management, applicatie integratie, file transfer, data pipelines en streaming. En per competentie wordt een tool gekozen die deze het best ondersteunt. De use case bepaalt welke competenties in die situatie belangrijk zijn en dus welke tooling daar het best bij past.

Enabling Technology Stack

Een Enabling Technology Stack is een de combinatie van zorgvuldig geselecteerde en samenhangende technologieën en services die het fundament vormen voor applicaties. Het zorgt ervoor dat applicaties effectief ontwikkeld, gebruikt en onderhouden worden. Een Enabling Technology Stack dekt daarmee verschillende niveaus af: van infrastructuur en integratie tot aan applicaties

Dit artikel is geplaatst in het AG Connect Magazine van april 2022.

Robust software development with enabling technology stack

Written by: USoft

Related posts

Low-code No-code Day 15 september 2022

Low-code No-code Day 15 september 2022

Low-code / No-code Day 2022: Verbinding tussen business en IT USoft is dit jaar aanwezig op Low-Code / No-Code Day van AG Connect op 15 september 2022. Tijdens dit event kan je aan sluiten bij onze inhoudelijke sessie, gepresenteerd door onze CEO Hans Canisius, waar...

Podcast: Hoe behaal je doelen met low-code?

Podcast: Hoe behaal je doelen met low-code?

De opkomst van low-code zal je niet ontgaan zijn. Low-code platforms zijn de toekomst van applicatieontwikkeling. Maar hoe behoud je het overzicht? Onze CEO Hans Canisius sloot zich aan bij Techzine's podcast 'Techzine Talks' om met andere vakgenoten over low-code te...

ITmorrow start strategisch partnership met USoft low-code

ITmorrow start strategisch partnership met USoft low-code

ITmorrow voegt het low-code platform van USoft toe aan haar portfolio. ITmorrow, een Rotterdamse low-code startup, is specialist in procesoptimalisatie, applicatieontwikkeling en UX/UI-development met een focus op de kwaliteit en integriteit van data. Daarnaast is...