Supersoftware maak je met teamwork | Automatisering Gids
Supersoftware maak je met teamwork
02-03-12 09:11
voor abonnees
De magische mix van vijfsterrensoftware 1 MAART 2012 21:57
CHRIS NAP ANALYSE
Uitstekende software ontwikkelen is een uitdaging, maar het kan. Vorig jaar kreeg het Rotterdams Havenbedrijf een vijfsterrencertificaat van TÜViT voor de kwaliteit van hun software. Ook Rabobank en SIDN haalden hoge scores. Vijf sterren is het hoogst haalbare niveau, een sterk staaltje ontwikkelwerk dus. Een kijkje in de keuken van de bouwers. 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 http://www.automatiseringgids.nl/achtergrond/2012/04/supersoftware-maak-je-met-teamwork
Page 1 of 7
Supersoftware maak je met teamwork | Automatisering Gids
02-03-12 09:11
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
SIG
en SIDN alle drie de Agile Scrum-ontwikkelmethode
De Software Improvement
hanteren. Het grote aandeel Agile-projecten in de door
Group (SIG) meet de kwaliteit
TÜViT gecertificeerde producten toont aan dat de opstellers
van softwareproducten onder
van het Agile Manifesto een uitstekende manier om
meer op functionaliteit,
software te ontwikkelen hebben gevonden. Joost Visser,
bruikbaarheid en
head of research van SIG, zegt dat hoge kwaliteit software
betrouwbaarheid. Het volume
inderdaad vaak geproduceerd wordt door teams die een
van de code en de
Agile-aanpak gebruiken. “Kennelijk gaan de basisprincipes
dubbellingen in de code
van de verschillende Agilemethoden goed samen met het
worden geanalyseerd. De
produceren van hoge kwaliteit softwareproducten.”
omvang, de complexiteit en de interfaces van de units worden
Hans Balkenende was manager projectbesturing bij
beoordeeld. Ook de
Rabobank tijdens de bouw van de managementconsole. Hij
veranderbaarheid, stabiliteit en
was verantwoordelijk voor 130 projectmanagers en de
testbaarheid van de units wordt
manier waarop hun projecten werden uitgevoerd.
bekeken.
Inmiddels is hij manager Servicedesk GICT bij de bank. De vier sterren zijn voor Balkenende “het bewijs dat we het
Ook de cyclomatische
goed doen. Wij zijn op Agile Scrum uitgekomen omdat het
complexiteit (het aantal
goed bij onze open bedrijfscultuur past.” Amerik van Rijn is
onafhankelijke paden door een
projectmanager van Rabobank en heeft drie Agile-projecten
programma) en het aantal de
onder zijn hoede. “Ook met de Agile-methode kun je
verbindingen tussen modulen
functionele fouten maken. Maar het is makkelijker om
worden geteld. De resultaten
dichter te komen bij wat de klant wil, omdat je het
van alle metingen worden
voortschrijdend inzicht beter kwijt kunt.”
opgeslagen en met elkaar vergeleken. Inmiddels zijn er
De Agile aanpak beviel ook SIDN meteen goed. “Het
meer dan 400 systemen door
bevordert samenwerking, breekt de muren tussen
SIG doorgemeten. Het aantal
afdelingen af en versterkt de betrokkenheid van de
sterren dat een product krijgt,
business”, zegt Fred Rodenburg, projectmanager bij SIDN.
is afhankelijk van de relatieve
http://www.automatiseringgids.nl/achtergrond/2012/04/supersoftware-maak-je-met-teamwork
Page 2 of 7
Supersoftware maak je met teamwork | Automatisering Gids
02-03-12 09:11
“De lijnen zijn kort, we zitten allemaal in één ruimte.
positie. De slechtste vijf
Ontwerpers, testers en ontwikkelaars werken nauw samen
procent van de gemeten
om onduidelijkheden op te lossen en fouten te herstellen.
systemen krijgt één ster, de
Door directe betrokkenheid van de klant wordt een product
beste vijf procent krijgt er vijf.
gerealiseerd dat aan zijn wensen voldoet.”
De drie blokken van 30 procent daartussenin, staan voor twee,
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 HaMISprojectorganisatie is apart gehuisvest in de Rotterdamse Waalhaven. Behoorlijk geïsoleerd gelegen in vergelijking
drie en vier sterren. Jaarlijks wordt de complete set meetgegevens door SIG opnieuw gewogen om de grenswaarden vast te stellen.
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 http://www.automatiseringgids.nl/achtergrond/2012/04/supersoftware-maak-je-met-teamwork
Page 3 of 7
Supersoftware maak je met teamwork | Automatisering Gids
02-03-12 09:11
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. http://www.automatiseringgids.nl/achtergrond/2012/04/supersoftware-maak-je-met-teamwork
Page 4 of 7
Supersoftware maak je met teamwork | Automatisering Gids
02-03-12 09:11
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 collegaprogrammeur. Onleesbare code kan in de meting van SIG goed scoren, maar is niet te onderhouden.”
Overeenkomsten http://www.automatiseringgids.nl/achtergrond/2012/04/supersoftware-maak-je-met-teamwork
Page 5 of 7
Supersoftware maak je met teamwork | Automatisering Gids
02-03-12 09:11
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.”
Share
1
Tweet
Like
Lees ook NASA stort zich op open source 6 JANUARI 2012 Architectuur zonder bureaucratie 19 OKTOBER 2011 http://www.automatiseringgids.nl/achtergrond/2012/04/supersoftware-maak-je-met-teamwork
Page 6 of 7
Supersoftware maak je met teamwork | Automatisering Gids
02-03-12 09:11
Het kiezen van een app-ontwikkelaar 4 OKTOBER 2011 Progress bekommert zich om partners 28 SEPTEMBER 2011 OF MEER OVER: AGILE, KWALITEIT, SOFTWAREONTWIKKELING
http://www.automatiseringgids.nl/achtergrond/2012/04/supersoftware-maak-je-met-teamwork
Page 7 of 7