Supersoftware maak je met teamwork

1 maart 2012

De vijf sterren van het wereldwijd opererende, gerenommeerde certificeringsinstituut TÜViT hoeft niet te betekenen dat de software ook perfect en optimaal is, wel dat het volgens de regelen der kunst in elkaar is gezet. De Amsterdamse Software Improvement Group (SIG), die de beoordeling voor TÜViT doet, kijkt onder meer naar de onderhoudbaarheid, functionaliteit, betrouwbaarheid en bruikbaarheid van de systemen (zie kader). Het gaf in 2009 en 2010 zeven andere Nederlandse organisaties vier of vijf sterren voor een softwareproduct. Ontwikkelaars zien de TÜViT-sterren als een publieke pluim voor hun inspanningen. Opdrachtgevers weten dat de onderhoudskosten van deze software lager liggen dan bij matige software van twee sterren. En het onafhankelijk oordeel over de kwaliteit van de software kan scheefgetrokken discussies tussen opdrachtgevers en uitvoerders snel rechttrekken.

Wat is de ‘Magische Mix’?

De vraag is: hoe sleepten die excellente ontwikkelteams vier of vijf TÜViT-sterren in de wacht? Drie van deze teams gaven inzage in hun ‘magische mix’. Het Havenbedrijf dat in eigen beheer het Havenmeester Management en Informatie Systeem (HaMIS) bouwt, een systeem voor handhaving van orde en veiligheid in de haven. Drie bouwteams van in totaal 28 mensen werken, ook nu nog, aan de ontwikkeling van het systeem. Een intern ontwikkelteam van de Rabobank bouwde de Management Console Bankhal (MCB) en kreeg daarvoor in 2011 vier sterren van TÜViT. SIDN (Stichting Internet Domeinregistratie Nederland) in Arnhem, het bedrijf achter .nl, realiseerde met drie teams bestaande uit eigen mensen en externen, onder eigen regie een nieuw domain registration system (DRS) en kreeg er vier sterren voor. Het DRS wordt gebruikt door zogeheten registrars om nieuwe .nl-domeinnamen te registreren en te wijzigen.

Agile Scrum goed voor kwaliteit

Opvallend is dat het Rotterdamse Havenbedrijf, Rabobank en SIDN alle drie de Agile Scrum-ontwikkelmethode hanteren. Het grote aandeel Agile-projecten in de door TÜViT gecertificeerde producten toont aan dat de opstellers van het Agile Manifesto een uitstekende manier om software te ontwikkelen hebben gevonden. Joost Visser, head of research van SIG, zegt dat hoge kwaliteit software inderdaad vaak geproduceerd wordt door teams die een Agile-aanpak gebruiken. “Kennelijk gaan de basisprincipes van de verschillende Agilemethoden goed samen met het produceren van hoge kwaliteit softwareproducten.”

Hans Balkenende was manager projectbesturing bij Rabobank tijdens de bouw van de managementconsole. Hij was verantwoordelijk voor 130 projectmanagers en de manier waarop hun projecten werden uitgevoerd. Inmiddels is hij manager Servicedesk GICT bij de bank. De vier sterren zijn voor Balkenende “het bewijs dat we het goed doen. Wij zijn op Agile Scrum uitgekomen omdat het goed bij onze open bedrijfscultuur past.” Amerik van Rijn is projectmanager van Rabobank en heeft drie Agile-projecten onder zijn hoede. “Ook met de Agile-methode kun je functionele fouten maken. Maar het is makkelijker om dichter te komen bij wat de klant wil, omdat je het voortschrijdend inzicht beter kwijt kunt.”

De Agile aanpak beviel ook SIDN meteen goed. “Het bevordert samenwerking, breekt de muren tussen afdelingen af en versterkt de betrokkenheid van de business”, zegt Fred Rodenburg, projectmanager bij SIDN. “De lijnen zijn kort, we zitten allemaal in één ruimte. Ontwerpers, testers en ontwikkelaars werken nauw samen om onduidelijkheden op te lossen en fouten te herstellen. Door directe betrokkenheid van de klant wordt een product gerealiseerd dat aan zijn wensen voldoet.”

Team is de sterkste troef

De magische mix van het Havenbedrijf, Rabobank en SIDN bevat in elk geval een eigen invulling van de Agile Scrummethode, die past bij hun organisatie. De HaMIS-projectorganisatie is apart gehuisvest in de Rotterdamse Waalhaven. Behoorlijk geïsoleerd gelegen in vergelijking met het World Port Center, het imposante hoofdkantoor van het Havenbedrijf op de Wilhelminapier in Rotterdam. “Daar pasten we destijds met onze Agile-werkwijze niet in”, vertelt Herman Hanekamp, ICT programmamanager Havenmeester Informatiesystemen. “Het aparte pand werkt goed voor ons. Hier ligt de focus helemaal op HaMIS. We zitten dicht op elkaars lip.”

“Omdat we zelf geen programmeurs zijn, hebben we die ingehuurd. We hebben veel aandacht besteed aan het vinden van de juiste mensen. Ze moeten goed kunnen samenwerken met gebruikers uit alle lagen van de Havenmeesterorganisatie. Dat is belangrijk, want er zijn grote verschillen. Op het hoofdkantoor is het heel anders werken dan wanneer inspecteurs aan boord van een schip op een hoekje van een tafel met een laptop moeten zitten. Dat moet een ontwikkelaar wel snappen.” Nu zijn er drie bouwteams, in totaal 28 mensen. “We hebben er veel energie in gestopt om er hechte teams van te maken, met teambuildingsessies bijvoorbeeld”, zegt Edwin de Werk, Projectmanager bij HaMIS. “Heel bewust hebben we ook de rollen en titels van de teamleden proberen weg te masseren”, zegt De Werk. “De status die een individu heeft als architect, tester of informatieanalist is in teamverband minder relevant. Ook al ben je een tester, je zit niet in het team om uitsluitend te testen. Je moet je rol breder opvatten. We werken hier met elkaar als geheel aan een product waar we allemaal trots op zijn.”

Ook Rabobank heeft veel aandacht voor de samenstelling van de teams. “We werken met stabiele teams”, zegt Hans Balkenende. “Een team krijgt hier een klus, we zoeken niet een team bij elkaar om een product te maken. We willen dat de teamleden elkaar kennen en goed op elkaar zijn ingespeeld. Men spreekt elkaar aan op het resultaat en geeft elkaar feedback. Er zijn teams die elke werkdag achteraf beoordelen door de dag een cijfer te geven.” SIDN greep een verbouwing van DRS aan om de onderhoudbaarheid van de software te verbeteren. “De nieuwe automatische interface voor DRS resulteerde erin dat we 80 procent van de software hebben vernieuwd”, vertelt Rodenburg. “Dit is uitgevoerd door Trivento, in nauwe samenwerking met SIDN. We werkten met drie bouwteams bestaande uit een informatieanalist, twee testers en drie programmeurs. In elk team zat één SIDN’er. Daarna hebben we ons eigen onderhoudsteam uitgebouwd omdat we in de oude situatie teveel afhankelijk waren van onze leverancier. Dit team bestaat uit vijf programmeurs en twee informatieanalisten aangevuld met testers uit onze testafdeling. We voeren nu alle verbeteringen aan DRS zelf uit.”

Vertrouwen en zelfopgelegde discipline

 “Buitenstaanders hebben wel eens de indruk dat er in Agile-projecten veel wordt aangerommeld”, zegt Hanekamp van het Havenbedrijf. “Zo van: ‘Iedereen doet maar wat.’ Maar dat is binnen HaMIS zeker niet het geval.” De HaMIS-teams voeren sprints van drie weken uit. In die tijd moet een productierijp product worden opgeleverd. “Dat vraagt de nodige focus en inspanning”, zegt De Werk. “We worden er steeds beter in. Onderling vertrouwen en respect binnen het bouwteam en de rest van het projectteam is heel belangrijk. Dat vertrouwen hebben we ook aangewakkerd.”

Ook Van Rijn van Rabobank wil het beeld rechtzetten dat het er in Agile-projecten losjes aan toe gaat. “Een idee voor een applicatie moet eerst voldoende uitgewerkt en beschreven zijn. Daarin staat hoe de applicatie eruit ziet, in welke taal het wordt gemaakt en welke database erbij moet komen. Dat vormt het fundament. Hiermee kunnen we beginnen met het in stappen uitwerken van de specificaties. Dus niet van A tot Z, maar van A tot C. Vervolgens worden die blokken in sprints gebouwd. We hebben een voorraad werk voor twee tot vier weken liggen, niet meer.”\

Betrokken business maakt tevreden

De betrokkenheid van de gebruikers is volgens de drie teams essentieel voor de kwaliteit van de software. De Rotterdamse havenmeesterorganisatie in het geval van HaMIS, de interne klanten van Rabobank die de producten gebruiken om de klanten van de bank te bedienen. Bij SIDN zijn de klanten externe partijen, de registrars die het domein registratie systeem gebruiken.

Binnen Rabobank is de kloof tussen IT en de business aan het verdwijnen. In de torens van het nieuwe hoofdkantoor bij het Utrechtse centraal station komen de ontwikkelaars en de andere afdelingen straks door elkaar heen te zitten. “In de Agile-teams zitten de product owners vanuit de business”, zegt Balkenende. “In het begin moesten zij erg wennen aan Agile, omdat we ze dagelijks claimen voor het project, om vragen te beantwoorden over het prioriteren van werkzaamheden. Het is dan superlastig, omdat ze geen tijd hebben. Maar na een aantal sprints ziet de business dat ze zelf kunnen prioriteren en dat de functionaliteit aansluit bij hun wensen: ze zitten zelf aan het stuur. Ze merken dat hun tijdsinvestering een betere kwaliteit en betere aansluiting oplevert en dat ze meer invloed en impact hebben op het resultaat.”

“Het echte team dat aan HaMIS werkt is veel groter dan het bouwteam alleen”, zegt Hanekamp. “De gebruikersvertegenwoordiging, het management en de havenmeester zelf, ze zijn allemaal belangrijk. De havenmeester kan wel zeggen: dit is mijn belangrijkste systeem, maar als hij op het moment dat we hem nodig hebben niet thuis zou geven, klopt er iets niet. Het moet wel van twee kanten komen.” Hanekamp zegt dat het formuleren van doelen belangrijk is voor de betrokkenheid van een team. “Iedereen binnen het project moet weten wat een doel voor hem inhoudt. Oplevering van nieuwe software kan bijvoorbeeld betekenen dat ergens in de havenmeesterorganisatie mensen een training moeten krijgen.” Teams met een doel willen dat ook echt bereiken. “Omdat het hun eer te na is als ze het niet halen.”

Uniforme richtlijnen

Een belangrijk aspect van de magische mix van SIDN is volgens Maarten Wullink, software engineer en architect van SIDN, ook het gebruik van uniforme ontwikkelrichtlijnen voor alle programmeurs. “Wij gebruiken Continuous Integration aangevuld met een aantal tools om onze codekwaliteit te monitoren, naast de tussentijdse SIG-metingen. Zo meten we de testcode coverage met Clover, zetten Find- Bugs in voor bugdetectie en Checkstyle voor controle op onze coderichtlijnen. De meting van SIG bewijst vervolgens achteraf of je goede software hebt gemaakt. Daarnaast wordt de gemaakte code bij ons altijd gereviewd door een collega-programmeur. Onleesbare code kan in de meting van SIG goed scoren, maar is niet te onderhouden.”

Overeenkomsten

Duidelijk is dat de magische mixen van deze excellente teams veel gemeen hebben. Ze gebruikten Agile Scrum in een op de organisatie passende aanpak. Het ging er strak gestructureerd aan toe. Er werd met focus gewerkt in overzichtelijke sprints van enkele weken. De teams werden zorgvuldig samengesteld. Niet alleen aan het vakmanschap van de teamleden werd veel aandacht besteed, de soft skills kregen evenveel, en in het geval van de Rabobank zelfs meer aandacht dan de technische kennis van de teamleden.

Rabobank en het Havenbedrijf schonken ook de nodige aandacht aan teambuilding. Hechte teams met duidelijke doelen hebben een sterke neiging tot gedrevenheid en leggen zichzelf een strenge discipline op, die de kwaliteit van het resultaat positief beïnvloedt. Slordigheden kunnen dan niet, de kantjes eraf lopen wordt door de collega’s niet geaccepteerd. Als een bouwteamlid van het Havenbedrijf de ‘softwarebuild’ breekt, kan dat resulteren in taart halen voor het team. Alle teams zijn doordrongen van het belang van de betrokkenheid van de business of de klanten.

Tenslotte maakten alle teams gebruik van metrieken en tools om de kwaliteit van de producten doorlopend te controleren. Ze schakelden de Software Improvement Group in als onafhankelijke partij om de kwaliteit van het product tussentijds en na afloop objectief vast te stellen. En tijdens de Agile-aanpak moet er continu bijgestuurd worden, zegt Herman Hanekamp van het Havenbedrijf. “Het is echt een kwestie van volhouden.” Het doel van zijn HaMIS-team is in kleine stappen iets te maken, wat de havenmeester echt kan en wil gebruiken. “Want dat is misschien wel de ultieme definitie van kwaliteit van software, dat het echt wordt gebruikt.”


 

 
Lees het hele artikel
Je kunt dit artikel lezen nadat je bent ingelogd. Ben je nieuw bij AG Connect, registreer je dan gratis!

Registreren

  • Direct toegang tot AGConnect.nl
  • Dagelijks een AGConnect nieuwsbrief
  • 30 dagen onbeperkte toegang tot AGConnect.nl

Ben je abonnee, maar heb je nog geen account? Neem contact met ons op!