Agile werken, iedereen heeft het erover. Het grootste verschil met traditionele projectaanpakken — zoals de watervalmethode — is dat bij agile niet alles van tevoren op detailniveau is uitgekristalliseerd. Maar hoe gaat agile dan precies in z’n werk? En wat zijn de voordelen?
Agile: wat houdt het in?
Het project begint met een sessie samen met de business, waarin de user stories worden gedefinieerd aan de hand van drie vragen:
- Om welke rol gaat het?
- Wat wil die rol?
- En waarom wil die rol dat?
Dit wordt vastgelegd in een backlog. Vervolgens wordt samen met de business bepaald waar de prioriteiten liggen. Een agile projectaanpak bestaat uit sprints van één tot vier weken. In iedere sprint wordt een aantal user stories gerealiseerd. Zo’n story wordt opgeknipt in verschillende taken, waar teamleden mee aan de slag kunnen. Aan het eind van de sprint gaat IT met de business om de tafel om te laten zien wat er gerealiseerd is. In vervolgsprints kunnen eventuele aanmerkingen worden verwerkt.
In principe wordt er dagelijks een stand-up gehouden: de daily scrum. De voorzitter van de meeting, de scrum master, stelt ieder teamlid drie vragen: wat heb je gisteren gedaan, wat wil je vandaag doen en zijn er zaken die je weerhouden om je doelen van vandaag te behalen? Het team is multidisciplinair; het is een mix van klant en dienstverlener. Na iedere sprint wordt gezamenlijk een procesevaluatie, ook wel retrospective, en productevaluatie, de review, gedaan.
Een opvallende eigenschap van deze aanpak is dat aan het eind van het project niet per definitie alle stukken software opgeleverd hoeven te zijn. De user stories worden opgedeeld in ‘must haves’, ‘should haves’ en ‘could haves’. De laatste twee categorieën kunnen ook in een later project worden opgepakt.
Definition of ready vs. definition of done
Wanneer een user story de ‘definition of ready’ krijgt, betekent dit dat deze voldoet aan de randvoorwaarden. De user story kan gerealiseerd worden: de acceptatiecriteria zijn helder, de ureninschatting is gemaakt en de klant is akkoord. Iedere user story moet hieraan voldoen.
De ‘definition of done’ houdt in dat de realisatie van de user story voltooid is; de functionaliteit en de documentatie zijn opgeleverd, de initiële unit test is voltooid, de software is getransporteerd naar de testomgeving en de key user heeft een test uitgevoerd. De invulling van beide definities wordt in nauwe samenspraak tussen business en IT bepaald en blijft gedurende het gehele project onveranderd.
Waarom agile?
Er zijn een aantal voordelen aan een agile projectaanpak:
- Business en IT samen aan tafel – een agile team is een mix van klant en dienstverlener. De IT’er zit direct met de business aan tafel en kan direct schakelen met betrekking tot wensen en behoeften vanuit de business.
- Vroegtijdig inzicht in het systeem – Iedere sprint wordt een stuk werkende functionaliteit opgeleverd, wat de business direct kan gaan testen. De business heeft vroegtijdig inzicht in het systeem, wat voortschrijdend inzicht levert.
- Kortere ‘time to market’ – Traditionele werkwijzen als de watervalmethode hebben een langere ‘time to market’. In de backlog van een agile aanpak ligt vast aan welke eisen een systeem op z’n minst moet voldoen. Dan kan het systeem al in gebruik worden genomen. Later kunnen er nog aanpassingen en toevoegingen worden gedaan.
- Leren door te doen – Met name bij een migratie naar of implementatie van een nieuw systeem, is het voordelig dat de eindgebruiker al snel met het systeem aan de slag kan. Door te proberen, testen en spelen met het systeem maakt de eindgebruiker kennis met bijvoorbeeld SAP. Dit is goed voor de adoptie binnen de organisatie. Gedurende het project kunnen er bovendien al bugs worden verholpen.
- Teamspirit – Door een intensieve samenwerking tussen klant en dienstverlener leeft het project meer bij de klant. Doordat het team een mix is van beide partijen, ontstaat er een optimale teamspirit.
- Continue verbetering – Door het gebruik van een ‘sprint retrospective’ wordt aan het eind van iedere sprint stilgestaan bij het proces. Hoe hebben de teams samengewerkt? Wat ging goed en wat kon beter? Door deze vragen te stellen worden de teams in staat gesteld elke sprint beter (samen te) werken.
Wat we in de praktijk ervaren is dat de klant vaak de impact van een agile aanpak onderschat. Het is een grote tijdsinvestering, aangezien er medewerkers vanuit de business beschikbaar moeten zijn om iedere dag mee te werken. Bovendien moeten dit personen zijn die mandaat hebben.
Wanneer het de eerste keer is dat er op deze manier wordt gewerkt binnen een organisatie, moeten daarnaast nieuwe termen en werkwijzen eigen worden gemaakt en vereist het organisatorische wijzigingen. Hierbij kan een gezamenlijke project kick-off, waarbij stil wordt gestaan bij de basisbeginselen van Agile werken, van grote waarde zijn.
Agile en SAP
Wanneer je aan SAP denkt, heb je wellicht niet direct de associatie met agile. Echter lenen SAP-projecten zich wel degelijk voor een agile projectaanpak. Denk bijvoorbeeld aan de relatief nieuwe methodiek die door SAP zelf in de markt is gezet: SAP Activate.
Juist door de solide basis die SAP biedt, kunnen de klantspecifieke aanpassingen agile gerealiseerd worden. myBrand hanteert de SAP Activate-projectaanpak reeds bij verschillende projecten en ervaart dit als een zeer goede basis voor een succesvol project.
Aan de slag!
Om aan de slag te gaan met agile is het zaak dat je de terminologie begrijpt. Het kan een uitdaging vormen om de organisatie mee te krijgen in deze nieuwe werkwijze, zeker als er al geruime tijd op traditionele wijze projecten worden aangepakt. Ook is lang niet ieder project geschikt voor een agile werkwijze.
Het soort projecten waarbij agile geschikt is zijn bijvoorbeeld ontwikkeling, doorontwikkeling en interfaces met een derde partij. Voor bijvoorbeeld migraties is deze projectaanpak lastiger. Om van een agile werkwijze de weg naar succes te maken, is het zaak om de aspecten te adopteren die voor jouw organisatie van toegevoegde waarde zijn.
Zie het als een gereedschapskist, waaruit je de benodigde tools kiest. Zo kan een daily scrum bijvoorbeeld ook prima om de dag, of een retrospective om de twee sprints.
Agile is een van de methodieken om innovatie binnen de organisatie te stimuleren. Er is geen enkele organisatie die niet gebaat is bij innovatie, maar desondanks vormt het een hoofdpijndossiers voor veel IT-managers.