Close

Agile development vraagt om moderne digitale infrastructuren

Agile development is helemaal de mode tegenwoordig. Waarom is dat, en wat voor digitale infrastructuren heb je daarvoor nodig?

Vroeger werd business software vooral geschreven om bestaande bedrijfsprocessen te automatiseren. Die werden middels software weliswaar wel wat veranderd, maar in de kern waren de processen niet anders. We denken daarbij dan aan boekhoud systemen, roosterplanning, ‘customer relationship management’ enzovoort.

Tegenwoordig zien we dat software niet alleen de bedrijfsprocessen automatiseert, maar deel gaat uitmaken van het product, of zelfs het product is. En die software is dan bovendien ook nog vaak een on-line dienst. Denk aan de slimme kamerthermostaat. Ook in financiële dienstverlening is software meer en meer het hoofdonderdeel van het product: denk aan online bankieren. En bij social media van Facebook tot relatieplanet is software de dienst.

De dans

Elk product verandert de wereld die het gebruikt, dat geldt ook voor software. Maar een veranderende wereld verandert ook de producten die we kunnen of willen gebruiken. Er ontstaat een soort dans tussen vraag en aanbod. Gaan we vaker buiten de deur ontbijten omdat er meer mogelijkheden voor zijn, of ontstaan er meer ontbijttentjes omdat we vaker buiten de deur gaan eten? Net als in een dans is het niet altijd eenvoudig te zeggen wie door wie geleid wordt.

Nu software het product is gaat het ook meedoen aan die dans, en dan wordt het belangrijk om sneller aan te passen aan de danspartner.

Hoe sneller, hoe beter.

Dat verklaart de noodzaak voor agile development. Tussen wens en realisatie moet geen twee jaar staan, maar twee weken, en liefst nog minder.

Wat voor digitale infrastructuren zijn daarvoor nodig?

Het belangrijkste doel van digitale infrastructuren is het beschikbaar maken van applicatie functionaliteit. De kwaliteit daarvan wordt bijvoorbeeld uitgedrukt in het aantal ondersteunde gebruikers. Bijvoorbeeld: 10.000 gelijktijdige gebruikers op 10 locaties met een responstijd van minder dan 4 seconden.

Maar met agile development komt daar een nieuw doel bij: ‘feature velocity’. Dat is de snelheid waarmee nieuwe features kunnen worden uitgerold. De tijd tussen het bedenken van een feature en het testen van de zinvolheid bij echte gebruikers moet korter zijn dan de tijd waarin de omgeving verandert. In een dans wil je anticiperen op je partner, niet op diens tenen staan.

De digitale infrastructuur moet daarin geen flessenhals zijn. Dat vraagt een aantal dingen van die digitale infrastructuur zoals automatisch testen, snel op- en afschalen van capaciteit, en zo weinig mogelijk handmatig ingrijpen. Alleen zo kan de doorlooptijd van een wijziging worden verkort.

Kortom: agile development vraagt om cloud computing. Immers: essentiële karakteristieken van cloud computing zijn onder meer snelle, elastische en zelfbedieningsuitrol van middelen. Dat is wat nodig is voor agile development.

En dan gaat de dans door. Want als dat mogelijk is zijn er weer nieuwe dingen mogelijk. Betere security bijvoorbeeld. Als je sneller kunt reageren op functionele vragen, kun je ook sneller reageren op security problemen.

 

Dit artikel verscheen eerder in Tijdschrift IT Management, een uitgave van ICT Media.

Geef een reactie