Agile programming versnelt ontwikkeling van nieuwe functionaliteit

Vorig jaar vernieuwde bol.com in een keer zijn infrastructuur en zijn website. Na afronding van dat project kwam men tot de conclusie dat het bedrijf de betrokkenheid van zijn mensen aan het verliezen was. De oude cultuur kreeg een nieuwe impuls. Agile programming sloot daar naadloos bij aan.

Bol.com heeft vorig jaar zowel zijn website als zijn infrastructuur vernieuwd. "De oude site was een erfenis van Bertelsmann," vertelt Feike Groen, manager Software Development. "Die was inmiddels verouderd. Bovendien waren onze systemen verspreid over drie datacenters. We hebben dus twee parallelle trajecten opgestart: het herbouwen van de website en de migratie naar een nieuw rekencentrum."

Big Bang

Hoewel dergelijke Big Bang migraties in het algemeen extra risico's met zich meebrengen, maakte deze gecombineerde aanpak het in dit geval juist makkelijker. Men kon immers ontwikkelen en testen op een volledig onafhankelijke infrastructuur.

Dat wil echter niet zeggen dat de mensen van bol.com alle tijd hadden. "Er stond weldegelijk druk op de ketel," aldus Groen. "We gebruikten Intershop en daarop genereerden we een load waarvan de leverancier niet eens wist dat dat kon." "Er lagen ook nieuwe wensen en kansen," vult Alex Bloemendal aan, als manager Front End & Services verantwoordelijk voor marketing en e-commerce. "Bovendien was de code ook niet meer geschikt om nog op verder te bouwen."

Topmaand

"Begin 2007 kregen we de opdracht om een nieuw platform op te zetten," aldus Groen. "En in juli zijn we begonnen met bouwen." Nog een jaar later ging het nieuwe platform in productie. "September was voor ons de laatste maand waarin we over konden stappen. Want november is onze topmaand."

Op piekdagen genereert de bol.com site vier of vijf maal zo veel transacties als normaal. Het gaat dan met name om de laatste dagen voor Sinterklaas en voor Kerst. "Mensen zijn inmiddels zo gewend dat wat ze vandaag bestellen morgen wordt bezorgd, dat ze tot op het laatste moment wachten. In de aanloop daarvan proberen we natuurlijk ook het verkeer zo veel mogelijk aan te jagen. Dat betekent dat de site vanaf 1 oktober moet staan en goed moet presteren. Vanaf januari hebben we dan weer ruimte om wat te doen."

Doorlooptijd

Was het eind september niet gelukt, dan had men gelijk anderhalf kwartaal moeten wachten. "Ons probleem was de stilstand vanuit de business", aldus Groen. "Om de risico's van dit project te beperken, werd de bestaande functionaliteit één-op-één gemigreerd. Het grootste risico was de doorlooptijd."

"20 september was voor ons een historische dag," herinnert Groen zich. "In dat weekend zijn we voor drie uur omgeschakeld. In die tijd hebben we bijna duizend transacties binnengehaald en geanalyseerd." De uitkomsten daarvan gaven het bedrijf genoeg vertrouwen om eind september definitief over te schakelen.

Ander bedrijf

Met de overgang naar het nieuwe platform kwam echter ook een einde aan een periode. "We hadden met de IT-afdeling bijna driekwart jaar aan dit project gewerkt," aldus Groen, "de laatste drie weken haast dag en nacht. Toen dat eenmaal achter de rug was, hadden we moeite om het lijnmanagement weer op te pakken."

Maar dat gold niet alleen voor de automatiseerders. "We waren in die tijd ook sterk gegroeid," vertelt Bloemendal, "zowel in aantal mensen als in productcategorieën. We waren een ander bedrijf geworden." Bol.com was zijn cultuur aan het verliezen. "Mensen hadden te weinig invloed. Ze werden een radertje in plaats van een collega." Tegelijkertijd lag er een heel stuwmeer aan wensen van de marketing-afdeling. Alle andere projecten hadden al die tijd immers stilgelegen.

Multidisciplinaire teams

Met het formuleren van drie doelstellingen nam de directie het voortouw. Er moest meer binding komen tussen de mensen van IT en de mensen daarbuiten. Men wilde een snellere time-to-market. Om sneller nieuwe functionaliteit te kunnen bouwen, moest men ook van de projecten af. "We deden één groot project per jaar en een paar kleine," aldus Groen. Als de IT-ers met een grote klus bezig waren, moest de rest niet maandenlang plat liggen.

Dat betekende dat nieuwe ontwikkelingen tegelijkertijd en onafhankelijk van elkaar in multidisciplinaire teams moesten worden uitgevoerd. "Enerzijds komt de IT met innovaties," zegt Bloemendal, "anderzijds trekt marketing op zijn beurt aan de IT-ers. Nieuwe ontwikkelingen moeten in samenwerking met marketing, operations en fulfillment gebeuren."

Scrum

Voor de software-ontwikkelaars was al gauw duidelijk dat zij volgens de agile programming methodologie moesten gaan werken. "We hebben gekozen voor het Scrum-model," vertelt Groen. "Dat is de de facto standaard aan het worden. Daarbij laten we ons niet afleiden door de theorie, maar kiezen we vooral voor een praktische aanpak. Waar nodig hebben we onze eigen aanpassingen aan Scrum gemaakt."

Volgens Groen wordt er in Nederland al veel met Scrum gewerkt. Hij noemt de NS, TomTom en ASR als voorbeelden. Maar ook eBay gebruikt deze methodologie. "Dat gaf ons het idee dat dat veilig kon. We hebben geen aparte selectie voor een methode gedaan. We zijn gewoon Scrum gaan doen omdat iedereen daar achter stond. In de laatste maand van vorig jaar hebben we dat samen met Xebia geïmplementeerd, een leverancier waar we al eerder zaken mee hadden gedaan."

Omstreden

Agile programming is echter niet helemaal onomstreden. Veelgehoorde bezwaren zijn bijvoorbeeld dat de vereiste zelfstandigheid en discipline alleen door ervaren programmeurs kan worden opgebracht, dat de software-architectuur erbij inschiet, en dat ontwikkelaars eeuwig blijven hangen in prototypen die nooit een volwassen product worden. "Je moet inderdaad duidelijke afspraken maken," beaamt Groen. "Voorheen konden programmeurs pielen tot aan de laatste dag, en kwam de business tot op de laatste dag met wijzigingen."

In de nieuwe werkwijze van bol.com wordt gewerkt in strakke maandelijkse cycli. Er zijn zeven ontwikkelteams waarin "Javanen", Oracle-mensen, een informatie-analist, een tester en een architect samenwerken. Daarnaast is er een product owner vanuit de business aangesteld, die de backlog voedt. Deze lijst van werkzaamheden wordt gesorteerd op basis van zakelijke opbrengsten als omzet, winst, image en toekomstige waarde. In samenspraak met de stakeholders worden steeds de klussen met de hoogste prioriteit uitgewerkt.

Onafhankelijke ontwikkelteams

Aan het begin van elke maand selecteert elk ontwikkelteam een aantal van de bovenste werkzaamheden. In de daaropvolgende vier weken moeten die onderdelen worden gebouwd en getest, en worden geaccepteerd door de business. Af betekent in dit geval dus klaar om live te gaan. Op die manier gaat elke maand een nieuwe versie van de software in productie. Gaat het niet lukken om onderdelen voor het eind van de maand af te krijgen, dan wordt deze niet doorgevoerd. Zo hoeven de ontwikkelteams niet meer op elkaar te wachten.

Groen geeft als voorbeeld hoe dat ging met de verkoop van tweedehands boeken. "Je kunt daar een heel jaar aan werken. Maar volgens Scrum knip je de hele boel in stukken en doe je het belangrijkste eerst, in dit geval dus het inkopen en verkopen. In de maand daarna zorg je dat er betaald kan worden. Op die manier komt er vanzelf een punt dat je compleet genoeg bent om een eerste versie live te brengen.

Vliegwieleffect

Volgens Groen werkt de nieuwe ontwikkelmethodologie erg goed. "We doen hier nu in een maand meer dan in sommige jaren. Vroeger werden voortgang en deliverables afgedwongen door de projectmanager. Nu ligt die verantwoordelijkheid bij het team zelf. Wat je hier nu bouwt, gaat één maand later al live. Dat werkt heel motiverend. Na de introductie van de verkoop van tweedehands Engelstalige boeken, keken de ontwikkelaars elke dag hoeveel boeken er werden ingevoerd. Die directe invloed genereert een vliegwieleffect."

Java op Linux

Bol.com maakt gebruik van het ATG e-commerce platform en de Endeca search engine. De site draait op Linux, Apache en JBoss. Alle databases zijn van Oracle.

Bij bol.com werken in totaal zeventig mensen in de IT. Daarvan bestaat de helft uit ontwikkelaars. Vijftien tot twintig man houdt zich bezig met de ondersteuning: analisten, testers en architecten. De rest zit in operations en beheer.

Dit artikel verscheen eerder in IT Executive.

Plaats reactie

Security code Vernieuwen

Verstuur