Ga naar de inhoud

Model Driven Engineering: de volgende stap in de softwareontwikkeling

De grootste uitdaging bij het ontwikkelen van software voor systemen is de communicatie en afstemming tussen alle disciplines en iedereen die bij het proces betrokken is. Model Driven Engineering (MDE) is een relatief nieuwe methodiek die volledige synergie tussen alle partijen mogelijk maakt. Een volgende stap in de softwareontwikkeling die niet geheel nieuw is, maar waarvoor de tijd nu rijp lijkt te zijn. Operations Manager bij ICT Groep, Ronald Wiericx en Senior Software Designer, Olaf Donk zijn pioniers met MDE.

“De oorspronkelijke aanpak van het ontwikkelen van systemen is het maken van een ontwerp waarin de klanten aangeven welke eisen er gesteld moeten worden”, legt Olaf uit. “de ontwerper maakt een ontwerp van de eisen en de programmeur ontwikkelt de code. Maar elke discipline spreekt een andere taal en vaak is het resultaat niet waar andere betrokkenen zich op richten. In dit proces maken alle betrokken partijen veel aannames die uiteindelijk onjuist kunnen blijken te zijn”.

“Deze zogenaamde watervalmethode is een zeer lineaire manier om software te ontwikkelen en neemt veel tijd in beslag”, vervolgt Olaf. “Op dit moment werken veel bedrijven al veel wendbaarder. Er zijn meer leverings- en testmomenten. Maar het is nog steeds een zeer traditionele manier om systemen te ontwikkelen”.

Werken aan een centraal model

“Bij het toepassen van MDE beginnen we allemaal met hetzelfde uitgangspunt,” legt Ronald uit. “De ontwerper, de ontwikkelaars en de gebruikers werken allemaal aan hetzelfde model. Een model dat is geschreven in een taal die alle betrokken partijen begrijpen”. Olaf voegt eraan toe: “een taal die domeinspecifiek is. Het is een stuk makkelijker om diepgaande discussies te voeren als je weet waar je het over hebt en als je weet waar je naartoe wilt. De methodologie stelt je in staat om meer aspecten te analyseren voordat je het systeem daadwerkelijk bouwt. Het stelt u in staat om code te genereren uit het model. Veranderingen in het model zullen zich gemakkelijk in de code verspreiden. De aanpak maakt een efficiëntere manier van testen van de software mogelijk. Deze complete ontwikkelingscyclus resulteert in een accuraat systeem dat past bij de verwachtingen van de klant of deze zelfs overtreft.

De markt lijkt klaar te zijn om Model Driven Engineering toe te passen …

“MDE is niet ongelooflijk nieuw, maar op dit moment lijkt de markt er klaar voor te zijn om het over te nemen”, zegt Ronald. “Toen ik het zeven jaar geleden leerde kennen, geloofde ik er meteen in, maar vandaag de dag wordt het nog steeds niet op grote schaal gebruikt. Dat komt waarschijnlijk vooral omdat deze aanpak niet is wat generaties van ontwikkelaars hebben geleerd. Ze hebben geleerd om code te programmeren, en dat is wat ze in de praktijk brengen en waar ze heel goed in zijn. Tegenwoordig worden mensen anders opgeleid. Onlangs hebben we een aantal professionals vers van school ingehuurd die gewend zijn om in modellen te denken en ze vinden MDE geweldig.”

Verschillende vaardigheden vereist voor Model Driven Engineering

“Andere redenen waarom de markt nu klaar lijkt te zijn om MDE te adopteren is dat jaren geleden MDE-tooling simpelweg niet aantrekkelijk was”, voegt Olaf toe. “Tegenwoordig zijn er veel tools en bovendien is de rekenkracht toegenomen. Computers zijn sneller en bieden meer capaciteit”. Olaf is het ermee eens dat de andere manier van werken de belangrijkste barrière is voor een snelle adoptie van MDE. “Het toepassen van Model Driven Engineering vereist een andere manier van denken. Mensen aan een goed model laten werken en het valideren ervan, samen met andere disciplines, is een totaal andere aanpak en vereist andere vaardigheden. Soft skills en abstracter denken worden steeds belangrijker voor ontwikkelaars.”

Investeer in het verfijnen van het centrale model

Hoewel MDE steeds vaker door bedrijven wordt toegepast, verwachten Ronald en Olaf dat het nog enige tijd zal duren voordat de aanpak op grote schaal zal worden toegepast. “Je besteedt veel meer tijd aan het afstemmen van de eisen en de ontwerpfase en veel minder tijd aan implementatie en testen”. Olaf legt uit. “Als je het model hebt geperfectioneerd, heb je veel minder handenarbeid nodig. Bovendien dwingt de MDE-aanpak je om completer te zijn op requirements-aspecten, in een taal die alle betrokken disciplines begrijpen. Het zal op de lange termijn leiden tot efficiëntie, maar het kost tijd om MDE toe te passen. Het vereist dat alle disciplines op een andere manier werken. De eerste paar projecten die je doet met MDE zijn serieuze investeringen voor een bedrijf”.

Het denken over de essentie tijdens een teaminspanning

Olaf brengt deze nieuwe manier van werken regelmatig in de praktijk. Zo werkte hij onlangs aan een MDE-project voor een groot bedrijf in de regio Brainport Eindhoven dat erop gericht was een deel van de machine die het bedrijf produceert te verduurzamen. “Op dit moment besteed ik 1,5 dag van mijn tijd aan het enthousiasmeren van anderen en besteed ik ongeveer twee dagen aan het ontwikkelen van modellen, de rest van mijn tijd besteed ik aan onderzoek. Wat ik leuk vind aan de manier waarop de MDE-aanpak mijn rol heeft veranderd, is dat je intensiever met andere rollen werkt. Het is echt een teaminspanning geworden, interactie staat centraal en je werkt nauw samen. Bovendien hou ik van puzzels. Als je MDE gebruikt, denk je echt na over de essentie.”

“Lang geleden heb ik geleerd om me op de traditionele manier te ontwikkelen.” “Maar ergens onderweg realiseerde ik me dat het gewoon niet efficiënt is en dat het tijd is voor een verandering. Je moet het proces en iedereen die erbij betrokken is op elkaar afstemmen. En dat is wat je doet met MDE.”

Een werkelijke transitie in de markt moet nog komen

“In mijn rol als operations manager ben ik minder betrokken bij technologie dan Olaf,” vervolgt Ronald. “ICT bouwt haar netwerk op met bedrijven die ook geïnteresseerd zijn in de MDE-methodiek. Je moet samenwerken. Software engineers met het juiste profiel zijn schaars en moeten worden opgeleid. Bij ICT Groep huur ik ontwikkelaars in die met MDE werken en zorg ik ervoor dat ze goed opgeleid zijn. Iets wat voor MDE niet eenvoudig is, omdat er op dit moment maar een paar partijen zijn die goed opgeleid zijn. MDE-onderwijs staat nog in de kinderschoenen”.

“De ICT Groep investeert veel in Model Driven Engineering,” zegt Ronald, “maar het is nog steeds aankomend; de echte transitie in de markt moet nog komen. Daarom zie je dat bedrijven naast hun reguliere processen beginnen met kleine pilotprojecten en de aanpak geleidelijk aan uitbreiden. Toch geloof ik dat MDE de toekomstige methodologie voor de ontwikkeling van software zal zijn”.

HTSC

HTSC

Het High Tech Software Cluster is een samenwerkingsverband van ruim 30 innovatieve softwarebedrijven, onderzoeksorganisaties en onderwijsinstellingen die u ondersteunen om de digitalisering van uw bedrijf betaalbaar en praktisch te maken.

Lees meer
Schrijf je in voor onze nieuwsbrief en ontvang updates.