Software ontwikkelen is niet gemakkelijk, bijblijven ook niet. Dit bleek weer eens bij de RAD Race van Software Release Magazine. Dit jaar lag de lat nog wat hoger door de nadruk op nieuwere tools en talen.
De RAD Race is voor de tweede keer op rij gewonnen door CrossmarX, met de eigen op Java gebaseerde Application Engine. Tweede werd een team van Finalist IT Group dat Ruby on Rails gebruikte. Ook dit team haalde dezelfde plaats als het jaar daarvoor. Teams die nieuwe tools en talen gebruikten, leverden verreweg de beste prestaties.
Vijf jaar geleden nam Software Release Magazine de fakkel over van het inmiddels ter ziele gegane tijdschrift CM Corporate en organiseerde het de RAD Race voor de eerste keer zelf. De toenmalige uitslag van die wedstrijd was nogal onthutsend: teams die werkten met oudere RAD-tools (Rapid Application Development) als Clarion en Magic scoorden veel beter dan teams die nieuwe technologie gebruikten.
Vorig jaar kondigde zich echter een nog nieuwere generatie aan en deze neemt nu de eerste zes plaatsen in van het totale aantal van elf. De verschillen met de resultaten van voorgaande jaren hebben ook te maken met de opgave die in de loop der jaren is geëvolueerd. Langzaam maar zeker is er meer nadruk komen te liggen op gecompliceerdere business-logica en minder op de dataset.
Webwinkel
Om de deelnemers zo veel mogelijk gelijke kansen te geven, werd twee dagen voor de wedstrijd bekendgemaakt dat de opgave bestond uit het schrijven van een applicatie voor een webwinkel. Op donderdagochtend om 8.00 begon de wedstrijd en werd duidelijk dat de webwinkel digitale fotocamera’s en bijbehorende objectieven verkocht.
Tegen de lunch bleken de teams tussen de 8 en 14% van het totale puntenaantal behaald te hebben. Gemeten naar standaardfunctionaliteit was er echter al een indrukwekkende hoeveelheid werk verricht. Ongetwijfeld waren nog niet alle integriteitsregels geïmplementeerd. De scores van de teams op dat moment waren dan ook deels te verklaren uit verschillen in bescheidenheid. Toch is het een flinke prestatie om binnen vier uur een webwinkelapplicatie te produceren met een afwijkende vorm en assortiment.
Om 15.00 uur zaten de beste teams al op meer dan 25% van het maximumaantal te behalen punten. Concreet betekende dit dat ook het winkelmandje nu werkte en dat sommige teams al begonnen waren aan het moeilijkste gedeelte van de opgave: de virtual salesman. Opvallend was dat de beide Ruby-teams nu een vrijwel gelijk aantal punten gescoord dacht te hebben. De teams zouden qua puntenaantal vanaf dat moment tot zelfs na de jurering gelijk opgaan.
Het einde van dag één gaf een verwarrend beeld: veel teams hadden het ‘klassieke’ deel van de applicatie vrijwel af en ook al een groot deel van de nieuwere onderdelen. Anders dan bij voorgaande jaren was het noodzakelijk een aantal aanpassingen en uitbreidingen op de opgave ook werkelijk uit te delen. Aan de andere kant beweerde een team dat het moeilijkste gedeelte van de opgave niet op te lossen zou zijn.
Miljoenen combinaties
De moeilijkheid zat in een module waarin de virtual salesman sets van objectieven moest kiezen die geschikt zijn voor reisfotografie. Deze set-keuze moest gebeuren op basis van een vijftal criteria, waarna de virtuele verkoper de sets moest ordenen, volgens dynamisch te veranderen wegingsfactoren, op combinaties van die criteria. Voor alle criteria waren berekeningen nodig en de moeilijkheid van de opgave bestond er vooral in dat het aantal mogelijke combinaties van objectieven in de miljoenen kon lopen.
Uit de resultaten van de verschillende teams, blijkt vooral dat – anders dan een paar jaar geleden – de modernere tools en talen het beter doen. De op het eerste gezicht zo verschillende nieuwe generatie winnaars blijkt een belangrijke overeenkomst te hebben. Anders dan de oorspronkelijke RAD-tools werken ze met open standaarden en produceren code die binnen het Java en/of .Net platvorm volledig ondersteund wordt.
Gecombineerd met de hoge productiviteit levert dat een aantrekkelijke combinatie op: best of both worlds. Dat geldt voor CrossmarX en de beide Ruby-teams, maar ook voor Outsystems en Servoy. Qua productiviteit geldt het in iets mindere mate voor Genwise en Unisys, maar dit zal naar verwachting bij beide tools nog toenemen.
De nieuwste editie van de RAD Race, wederom gehuisvest door Capgemini in diens Accelerated Delivery Center, laat over de gehele linie een vooruitgang zien. In die zin hebben alle deelnemers gewonnen; ze hebben bewezen onder druk een zeer hoge productiviteit te kunnen leveren. Daarmee onderscheiden ze zich in gunstige zin van gangbare it-projecten.
Dré de Man