Development / Opinie
Heeft model driven offshore toekomst?
Portfolio manager
Expert van Computable voor de topics: Beheer en Development
MeerDe toepassing van model driven architecture/development samen met offshoring combineert de voordelen van een hoge productiviteit met de voordelen van lage arbeidskosten.
Het modelleren en genereren van applicaties heeft een nieuwe impuls gekregen door model driven architecture (MDA). MDA is ontwikkeld door de Object Management Group en definieert een raamwerk van modellen voor softwareontwikkeling. Het idee achter MDA is vertrouwd: eerst wordt het systeem op een hoog abstractieniveau gemodelleerd, vervolgens wordt het systeem volledig in modellen gespecificeerd op basis waarvan een complete, werkende applicatie wordt gegenereerd.
Omdat MDA in zijn zuivere vorm als academisch wordt ervaren, spreken we liever over model driven development. Kern is en blijft een modelgedreven benadering voor softwareontwikkeling. Bij de toepassing ligt de nadruk op het modelleren en neemt het belang van handmatig coderen af. Bovendien maakt de applicatiegenerator het mogelijk dat de software-engineer zich kan richten op de belangrijke delen van de applicatie en zich minder hoeft bezig te houden met de technische details onder water. Dit bewerkstelligt een aanzienlijke verbetering van de productiviteit en vereenvoudigt het applicatieonderhoud.
Eén van de tekortkomingen van model driven development is de businesslogica.
Het modelleren van structuur gaat goed. Op basis van deze structuurmodellen zijn ontwikkelomgevingen in staat om werkende applicaties te genereren, maar waar het vaak aan schort is het genereren van de businesslogica (de ‘business rules'). Dat is ook lastig voor de tool-leveranciers bij gebrek aan een duidelijke standaard voor het specificeren van businesslogica. In het verleden zijn hiervoor wel methoden ontwikkeld, maar het is nooit echt doorgebroken. Hoeveel van onze software-engineers in Nederland zijn bekend met predicatenlogica, Infomod of met OCL?
Dus wat doen we bij gebrek aan beter: we specificeren de businesslogica in Word-documenten en programmeren deze handmatig in C# of Java. En dat is arbeidsintensief en gaat natuurlijk ten koste van de productiviteit. Ah, maar wanneer iets arbeidsintensief is, dan doen we dat bij voorkeur in India. En zo is model driven offshore geboren en worden de voordelen van model driven development gecombineerd met de voordelen van offshoring.
Model driven offshore: een woordspeling of nabije toekomst?
Model driven development is een van de belangrijkste innovaties om uit dit dal te komen (applicatie frameworks is een van de anderen). Maar aan een model driven invulling zoals hij door Derek Roos wordt gegeven (Mendix en aanverwante) kleven echter een paar belangrijke nadelen samengevat in het woord 'proprietary'
Dit betekent dat:
1) Er vendor lock-in ontstaat.
2) Men voor de nieuwe features, innovaties, platform support, etc, afhankelijk is van het humeur van de leverancier.
3) De kennis van het tool niet breed beschikbaar is.
4) De applicatie vaak een 1-size-fits-all user interface heeft.
5) De uitbreidbaarheid van het tool vaak beperkt en onvriendelijk is.
Je zou kunnen zeggen dat dit de oude bekende 4GL-tools zijn, maar dan in een modern jasje. Als dit binnen de context van een gezocht oplossing acceptabel is dan kan het prima voldoen.
Een ander, en mijn ogen betere, benadering is om de het model/DSL en de executie van het model in eigen hand te houden. Door de inzet van een open model driven framework en de vertaling van het model/DSL naar source code op een gewenst (open) platform worden de geschetste nadelen vermeden.
Veel open tools zoals bijv. Open Architecture Ware is een zogenaamde DSL tool. Dit betekent dat het prima ondersteuning biedt voor het defini?ren van je eigen domein specifieke taal en het defini?ren van transformaties naar code. Dit betekent echter ook dat je zelf je volledige model gedreven ontwikkelstraat moet inrichten inclusief taaldefinities, transformaties en runtime componenten. Dit vraagt om hoog nivo personeel die met dat abstractie / meta nivo om kunnen gaan. Verder moet er aan gedacht worden dat er al snel vijf of meer DSLs nodig zijn om een software systeem op het gewenste abstractie nivo te modelleren.
Natuurlijk is een tool als Mendix in zekere zin proprietary, er moet ergens geld mee verdiend worden. Er zijn echter heel wat maatregelen genomen om de bovengenoemde nadelen van 4GL tools te omzeilen:
1) Er zijn meerdere DSLs gedefinieerd die samen de applicatie modelleren.
2) Waar mogelijk zijn deze DSLs gedefinieerd op basis van open standaarden.
3) De runtime omgeving is volledig modulair en uitbreidbaar middels java code.
4) De user-interface kan volledig gecustomized worden en het is mogelijk om zelf widgets te defini?ren.
5) Er zijn integraties met bijvoorbeeld Backbase, hiermee gaat een wereld aan widgets open.
6) De modelleeromgeving kan modellen importeren uit business modeling tools als Bizzdesign.
Onze ervaringen met offshoring naar India leert de kennis overdracht moeizaam verloopt. Daarmee zullen de totale kosten niet lager zijn, maar gelijk of zelfs hoger kunnen uitvallen door extra werk druk op project management, extra werk druk op testen en extra werk druk op communicatie. Als professional doen wij er van alles aan om miscommunicatie te voorkomen. We beschrijven in proza de behoefte. We stemmen ons woordgebruik af in een domein specifieke lijst van termen en definities. We werken de behoefte uit in smart requirements. We visualiseren deze requirements in modellen. We gebruiken model simulaties om vroegtijdig omissie te tackelen etc. Dan nog is de praktijk weerbarstiger, veranderd de behoefte door wetgeving, voortschrijdend inzicht etc. Er ontstaat met andere woorden opnieuw behoefte aan communicatie. Niet voor niets is vandaag aan de dag AGILE om die reden populair. Een methode om samen met de gebruiker snel de behoefte te formaliseren in een werkende applicatie. De combi goed voorwerk, en een Business Driven Power-tool zoals de Nederlandse innovaties van bvb Mendix, Uniface staat garant voor hoge effectiviteit, lage kosten en uitmuntende kwaliteit en vanzelfsprekend een uitstekende ROI. Binnen beide producten kunnen de business rules voldoende transparant op model niveau worden opgenomen. Met andere woorden heeft u de behoefte om snel te kunnen inspelen op de markt, zet dan in op een powertool en een professional. In praktijk blijkt de productiviteit van deze combi schrik niet een factor 10 hoger dan het traditioneel ontwikkelen van deze functionaliteit in .NET en JAVA. Kosten besparen, sneller kunnen reageren op de markt dat kan gewoon hier met Nederlandse innovaties.
Wat zijn we als ict'ers toch goed in het bedenken van oplossingen. Vaak gaan we voorbij aan het werkelijke probleem, liever gaan we lekker oplossingen realiseren. Maar of die ook werkelijke het probleem oplost?. Ik pas dagelijks onze TOC-aanpak toe om eerst het werkelijke probleem te bepalen; daarvan leid ik een zo gericht mogelijke oplossing af.
Door Kraanenburg wordt gesteld dat MDD tekort schiet in het ontwerpen van de business logica, waardoor uitschrijven en programmeren arbeidsintensief blijft. Daarop volgt de snelle oplossing: dan maar uitbesteden naar het buitenland.
De kern van het probleem is simpelweg dat de gekozen MDD oplossing niet in staat was de business logica eenduidig vast te leggen. In plaats van dit probleem op te lossen, wordt gekozen voor iets dat mij een uitvlucht lijkt. Het is arbeidsintensief, dus: offshoren dan maar! Het probleem blijft.
Een MDD wordt pas een goede oplossing als het in staat is ook de business logica te defini?ren. En dat kan mijns inziens niet offshore uitgevoerd worden, want de business (de mensen hier dus) is nodig om de logica te specificeren.
De praktijk kan weerbastiger zijn, maar dan moet je jezelf afvragen of MDD toegepast kan worden. Als MDD niet toegepast wordt, dan is offshoring weer een goed middel.
De moeilijkheid van MDA is het simplificeren zonder daarbij teveel detail te verliezen. Als er teveel detail verloren gaat dan is er nog veel codeerwerk nodig. De complexiteit van MDA daalt naar verloop van tijd door toename van kennis en kan daarna weer worden uitgebreid. De volgende stap met DSL tools is een goede, maar ik verwacht dat het nog enige tijd (en kennisverspreiding) zal vergen voordat hier meer mee gedaan wordt. De MDA manier van werken is echter communicatie-intensief en dat in combinatie met offshore werken is eerder het toevoegen van een extra complexiteit dan het ei van Columbus.
Een fysieke offshore - afstand scheppen tussen Business en de ontwikkelaars is het introduceren van een extra projectrisico. Business logica is in dat verband te modelleren middels BPM en BRM concepten en we zien daarom dan ook veel onderzoek in de richting van combinaties van MDA met BPM/BRM. Een van de grote struikelblokken van MDD/MDA blijft het proprietary karakter van de beschikbare modelleer-tooling. Anders dan bij BPM (met BPMN) blijft een werkelijk ge?mplementeerde open standaard een onvervulde wens. Dus een groter risico bij offshore trajecten en dat moet je niet willen. Om al deze redenen is een doorbraak van Model Driven Offshoring niet alleen onwaarschijnlijk, maar ook onnodig. Zeker niet doen als de on site ICT organisatie geen CMMI level 2 heeft met goed ingerichte Requirements Management!
Om dit op te lossen moet gekozen worden voor een modernere testtechniek zoals exploratory testing. Belangrijk is dan dat de tester weet wat de klant van het eindproduct verwacht. Er is derhalve regelmatig klantcontact nodig. Alleen als er een situatie gecre?erd kan worden waarbij de business er geen probleem mee heeft om regelmatig contact met een offshore partij te hebben, dan is (deels) offshore testen bij MDA/MDD een mogelijke optie.
- 09:01 Oracle Primavera staat nog in de steigers
- 16:07 CBR vernieuwt PDA's na backofficeprobleem
- 10:18 Zakelijke tablet-PC's met aanraakscherm van HP
- 09:51 Intel introduceert Xeon processor 5600
- 08:54 Microsoft Office Enterprise Project Management
- 10:43 Autisten krijgen 130.000 euro startkrediet
- 09:37 HP PPM Center faalt op rapportagebied
- 09:00 Mobillion komt met videoplatform voor bedrijven
- 10:42 Grip op de onbekende
- 11:02 BI op waarde geschat
Kwaliteit en agile software development
Agile is “hot”. Agile projecten beloven sneller software te leveren, die na elke iteratie onmiddellijk in......
SAP-maatwerk, duur beheer
Als er veel wordt gesleuteld aan een SAP-applicatie, zorgt dat voor hogere beheerkosten na het project. Maar het is lastig aan de organisatie duidelijk te maken dat maatwerk niet altijd de beste oplossing is.
Meer maatwerk bij SAP maakt beheer duurderZakelijke tablet-PC's met aanraakscherm van HP
17-03 10:18 HP introduceert twee tablet-pc's met touchscreen voor zakelijke gebruikers. Daarnaast is de ProBook-serie uitgebreid met drie modellen die geschikt zijn voor zowel grote- als...
Development productenBol.com ontwikkelt sneller nieuwe applicaties
01-03 11:14 In de strijd om de beste business cases van 2009 heeft ook Xebia een inzending gedaan. Met het project 'Bol.com' dingen zij mee naar de prestigieuze Computable-prijs. Het...
Development praktijk'HRM-software kan nog volop verbeterd worden'
17-02 10:15 De afgelopen jaren heeft de ontwikkeling van hrm-software zo goed als stil gestaan. Dat meent althans Jan Hoogstra van KPMG IT Advisory. KPMG deed onderzoek naar de...
Development achtergrondGrip op de onbekende
14-03 10:42 Als testers moeten we steeds vaker op basis van minder concrete input gaan testen. De klant neemt besluiten/risico's om zo snel mogelijk naar de markt te kunnen. Men weet vaak...
Development opinie

