Angelo_Hulshout_06

Angelo Hulshout is consultant bij ICT Noviq.

2 May 2006

Ik heb net het themanummer van Bits&Chips over productiviteit achter de kiezen. Een onderwerp dat blijkens de gepubliceerde artikelen aan heel wat andere onderwerpen is gerelateerd. Het sluit daarin naadloos aan bij een artikel dat Barry Boehm in februari schreef in System Engineering, het lijfblad van Incose. Boehm is een man die al ruim veertig jaar meedraait aan de top van beide disciplines. Hij is onder meer de geestelijke vader van het spiraalmodel voor softwareontwikkeling.

In het artikel beschrijft hij een achttal trends voor de komende twintig jaar op het gebied van software-intensieve systemen en hun invloed op software- en systeemengineeringprocessen. De centrale boodschap is dat systemen en organisaties steeds complexer worden en we onze ontwikkelprocessen en organisaties moeten inrichten op kwaliteit voor de eindgebruiker. Niet erg vernieuwend als je het vergelijkt met andere recente publicaties, maar dat was Boehms doel ook niet. Hij gebruikt de acht ontwikkelingen om een nieuwe evolutie van het spiraalmodel te introduceren. Dat betekent dat hij dezelfde zaken onderkent die de laatste jaren ook door de grote Agile-promotors zijn genoemd en dat hij deze in zijn eigen procesmodel probeert onder te brengen. Interessant hieraan is dat hij door zijn lange loopbaan en zijn vele relaties uit tientallen maneeuwen aan ervaring kan putten en daaruit zaken meeneemt die een groot deel van de Agile-gemeenschap in mijn ogen bewust probeert te negeren.

Het Agile Manifesto (www.agilemanifesto.org) poneert een viertal stellingen waarmee de basis onder alle software-engineeringprocessen van de afgelopen veertig jaar wordt weggehaald. Deels terecht, want de processen blijken in de praktijk inmiddels te rigide en te tijdrovend, maar de aanhangers van het Manifesto slaan door in de andere richting. Zo geeft het Agile Manifesto als tweede stelling: ’Working software instead of documentation‘. Een punt waar ik de nodige vraagtekens bij heb. Een ton aan documentatie is geen werkend systeem, maar een miljoen regels code is niet zonder meer overdraagbaar aan een nieuw team van software-engineers.

De eerste stelling van het Manifesto, ’Individuals and interaction over processes and tools‘, is degene waar Boehm, niet geheel verrassend, het meeste over zegt – overigens zonder de stelling te benoemen. Hij identificeert twee groepen van mensen en hun aanpak: plangeoriënteerd en chaosgeoriënteerd. De Agile-strategie valt duidelijk in de tweede categorie. Op basis van praktijkvoorbeelden en onderzoekswerk concludeert Boehm dat vanaf een omvang van vijftig ontwikkelaars en een half miljoen regels code een Agile-aanpak niet meer werkt. Dan is een andere methode nodig met meer planning en discipline waarbij idealiter de voordelen van Agile (flexibiliteit ten aanzien van veranderende requirements en technologie) niet verloren gaan. In het model dat hij voorstelt is die mix aanwezig: werk incrementeel met een Agile-analyse en -beslissingsproces, waar requirements en architectuur worden gecontroleerd en vastgelegd, en zorg per increment voor een strak gepland constructie- of implementatieproces.

Dat laatste strookt waarschijnlijk niet helemaal met wat Extreme Programming, de meest extreme variant onder de Agile-smaken, voor ogen heeft. Voor de steeds complexere, multidisciplinaire systemen van de toekomst is het mogelijk wel wat reëler.

Persoonlijk ben ik blij dat deze oude rot met een nuchtere kijk nog eens van zich laat horen in een tijd waarin ons vakgebied van hype naar hype holt, en nog erger, van het ene uiterste naar het andere. Ik ben benieuwd hoeveel van Boehms visie waarheid wordt. Daarover meer in Bits&Chips nummer 8 van 2025.