De RAD Race heeft een lange traditie: dit jaar is de zeventiende editie en de eerste vond plaats in 1997. In het begin domineerden de case tools maar al snel volgenden 4GL’s, later kwamen daar de nieuwere talen met frameworks bij, compacte talen als Ruby en programma’s die al dan niet op basis van modellen code genereerde of bestaande code configureerden. De winnaar van dit jaar, Nout, heeft dan ook als motto: programmeer niet, parametriseer (‘ne programmez pas, parametrisez’).
Nout heeft natuurlijk het gelijk van de winnaar aan zijn kant. De geschiedenis van de RAD Race bevestigt het gelijk van Nout nog eens. De teams die het allerbeste scoorden in al die jaren, waren steeds teams die modelleerden en configureerden en niet programmeerden. De teams die programmeerden met een conventionele taal als C++, Java of C# zonder veel hulp van frameworks die het programmeerwerk tot het uiterste beperkten, presteerden slecht.
4GL
Compacte talen als Ruby, python, et cetera en in een heel ver verleden Cobol, hebben in het verleden bewezen te kunnen concurreren met andere oplossingen maar lieten het dit jaar om welke reden dan ook afweten. Aan de andere kant zagen we twee namen die nog bijna uit de begintijd van de RAD Race stamden, in it-termen een eeuwigheid geleden: Progress en Uniface. Het team van Progress gebruikte echter niet de moderne versie van de 4GL, maar Rollbase, een door Progress overgenomen drag en drop-oplossing die in de categorie van nieuwe tools hoort. Rollbase produceert overigens Java- en Javascriptcode en Java-script. Verder gebruikte het team onder andere Open Edge. Uniface daarentegen werkte met Uniface 9.7, de allernieuwste versie van de oorspronkelijke 4GL. 4GL’s zijn ook compact en veel standaardfunctionaliteit wordt geconfigureerd. In loop der jaren is er echter heel veel moderne functionaliteit bijgekomen met name in het Uniface-platform zodat de applicaties zich bijvoorbeeld heel erg thuis voelen in de cloud. De komende dagen komen we hier waarschijnlijk nog op terug.
De wedstrijd van dit jaar betrof een applicatie om geld te werven voor goede doelen (deze zal later ook algemeen beschikbaar worden). In eerste instantie was dat via een zogenaamd eetfeest (een Belgisch fenomeen) maar op dag twee van de race kregen de teams nog de opdracht om meerdere events mogelijk te maken en er nog een geheel ander evenement aan toe te voegen. Voor de beste deelnemers was dat laatste geen probleem, de meesten kwamen er echter niet meer aan toe.
C++
Nout won in de eerste plaats doordat ze de toch pittige opgave niet alleen binnen de gestelde tijd, geheel conform specificaties en met op een piepklein detail na werkende functionaliteit opleverde met extra functionaliteit (zie het artikel van gisteren). Het team van Nout, Miren Lafourcade en Jérôme Olivares, maakte gebruik van een eigen in C++ geschreven kern, Nout Builder, waarmee ze bouwstenen configureren die onder meer in html, Javascript en in toenemende mate in html5-applicaties opleveren. Er wordt niet geprogrammeerd, maar uitsluitend geconfigureerd.
Thinkwise werkte met een datamodel dat in een reeks van databases in principe willekeurige programmeertalen applicaties genereert. Er wordt geconfigureerd maar er kunnen code-snippets worden toegevoegd die bij iedere nieuwe applicatiegeneratie behouden blijven. Nu was dat C#, maar in theorie zou dat ieder andere taal kunnen zijn. Dat maakt het tool bijzonder toekomstbestendig. Door de grote aandacht voor business rules is het tool ook in dat opzicht klaar voor de toekomst. Jasper Kloost en Anne Buit van Thinkwise toonden zich blij verrast door de goede score en trokken bovendien conclusies uit de Race op basis waarvan ze verwachten volgend jaar te kunnen winnen.
Capgemini en Progress
Nummer drie was een team van Capgemini, Robbert van der Pas en Hans Harts, met onder andere Visual Studio 2015, Resharper, Xamarin Studio, Xforece en Salesforce. Ook hier werd gemodelleerd en het bijzondere was dat de applicatie vooral geschikt was voor mobile, al kan in principe iedere user interface gebruikt worden. Het team deed vorig jaar ook al mee maar scoorde toen veel minder hoog. Ervaring zowel in technisch als in tactisch opzicht loont, zo blijkt steeds weer.
Ook Het team van Progress slaagde erin de applicaties met de wijzigingen van dag twee af te krijgen. Het werkte met het Progress Rollbase-platform. Met name de manier waarop leveranciers gevarieerd konden worden was goed uitgewerkt, de jury was gecharmeerd maar het team had ook een paar aannamen gemaakt tijdens de bouw die zich later wreekten. In een echt project hadden die in goed overleg met de project owner waarschijnlijk vermeden kunnen worden.
Timeline en Incode.org
Bij Timeline werd gewerkt met een eigen tool dat in feite ontwikkeld is om zeer specifieke erp-oplossingen te schrijven voor om het even welke branche, TimeLine Neo/Developer en met de bijbehorende TimeLine Server. Verder werd onder andere met VS Studio gewerkt. De structuur zat goed in elkaar en de jury was gecharmeerd van de duidelijke en fraaie schermlayout. Het team had een redelijke hoeveelheid functionaliteit af die er verder qua structuur en user interface zeer goed in elkaar zat.
Jeroen van der Wal en Dan Haywood van Incode.org wisten met hun eigen opensource-oplossing ook goed te scoren. Zij werkten met Intellij IDEA en Apache isis, een open source ontwikkelframework voor Java dat werkt volgens de principes van Domain Driven Design en Naked Objects. De kracht van het framework is dat je alleen voor de domeinlaag code schrijft en dat de user interface, database en restful api in run-time gegenereerd worden. Het team zou een stuk beter gescoord hebben, ware het niet dat het heel veel tijd verloor met de data-import, overigens een vrijwel iedere jaar terugkerend probleem bij één van de teams.
De basis van de door het team van Uniface gebouwde applicatie was heel goed. Een van de juryleden was er zelfs heel erg door bekoord. Toch had het team om welke reden dan ook minder geproduceerd dan de hoger geëindigde deelnemers en ontbraken essentiële zaken als de prijzen in de rapportage.
Mendix
Dat gold in nog sterkere mate voor het Capgemini-team, dat werkte met Mendix. Op de achtergrond waren heel veel zaken bijna klaar maar het team kon weinig functionaliteit tonen. Jammer, want Mendix is nu juist erg geschikt voor situaties als deze. Het team was zich echter ook erg bewust van de eigen tekortkomingen: er was te weinig (goed) overlegd en geanalyseerd. Het deed in dat opzicht denken aan het team van Capgemini van vorig jaar, dat het dit jaar zoveel beter deed.
Alle teams gaven aan dat ze enorm veel geleerd hadden. Zo gaf Nout aan dat het plannen maakte om sommige goede eigenschappen van het tool van nummer twee, Thinkwise, in hun product te integreren, net zoals Thinkwise overwoog sommige eigenschappen van Nout ter inspiratie te gebruiken. Zo doet de RAD Race precies dat wat er van verwacht zou mogen worden: het stoot bijna als een Formule 1-race de it-bedrijven op om hun tools zo ver mogelijk te perfectioneren. Voor de jury is dat alleen maar winst: zij zien vanaf een comfortabele afstand hoe de pijnloze toekomst van applicatieontwikkeling langzaam werkelijkheid wordt.
Jury
De RAD Race vond net als voorgaande jaren op 25 en 26 september plaats bij Capgemini in Utrecht. De jury bestond uit wedstrijdleider en RAD Race-initiator Ivan Verborgh, Peter Vantieghem, ict crisis en interim manager, Peter Van den Neucker, directeur afdeling BI, Applicaties en Procesondersteuning, Systemen en Interne Automatisering en LAN-WAN en Dré de Man, (it-)journalist, fotograaf en auteur.