Development

Software-ontwikkeling

Beter, sneller, flexibeler

19 september 2014

“Tot drie jaar terug werd hier software ontwikkeld volgens de Watervalmethode. We gebruikten dat in combinatie met CMMI en ik durf te stellen dat we daar behoorlijk volwassen in waren. Maar die manier van werken werd in toenemende mate als verstikkend ervaren. Alles verloopt volgens protocollen en dat is enorm tijdrovend. Mijn fundamentele kritiek op Waterval en CMMI is dat ze niet aansluiten bij de softwareontwikkeling die bedrijven nu nodig hebben. De tandem Waterval-CMMI is fantastisch als aan drie onhaalbare randvoorwaarden wordt voldaan:

- een commerciële eindgebruiker die precies weet wat hij wil,
- de IT-collega die precies weet hoe hij dat moet bouwen, en
- een wereld buiten de bank die niet verandert.

Dat bestaat niet meer. Stel dat wij als bank een nieuw hypotheek­systeem willen bouwen dat over pakweg anderhalf jaar af moet zijn. Hebben we dan vanaf dag één alle requirements helder? Forget it! Dat lukt nooit. Zo’n systeem is niet te detailleren, dat is gewoonweg te complex. Met andere woorden, met de klassieke manier van software ontwikkelen kun je zo’n systeem nooit bouwen.

Hier bij de bank zagen we dat werken volgens de Watervalmethode leidt tot heel zware governance. Omdat veranderingen impact hebben op de verschillende fasen van het ontwikkelproces moet elke verandering uitvoerig geaudit worden. Bij ons waren op het laatst meer mensen met het proces bezig dan met het bouwen van code. Bovendien zagen we dat, als we dan uiteindelijk toch code ontwikkeld hadden, het heel moeilijk was om dat in de systemen van de bank te embedden. Om allerlei redenen. Omdat de database niet presteert, omdat integratie met andere systemen moeizaam verloopt, omdat je het geheel niet getuned krijgt. Het verloopt uiterst moeizaam.”

Hoe kom je dan vervolgens bij agile ontwikkelen uit?
“Je weet dat het anders moet en je weet ook dat men daar op verschillende plaatsen mee aan het experimenteren is, en ook dat er opmerkelijke resultaten mee worden bereikt. Dus ga je daar zelf ook voorzichtig mee aan de slag. Eerst op kleine schaal uiteraard, maar als je ziet dat die aanpak werkt ga je het breder uitrollen.

Inmiddels zijn we drie jaar verder en werken al onze ontwikkelaars volgens deze methoden, waarbij ik opmerk dat het om de combinatie agile ontwikkelen en DevOps gaat, eigenlijk om de driehoek Continuous Delivery, agile ontwikkelen en DevOps. Ik vind het Agile Manifesto fantastisch. Het is een filosofie die zegt dat je elke twee weken werkende software moet opleveren waar de gebruiker mee kan spelen, en die vervolgens in samenspraak met de ontwerpers steeds verder uitgebouwd wordt.

Daarnaast ben ik een groot aanhanger van twee DevOps-stellingen. De eerste,Jeff Bezos’ two pizza rule, zegt dat een team te groot is als er ’s avonds bij overwerk meer dan twee pizza’s worden besteld. Ofwel, je teams mogen uit maximaal tien mensen bestaan. De tweede is dat er per team één producteigenaar moet zijn en dat die vanuit de business komt.”

Past ING die methode nu volgens het boekje toe of ontstaat er toch een eigen variant?
“Uitdrukkelijk volgens het boekje! We hebben in het begin nog wel geprobeerd die nieuwe aanpak met CMMI te combineren, maar dat werkt niet. De markt weet het beter dan jij, zo is het gewoon. Ik merk daarbij op dat wij vanuit onze ervaring inmiddels wel beginnen bij te dragen aan het agile-boekje.”

Hoe zijn de resultaten?
“Die zijn heel positief. Laat me een duidelijk voorbeeld noemen. We gebruiken hier binnen de bank een aantal grote bankingsystemen. Voor dergelijke systemen geldt dat wij gemiddeld vijf keer per jaar nieuwe releases ontvingen van leveranciers. Zo’n release moet je implementeren en vervolgens testen. Beide processen duurden bij ons voorheen ongeveer tien dagen, dus voor je een nieuwe release in gebruik kon nemen was je weken verder.

Voor de deployment- en testscripts hebben we volgens de nieuwe aanpak een geautomatiseerde pipeline ontwikkeld en nu hebben we een nieuwe release binnen 4 uur operationeel! Het aantal releases is verhoogd tot meerdere per week. Dat is voor ons heel aantrekkelijk, maar ook onze relatie met de leverancier wordt er anders door, omdat ze de grootste moeite hebben ons bij te houden. De leverancier-klantrelaties veranderen in ­partnerships.”

Wat vergt dit aan training?
“Enorm veel. Er zijn allerlei nieuwe skills nodig en die moeten mensen zich eigen maken. We hebben hier intern de IT-Academy waar een serie opleidingen wordt aangeboden voor en door ING-collega’s. Daarbij merk ik meteen op dat de nadruk weer veel meer op engineering komt te liggen. We hebben weer echte software-ontwikkelaars nodig.”

Kan de hele organisatie in die verandering mee?
“We bieden opleidingstrajecten voor al onze medewerkers aan. Soms zie je dat mensen niet mee kunnen met de veranderingen, hen proberen we zo goed mogelijk te begeleiden naar een andere functie. Maar het merendeel van onze IT’ers vindt het prachtig. Leeftijd speelt geen rol; de oudere garde die opgeleid is in het Cobol-mainframetijdperk ziet het vakinhoudelijke van toen weer terugkomen. Zij kennen zoiets als een deployment pipeline heel goed.”

Hoe lang duurt een omslag van traditioneel ontwikkelen naar zo’n nieuwe aanpak?
“Wij hebben het binnen drie jaar gerealiseerd. Je begint natuurlijk klein en bouwt dat stapsgewijze uit. Maar op enig moment moet je vaart maken, anders denken de achterblijvers dat zij er niet meer bijhoren.”

Wordt er nu betere software gebouwd?
“Ja, we ontwikkelen sneller, de kwaliteit is veel beter en we zijn veel flexibeler dan voorheen. Minstens zo belangrijk is dat de betrokkenheid van de mensen weer veel groter is. Niet alleen de jongens van de vloer vinden dit prachtig, ook de business is enthousiast, want ze zien dat je veel sneller kan leveren.

We hebben hier nu de situatie dat elke dag om 20.00 uur een server alle ontwikkelde sourcecode van de mobiele apps ophaalt, analyseert en naar alle Apple- en Android-devices pusht. Vervolgens wordt op alle devices alles geautomatiseerd getest. We hebben dus dagelijks een update van onze banking-app voor elke denkbare versie van die mobile devices. Dat is in een paar woorden gezegd, maar je hebt geen idee van de enorme hoeveelheid code die daarvoor verwerkt moet worden. Dat kunnen we nu doen, elke dag opnieuw.”

Wat vergt zo’n omslag van een organisatie?
“Kennis van zaken op de juiste plaats in de organisatie. Op alle niveaus wordt veel gevraagd van zowel IT-content leadership als people leadership. Met alleen people-leadershipkwaliteiten kom je niet ver als ­manager binnen de IT van ING. People leadership adresseert de culturele transformatie van de organisatie met veel nadruk op de volgende zaken:

Understanding and conviction: je moet goed weten wat er gaande is in de wereld waarin je je beweegt en moet in staat zijn anderen te overtuigen van het belang van de veranderingen die jou voor ogen staan.

Role modelling, ofwel walk the talk: doe wat je zegt en doe het met overtuiging. Kennis en vaardigheden: zorg voor een opleidingentraject en zorg dat de mensen zich daadwerkelijk bekwamen, en zorg dat ze daarvoor worden gewaardeerd.

Formele systemen: pas het organisatiemodel aan aan de werkwijze die je voor ogen staat en niet andersom.”

Loopt ING nu ver voor de troepen uit?
“Ik durf wel te stellen dat we op het terrein van agile en DevOps zeker binnen de financiële industrie een voorloper zijn.”

Maakt dat het moeilijk om nieuwe mensen aan te trekken, zeker gezien het tekort aan IT’ers op de arbeidsmarkt?
“In tegendeel. In de wereld van IT geldt: Great engineers attrack great engineers. In die positie bevindt de IT-afdeling van ING zich nu ook.”

 
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? Laat de klantenservice je terugbellen!