“…Ik had verwacht dat we sneller tot een goed werkende applicatie waren gekomen…”
Dit horen we vaak in de praktijk over de prestaties van RAD-tools (Rapid Application Development). De belofte van deze RAD-tools is dat organisaties sneller en betere maatwerk applicaties ‘in elkaar kunnen klikken’. De programmeur die die code inklopt is immers niet meer nodig en alle benodigde onderdelen zijn beschikbaar binnen de tool. Hoewel ik een GROOT voorstander ben van het gebruik van RAD-tools, wil ik in deze blog graag een aantal misverstanden over deze tools uit de weg helpen. Daarnaast zal ik ingaan op de rol van maatwerk applicaties en de integratie met andere applicaties binnen het applicatielandschap.
A fool with a tool is still a fool.
Wat mij betreft is een van de grootste misverstanden het idee dat je ‘vanzelf’ sneller de mooiste applicaties kunt bouwen door de inzet van een RAD-tool. Op zich kan dat natuurlijk wel, want daarvoor zijn dit soort tools ook ontwikkeld en zo razend populair. Echter, je hebt (nog steeds) goede developers nodig om hiermee goed werkende en passende applicaties te bouwen.
Succesfactoren voor het maken van een applicatie
Bij het ontwikkelen van een applicatie moet je
- kunnen bedenken hoe een gebruiker de applicatie wil gebruiken
- in staat zijn om een datamodel uit te werken waar de applicatie gebruik van gaat maken
- slim kunnen uitwerken hoe de processen en/of workflows binnen een applicatie gaan werken
- bedenken welke onderdelen van de totale applicatie bedoeld zijn om achter een bureau via een webbrowser te gebruiken en welke onderdelen op een mobiel device zoals een smartphone en tablet gebruikt moeten worden
Allemaal zaken die een tool niet van een developer overneemt.
Voordelen van RAD-tools
RAD-tools hebben slimme onderdelen waar een developer heel gelukkig van wordt. Zo hoeft een datamodel niet apart ontworpen en gedocumenteerd te worden. Je bouwt het model binnen de tool en daardoor kun je het volledig benutten tijdens de ontwikkeling. Daarnaast bevat een goede RAD-tool slimme ontwerp- en implementeerfuncties om te bepalen wat de applicatie gaat doen als de gebruiker een handeling uitvoert (logica). Deze slimmigheden zijn veelal gericht op snelheid en kwaliteit. De developer bepaalt echter nog steeds of de applicatie echt slim wordt!
Maatwerk software mag!
“…Maar met een RAD-tool bouw je toch maatwerk en dat is toch niet meer van deze tijd?…” Ook dat horen we regelmatig. Daarnaast horen we “…Neem je processen als uitgangspunt en niet de systemen…”. Daar zijn we het mee eens. Dit impliceert dat maatwerk nodig is. Deze stellingen lijken tegenstrijdig, maar zijn dat mijns inziens niet.
De toepassing van RAD-tools naast standaard software
RAD-tools zijn geschikt om applicaties te ontwikkelen die de ontbrekende functionaliteit van het kernsysteem, zoals ERP of financiële systemen, invullen. Het kernsysteem blijft zo veel mogelijk standaard. Dit voorkomt dat bij updates van het kernsysteem aanpassingen van ‘aangeplakt maatwerk’ nodig zijn.
Unieke en urgente toepassingen
Naast het voorzien in unieke functionaliteit kan de RAD-tool ook benut worden om urgente zaken op te pakken. Voor een specifieke behoefte kan het kernsysteem gebruikt worden. Echter, in het gebruik vraagt dit veel tijd van gebruikers en zijn er hoge kosten aan verbonden. In dat geval is er domein software nodig die het proces voor gebruikers efficiënter maakt. De overweging is dan om standaard software hiervoor te selecteren (domein software) en in te zetten of een (RAD-)ontwikkeltraject in te gaan. De gevolgen van deze keuze kunnen substantieel zijn. Een zorgvuldig en weloverwogen keuzetraject wordt hier aanbevolen.
Maar het moet wel met elkaar kunnen praten…
In de meeste situaties zal een RAD-tool worden ingezet in combinatie met andere, bestaande applicaties. Je moet dus zorgen dat de applicaties die met behulp van de RAD-tool worden ontwikkeld, maximaal geïntegreerd worden met de andere applicaties. We onderscheiden in zo’n situatie grofweg twee vormen van integratie. Data Integratie waarbij gegevens van het ene systeem worden overgezet naar het andere systeem, eventueel met een bewerking daartussen. De tweede vorm is Applicatie Integratie waarbij de ene applicatie informatie uit de andere applicatie gebruikt.
Data integratie voorbeeld
Je wilt op een eenvoudige manier de gegevens van een nieuwe klant invoeren. In het ERP–systeem gaat dit omslachtig. In de RAD-applicatie wordt een ‘eigen’ klantentabel opgebouwd. Tegelijkertijd moeten nieuw ingevoerde klanten moeten ook worden aangemaakt in het ERP-systeem. Middels Data Integratie worden dan periodiek de klantgegevens gelezen uit de met RAD gebouwde klantentabel en toegevoegd aan de klantendatabase van het ERP-systeem.
Applicatie integratie voorbeeld
Het doel van de RAD-applicatie is om het openstaande saldo van een klant te tonen. In de klantentabel van de met RAD gebouwde applicatie is deze informatie niet beschikbaar, maar wel in het financiële systeem. Middels Applicatie Integratie wordt aan het financiële systeem gevraagd (door middel van het aanroepen van een API) wat het openstaande saldo van een bepaalde klant is, en dat wordt gepresenteerd in de met RAD gebouwde applicatie.
Applicatie én data integratie
Tenslotte bestaan er ook scenario’s waarbij beide gebruikt worden. Met behulp van Applicatie Integratie kun je data opvragen die je voor Data Integratie nodig hebt. Zo worden bijvoorbeeld vaak externe databronnen via Applicatie Integratie beschikbaar gesteld. Stel dat je in een eigen database gegevens over het weer wilt opslaan, dan haal je deze gegevens bij een externe databron zoals het KNMI op door middel van het aanroepen van een API en sla je die vervolgens op in je eigen database.
Uitdagingen in de praktijk
Vanuit onze ervaring zijn er aantal uitdagingen te verwachten bij de inzet van een RAD-tool:
- Hoe selecteer ik een RAD-tool?
- Wat gaan we ontwikkelen met een RAD-tool en wat (vooral) niet?
- Hoe stel ik het beste mijn team samen?
- Ga ik voor SCRUM of toch voor een andere Agile aanpak?
- Hoe ga ik mijn Data Integratie en Applicatie Integratie vraagstukken oplossen?
Wil je verder van gedachten wisselen? Neem dan gerust vrijblijvend contact met ons op.