'Extreme programming' verzwakt architectuur
Rick van der LansEnkele maanden geleden kreeg ik ineens de behoefte een klein programma te schrijven om backups van mijn eigen bestanden te maken. Ik had al wat bestaande producten bekeken en die voldeden niet aan mijn wensen. Dapper besloot ik om het zelf te gaan schrijven. Het leek me ook een leuke vingeroefening.
Initieel besloot ik om het in C# te schrijven met gebruikmaking van Visualstudio.Net, maar dat werd al snel te veel code. Voordat ik het in de gaten had, had ik al twee pagina's met C#-code, terwijl er niets gebeurde. Het leek me verstandiger om over te stappen op een 'scripting'-taal. Eerst dacht ik aan Python, maar in mijn speurtocht naar de Python-cd viel mijn oog op Rexx. Deze oude 'scripting'-taal stamt nog uit het mainframe-tijdperk. Waarom niet, dacht ik. Ik had nog nooit met deze taal geprogrammeerd, dus dat zou het gelijk een extra uitdaging maken.Bij de ontwikkeling heb ik zoveel mogelijk de xp-principes (extreme programming) toegepast. Het resultaat is een programma van nog geen honderd regels met een eenvoudig te onderhouden en goed geteste structuur. Dit compacte programma, dat nu elke dag een incrementele backup maakt, heeft echter geen architectuur. Het slaat geen gegevens op in een database, gebruikt geen applicatieserver, beveiliging speelt geen rol, en is niet uit drie lagen opgebouwd; het is een recht-toe-recht-aan programma.
Had ik xp kunnen toepassen als het programma wel op een degelijke softwarearchitectuur had moeten steunen? De meeste administratieve informatiesystemen hebben dat namelijk wel nodig. Als een programma door honderden gebruikers benaderd wordt en een centrale database manipuleert, is een doordachte softwarearchitectuur vereist.
Van de 'agile' methodieken is xp waarschijnlijk de bekendste. Kenmerkend is een aantal sterke principes. Sommige zijn uniek voor xp, andere kennen we nog van oudere methodieken. Voor mijn kleine backup-programma was xp goed toe te passen. Het is ook geschikt voor veel grotere projecten. Net als elke methodiek heeft het echter ook zwakke kanten. Eén daarvan blijkt als het programma een complexe onderliggende en dragende softwarearchitectuur moet hebben. De hoge iteratiegraad en het 'user-story' gedreven werken leiden ertoe dat aan het begin niet altijd voldoende over de architectuur nagedacht wordt.
Vorig jaar verscheen een boek met de intrigerende titel Extreme programming refactored: the case against XP geschreven door Matt Stephens en Doug Rosenberg. Ik ben zelf een groot voorstander van xp en dergelijke methodieken, dus dit leek me een spannend boek. Er zijn al veel boeken over xp geschreven (bij Amazon krijg je op deze twee woorden meer dan twintigduizend hits). Allemaal vertellen ze hoe krachtig deze revolutionaire aanpak is. Dit boek is een uitzondering. Het geeft de zwakke plekken haarfijn aan. De auteurs schrijven dat het lastig is om met xp een geschikte softwarearchitectuur uit te dokteren. In de meeste boeken over xp zijn de voorbeelden dan ook altijd programma's waarvoor een architectuur niet echt nodig is.
Iemand die zich bezighoudt met systeemontwikkeling, of hij nu in het voortraject zit of de code moet intikken, hoort verschillende methodieken te kennen, waaronder xp. We horen ook te weten wat de sterke én zwakke eigenschappen zijn, en wanneer xp al dan niet ingezet hoort te worden. Aan het gebruik kleven risico's en de architectuur is er daar één van. Het blind en haast fundamentalistisch toepassen van een methodiek is altijd al naïef geweest. Een methodiek is als een stuk gereedschap; je moet weten wanneer je hem wel en niet kunt inzetten. Misschien moeten we initieel met een wat klassiekere methodiek de architectuur analyseren en ontwikkelen, om vervolgens de programma's met xp uit te werken.< BR>
Rick F. van der Lans is onafhankelijk adviseur, een internationaal bekend spreker en auteur van diverse boeken, tevens gespecialiseerd in softwareontwikkeling, datawarehousing en internet.
10-02 Van Vliet: Zonder internet geen welvaart
06-02 De kijk van Van Eijk: Sleutels weg
01-02 Spoelstra spreekt: Het is helemaal geen crisis
27-01 Van Vliet: Geen e-bank, geen bonus!
23-01 De kijk van Van Eijk: Technologie is een risico
18-01 Spoelstra spreekt: Flut hackers
15-01 Van Vliet: Uit het web
02-01 De kijk van Van Eijk: Onvermijdelijke vooruitgang
28-12 Spoelstra spreekt: Het verschil
23-12 Van Vliet: Politie.nl kent geen cybercrime
10-02 Tester Four Oaks in Israëlische handen
10-02 Nieuwe software brengt Vitens in problemen
08-02 Nokia verplaatst smartphoneproductie naar India
08-02 'ICT-afdeling is te traag voor ontwikkeling apps'
06-02 Banometer: Topstart vacaturemarkt krijgt vervolg
06-02 Duitse PMCS.helpLine neemt Leidse MCH+ over
03-02 Siemens PLM Software introduceert Jack 7.1
03-02 Itemis betreedt Nederlandse markt via Warmer IT
01-02 Microsoft-partner Asapnet zet IT-University op
01-02 Kwaliteitscontroleur is nog geen testprofessional
|
|
Gemeenten en ICT besparingen
Sommige gemeenten wijzigen hun autonome ICT omgeving in een samenwerkingsverband met als doel het verlagen van ICT......

