Wat duurt het allemaal lang!

Herkenbaar? Tja, of je nu iets nieuws wilt neerzetten, of een bestaand systeem wilt aanpassen, automatiseren kost een hoop tijd. Hoe zorg je er nu voor dat je vandaag snel met iets nieuws kunt komen. En morgen weer.
 
Daarvoor is het handig om te weten dat geautomatiseerde systemen uit meerdere onderdelen bestaan waarvan sommige flexibel zijn en andere niet. Verder is het zo dat de manier waarop systemen aan elkaar gekoppeld zijn invloed heeft op de flexibiliteit. Dit ligt redelijk voor de hand. Wat minder voor de hand ligt is dat hoge tijdsdruk over het algemeen tot inflexibele systemen leidt. Dat komt doordat de snelste manier om iets voor elkaar te krijgen vaak inhoudt dat er oneigenlijk gebruik wordt gemaakt van toevallige eigenschappen van het oude systeem. Als je dat een paar keer doet zonder de troep achter je op te ruimen, dan wordt de werking van het systeem volkomen ondoorgrondelijk, ook voor de programmeurs.
 
Hoe pak je zoiets dan beter aan. Simpel: knip de implementatie op in twee fasen: 1) realisatie van de functionaliteit en 2) herstellen en verbeteren van de onderliggende code. Laat je aan het eind van de herstel-fase uitleggen welke maatregelen er genomen zijn om de flexibiliteit van het systeem te herstellen of te verbeteren.
 
Het is helemaal mooi als dit gecombineerd kan worden met Scrum en DevOps. Scrum is een op dit moment veel gebruikte methode om programmatuur te ontwikkelen. Scrum werkt met kleine zelfsturende teams. Elk team brengt in korte tijd genaamd ’sprint’ (twee to vier weken) een aantal overzichtelijke wijzigingen aan in een systeem. Deze wijzigingen zijn afgebakend in ’stories’. Elke story is een overzichtelijke wijziging met aantoonbare waarde voor de organisatie. Aan het eind van de sprint worden deze wijzigingen ook direct in productie genomen. DevOps is een samentrekking van Development en Operations. Met DevOps wordt bedoeld dat dezelfde mensen die de programmatuur ontwikkelen ook de mensen zijn die de programmatuur in productie onderhouden.
 
Zorg ervoor dat een team in één sprint nooit stories voor de realisatie fase combineert met herstel- of verbeter-stories. Zorg er ook voor dat niet meer dan de helft van de teams werkt aan realisatie-stories. Beheerwerkzaamheden worden alleen uitgevoerd door teams die aan herstel- of verbeter-stories werken. En, last but not least: betaal beide fasen uit het Marketing budget. Waarom? Omdat anders de IT afdeling er belang bij heeft om herstel- en verbeter-stories uit te stellen ten gunste van realisatie-stories. Het resultaat is dan per saldo een stroperig veranderingsproces, klagende ITers en klagende Marketeers. Daarbij kan het verstandig zijn om het oplossen van incidenten wel te laten betalen uit het IT budget. Daarmee zorg je ervoor dat IT gemotiveerd is om goed na te denken over de prioriteiten bij preventief onderhoud.
 
Onthoud goed: als Marketing Professional ben jij de klant. Jij gaat over het budget en wie betaalt die bepaalt. Dus als jij zegt: ga heel hard hollen, dan gaan ze heel hard hollen. En als dat de verkeerde kant op is (richting brokkelige onontwarbare code), dan is dat ook waar je uitkomt. Een van de hoofdoorzaken van een inflexibel IT change proces is dat urgente en minder urgente doelen uit hetzelfde budget moeten komen en dat de minder urgente doelen daardoor ondergesneeuwd raken. Het is zaak om het minder urgente, maar zeer belangrijke, preventief onderhoud te scheiden van de urgente doelen om ervoor te zorgen dat de systemen flexibel genoeg blijven om ook in te toekomst mee te blijven bewegen met veranderende omstandigheden.
Advertenties

Gepubliceerd door

Jeroen van Maanen

I am an experienced Software Developer with a passion for communication and delivering Business Value. I prefer to use Open Source platforms and tools whenever possible.

Reageer

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit /  Bijwerken )

Google photo

Je reageert onder je Google account. Log uit /  Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log uit /  Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit /  Bijwerken )

Verbinden met %s