Snel kwalitatieve software bouwen is tegenwoordig geen grote uitdaging meer. Erachter komen wat je moet bouwen om de juiste problemen op te lossen wel! Het onderwerp van dit blog spookt al een tijdje door mijn hoofd. Ik blijf me namelijk verwonderen over het effect dat een projectaanpak heeft op het succes van een project. Waarom zien we zeer capabele teams veel slechter presteren dan verwacht?
In de afgelopen jaren heb ik veel bedrijven gezien die een agile aanpak proberen te hanteren, waarmee ze een meer traditionele ‘watervalaanpak’ van softwareontwikkeling vervangen. Bij deze ‘oude’ benadering probeert men het complexe softwareontwikkelingsproces te vereenvoudigen met het vooraf vastleggen van de softwarevereisten in documentatie.
Deze benadering werkt prima als je bij de start je specifieke behoeften kent. Eventuele wijzigingen in die behoeften worden behandeld als onregelmatigheden en maken eigenlijk geen deel uit van de aanpak. Toch kun je zelfs met een watervalaanpak het project nog aanpassen aan eventuele veranderingen.
Als je kiest voor een agile strategie, dan accepteer je dat je niet alles weet. De scope wordt vooraf niet exact vastgesteld, maar het project wordt gestuurd op succescriteria, planning, budget en kwaliteit. Er kan een mate van onzekerheid ontstaan. doordat het totale plaatje onbekend is.
Onzekerheid zorgt ervoor dat managers niet kiezen
De meeste traditionele managers vermijden onzekerheid, ze willen graag een gegarandeerde return on investment zien. Je moet je dan de volgende vraag stellen: Wil je liever een aanpak die valse hoop geeft op vaste investeringen en resultaten, of ga je voor een methode die erop gericht is om zoveel mogelijk waarde toe te voegen binnen een bepaald tijdsbestek?
Hierbij is het van belang dat het project is ingericht op het behalen van de vooraf gedefinieerde succescriteria. Hierdoor garandeer je dat elk besteed uur wordt gespendeerd aan het halen van je doelen. Dit is een cruciale keuze die je moet maken om succesvol te zijn met it-projecten.
Alles moet in dienst staan van agile
Ik zie regelmatig bedrijven die ‘agile’ doen. Dat werkt niet bij agile – je moet het volledig omarmen. Je moet onzekerheid accepteren en je constant concentreren op het leveren van waarde. Het belangrijkste is dat je de gekozen agile methode op alle vlakken toepast. Dat hoeven niet per se de voorgeschreven regels te zijn, maar de achterliggende filosofie is belangrijk.
Ik ben ervan overtuigd dat het veel beter is om óf een agile óf een watervalaanpak te volgen, dan om van beide onderdelen te nemen en dat te combineren tot een eigen aanpak die zogenaamd past bij je bedrijfscultuur. Deze aanpak noemen we ‘Waterscrummen’. Dit treedt op wanneer organisaties zoeken naar een vals gevoel van controle. Dit zijn een paar wellicht herkenbare symptomen:
-
Het team gebruikt enkele, maar niet alle scrum-ceremonies;
-
Het team ziet de meerwaarde van bepaalde ceremonies niet;
-
De product owner heeft niet het volledige mandaat om te beslissen en gedraagt zich meer als een klassieke projectmanager;
-
Het scrum-team mag niet zelfstandig problemen oplossen, waardoor de beste mensen op zoek gaan naar andere kansen;
-
Er is geen (dedicated) scrum master;
-
Het project kent geen snelle releases in korte cycli, maar blijft veel te lang in ontwikkeling;
-
Er is een te grote afstand tussen het scrum-team en de stakeholders uit de business.
Overwin de uitdaging, word wendbaar
Het kost bloed, zweet en tranen om een organisatie agile te laten denken en handelen. Toch is dit de uitdaging die de organisatie moet overwinnen om te overleven. Het ligt niet in de natuur van mensen om hun werkwijze te veranderen, dat vereist discipline en vastberadenheid. Als je de discipline hebt om deze nieuwe aanpak te volgen en je huurt een ervaren agile coach/scrum master in, dan zul je de voordelen snel zien.
Het begint allemaal met het identificeren van de juiste problemen. Die moeten eerst worden opgelost voordat er kan worden begonnen met de bits en bytes. Dan draait het dus niet om lange onderzoeken en dikke rapporten, maar staan deze vier duidelijke stappen naar succes centraal:
-
Discover. Ontdek waar je vandaag aan toe bent, bespreek de toekomstige organisatiedoelen en bekijk de mogelijke wegen om deze te bereiken.
-
Define. Op basis van een gezamenlijk begrip kijkt het team naar de voor- en nadelen en de prioriteiten op lange en korte termijn. Creëer focus en definieer de volgende stappen.
-
Design. Maak vervolgens een plan en prototype. Valideer of weerleg de aannames om erachter te komen wat werkelijk vereist is.
-
Do. Het pad waar je van droomde is niets zonder executie. Nu gaat het team het waarmaken, de overwinning ligt voor het oprapen.
De belangrijkste vraag blijft: Los je de juiste problemen op, of maak je software waar niemand om gevraagd heeft?