Agile werken: dé Agile methode uitgelegd
Leestijd: ongeveer 10 min
Onderwerpen:
Organisaties zijn tegenwoordig voortdurend op zoek naar nieuwe manieren om de snel veranderende technologie en markten bij te houden. En waar snelheid geboden is, moeten ontwikkelingsteams wendbaarder en flexibeler zijn dan ooit tevoren.
Dat is waar de agile-methode van pas komt.
Lees verder om te ontdekken wat agile-ontwikkeling nu precies is, en hoe dit je team kan helpen om sneller betere en sterkere producten te leveren.
Wat is de agile-methode?
De agile-methode is ontworpen door een groep softwareontwikkelaars die het traditionele ontwikkelingsproces anders en beter wilden aanpakken. Dit oude proces was vaak te ingewikkeld en te traag vanwege de vele documentatievereisten.
In het oprichtingsdocument dat ze het Agile Manifesto noemden, zetten de oprichters de vier waarden en 12 leidende principes uiteen die als leidraad dienen voor de agile-filosofie:
De vier Agile waarden
- Mensen en hun onderlinge interactie boven processen en tools
- Werkende software boven allesomvattende documentatie
- Samenwerking met de klant boven contractonderhandelingen
- Inspelen op verandering boven het volgen van een plan
Door in te spelen op de behoeften van de klant en zich efficiënt aan nieuwe situaties aan te passen, sturen deze waarden een ontwikkelproces aan dat op betrouwbare wijze hoogwaardige producten en tevreden klanten oplevert.
12 principes achter het Agile Manifesto
- De hoogste prioriteit is het tevreden stellen van de klant door het vroegtijdig en voortdurend opleveren van waardevolle software.
- Verwelkom wijzigingen, zelfs laat in het ontwikkelproces, en vergroot daarmee concurrentievoordeel van de klant zo veel mogelijk.
- Lever regelmatig werkende software op, iedere paar weken of iedere paar maanden, met een voorkeur voor kortere periodes.
- Management en ontwikkelaars moeten dagelijks samenwerken gedurende het hele project.
- Bouw projecten rond gemotiveerde individuen. Geef hen de omgeving en ondersteuning die ze nodig hebben en vertrouw erop dat ze de klus voor elkaar kunnen krijgen.
- De meest efficiënte en effectieve manier om informatie te delen in en met een ontwikkelteam is door met elkaar te praten.
- Werkende software is de maat voor vooruitgang.
- Zorg voor een constante ontwikkelsnelheid die alle betrokkenen ook constant vol kunnen houden.
- Voortdurende aandacht aan hoge technische kwaliteit en goed ontwerp versterken agile werken.
- Houd het simpel. Eenvoud, de kunst van het maximaliseren van het werk dat niet gedaan is, is essentieel.
- De beste architecturen, eisen en ontwerpen komen voort uit zelfsturende teams.
- Onderzoek regelmatig of er effectiever gewerkt kan worden en pas je gedrag daarop aan.
Deze agile waarden en principes vertegenwoordigen een overkoepelende filosofie die op tal van structuren en methodologieën kan worden toegepast, zowel op het gebied van softwareontwikkeling als andere projectmanagementprocessen.
Door deze waarden en leidende principes te volgen, creëer je een agile mindset waarbij flexibiliteit hoog in het vaandel staat en teams zich kunnen aanpassen aan steeds veranderende omgevingen. Dit is ook meteen de reden waarom agile werken zo populair is geworden: teams kunnen sneller nieuwe producten ontwikkelen en op de markt brengen die bovendien beter aan de behoeften voldoen van zowel klanten, gebruikers als bedrijven.
Voordelen van de agile-methode
De agile-methode is inmiddels uitgegroeid tot de meest populaire werkwijze voor teamleiders en ontwikkelaars. Het is niet moeilijk te zien waarom dit zo is.
Hier noemen we een paar belangrijke voordelen van agile-projectmanagement en agile-ontwikkeling:
Grotere betrokkenheid en samenwerking met stakeholders
Agile werken stimuleert een grote inbreng en hechte samenwerking tussen opdrachtgever en ontwikkelteam. Dit leidt weer tot tevredener klanten omdat het proces van begin tot eind transparant is en ontwikkelaars beter geïnformeerd worden over de behoeften en wensen van de klant.
Voorspelbare kosten en planning
Door het ontwikkelproces op te splitsen in regelmatig herhaalde sprints kunnen projectmanagers de kosten beter inschatten en duidelijke, voorspelbare tijdlijnen instellen. Zo houd je je stakeholders weer tevreden omdat zij beter weten wat ze kunnen verwachten en zodoende hun budgetten en marketingstrategieën nauwkeuriger kunnen plannen. Hierdoor wordt het ontwikkelproces ook inzichtelijker voor teams omdat zij zich geheel kunnen richten op het snel en betrouwbaar leveren van software en het regelmatig testen ervan op kwaliteit en doelmatigheid.
Flexibiliteit in onzekere tijden
Bij agile-projectmanagement gaat het vooral om wendbaarheid. Teams moeten zich snel kunnen aanpassen en verzonken kosten kunnen beperkt blijven. Door Agile te werken kunnen teams snel van plan veranderen, bijvoorbeeld vanwege veranderende klantbehoeften, een verschuivende marktvraag of om in te spelen op veranderende producteisen. Dit geeft teams de flexibiliteit die ze nodig hebben om de productbacklog te verfijnen en nieuwe prioriteiten te stellen, zodat ze altijd de beste, meest relevante producten leveren, op tijd en binnen budget.
Betere, sterkere producten
Bij agile-productontwikkeling is regelmatig testen in het ontwikkelproces ingebouwd. De producteigenaar kan zo beter zien of en waar er problemen zijn en daar wat aan te doen. Het resultaat: betere en relevante producten die grondig getest en doorgelicht zijn.
Minder risico en snellere ROI
Het agile-proces verkleint het risico omdat producten regelmatig getest en tussentijds aangepast kunnen worden. Door stap voor stap door een project heen te werken (in plaats van gedwongen door te gaan omdat je je stug aan een lineair plan vast moet houden), stel je teams beter in staat om echt levensvatbare producten te produceren. Als ze halverwege een projectfase een probleem ontdekken, kunnen ze snel bijsturen in plaats van hier pas aan het einde van het project achter te komen.
Omdat agile werken zo gebruikersgericht is, nemen agile-teams bovendien meer beslissingen op basis van user stories, door feedback te testen, en op basis van de inbreng van de opdrachtgever gedurende het hele proces. Dit zorgt ervoor dat elke afzonderlijke functie niet alleen een functioneel IT-component is, maar ook een waardevol product voor eindgebruikers.
Samen beperken deze processen het risico en kunnen teams sneller waarde leveren, wat weer resulteert in een snellere ROI.
Stappen binnen de agile-methode
De agile-levenscyclus bestaat uit 6 fasen:
1. Concept
De eerste stap in de agile-methode is het uitstippelen en prioriteren van projecten. Plan een brainstormsessie in met je team en stakeholders om mogelijke bedrijfskansen te identificeren en de duur en kosten van elk project in te schatten. Daarna kun je bepalen welke projecten haalbaar en het meest waardevol zijn, en stel je de prioriteit van de projecten in je pijplijn vast.
2. Aanvang
Nu je weet wat je project is, moet je uitzoeken hoe je het gaat uitvoeren. Wie heb je nodig voor je team? Wat zijn de eerste vereisten van de opdrachtgever? Leg de teamverantwoordelijkheden vast in een diagram en beschrijf de taken die uitgevoerd moeten worden in de sprints.
3. Iteratie
Nu het initiële project duidelijk omlijnd en goedgekeurd is, kan het ontwikkelteam aan het werk gezet worden en zich op de eerste iteratie storten.
De basisworkflow tijdens deze fase bestaat o.a. uit:
- Vereisten—Bevestig de vereisten op basis van de productbacklog en feedback van stakeholders.
- Ontwikkeling—Ontwikkel het product op basis van de gestelde vereisten.
- Testen—Voer QA-testen uit om functies te valideren en eventuele problemen op te sporen.
- Levering—Produceer een werkend product.
- Feedback—Verzamel feedback van klanten en stakeholders om de vereisten voor de volgende iteratie vast te stellen.
4. Release
Na meerdere iteraties te hebben uitgevoerd, is het tijd om het uiteindelijke product uit te brengen. Tijdens de releasefase voer je een paar laatste testen en kwaliteitsborging uit om eventuele bugs op te sporen, fouten te herstellen en de laatste hand aan de gebruikersdocumentatie te leggen voordat het product in productie wordt genomen.
5. Productie
Je product is de deur uit! In de productiefase is je product echt live. Vraag je team om het product in de gaten te houden, waar nodig ondersteuning te bieden en ervoor te zorgen dat het systeem soepel blijft lopen en gebruikers weten hoe ze het moeten gebruiken.
6. Veroudering
Als je systeem verouderd en overbodig is, of aan vervanging toe is, moet het uit de roulatie worden genomen. Deze fase omvat alle nazorgactiviteiten die daarmee gepaard gaan, zoals het informeren van klanten en het uit de roulatie halen van de betreffende release.
Voorbeelden van de agile-methoden
Het Agile-concept is een onderliggende filosofie die op verschillende ontwikkelmodellen kan worden toegepast. Hier zijn enkele van de populairste agile-methoden:
Scrum
De scrum is een agile-raamwerk gericht op multifunctioneel teamwerk, verantwoordelijkheid en iteratie, op basis waarvan complexe producten ontwikkeld, geleverd en ondersteund kunnen worden. Het wordt vooral gebruikt voor softwareontwikkeling, maar de onderliggende principes kunnen ook op andere projectmanagementteams worden toegepast.
Het Scrum-raamwerk is opgedeeld in sleutelrollen, gebeurtenissen en artefacten:
Scrumrollen:
- Producteigenaar
- Scrum Master
- Scrum-ontwikkelteam
Scrum-gebeurtenissen:
- Dagelijkse scrum
- Sprintplanningoverleg
- Beoordeling van de sprint
- Sprint-retrospective
Scrum-artefacten:
- Productbacklog
- Sprintbacklog
- Verbetering (of sprintdoel)
Scrumteams maken gebruik van tools zoals scrum-taakborden waarop taken en sprints worden ingedeeld zodat teamleden de huidige status van projecten in kaart kunnen brengen.
Kanban
Kanban is een agile-model bedoeld om teams effectiever samen te laten werken. Het volgt drie leidende principes:
- Visualiseer je workflow.
- Beperk het aantal taken in uitvoering.
- Organiseer de workflow op basis van belangrijkheid.
In tegenstelling tot scrum zijn er in kanban geen vaste rollen of getimede sprints. Kanban richt zich daarentegen op kortere cycli die sneller geleverd kunnen worden en transparanter zijn zodat iedereen weet wie waarvoor en wanneer verantwoordelijk is.
Tools zoals een online Kanbanbord stellen teamleden in staat om ideeën aan te dragen, de status van taken te wijzigen en hun voortgang bij te houden zodat iedereen efficiënter en effectiever samenwerkt.
Door het proces visueel in kaart te brengen, blijft iedereen op de hoogte en zorg je ervoor dat alle inspanningen gericht zijn op het werk met de hoogste prioriteit en de meeste impact.
Extreem programmeren (XP)
XP is de meest specifieke Agile-structuur om software te ontwikkelen. De bedoeling is niet alleen om hoogwaardige software te produceren maar ook om het hele proces makkelijker te maken voor het ontwikkelteam zelf. Bij XP staan communicatie, feedback, eenvoud, moed en respect centraal.
Het kan het beste worden toegepast wanneer:
- De vereisten voortdurend veranderen
- Teams erg korte deadlines hebben
- Stakeholders het risico als gevolg van korte deadlines willen verminderen
- teams unit- en functionele tests kunnen automatiseren
Functiegedreven ontwikkeling
Feature Driven Development (FDD, functiegedreven ontwikkeling) is een klantgerichte Agile-methode tool gericht op stapsgewijze ontwikkeling en statusrapportage op alle niveaus. Met deze aanpak omzeil je twee van de grootste obstakels in softwareontwikkeling: verwarring en herziening.
FDD bestaat uit vijf basisstappen:
- Ontwikkel een algemeen model
- Stel een lijst met functies op
- Plan per functie
- Ontwerp per functie
- Bouw per functie
FDD is een schaalbaar model waarmee je binnen een veel kortere periode nieuwe functies kunt opleveren dan met andere agile-structuren. In plaats van de typische iteratiecyclus van vier weken in een scrum, kun je binnen een FDD bijna elke 2 tot 10 dagen een nieuwe functie leveren. Teams kunnen makkelijker fouten opsporen en oplossen, zich aanpassen aan klantverzoeken en nieuwe teamleden sneller op de hoogte brengen.
Het mooiste van agile werken is dat het meer een richtsnoer is dan een regel waar je je aan moet houden. Welke agile-methode je dus ook volgt, zorg ervoor dat deze aansluit op de behoeften van je team en die van je klanten. Het doel van agile werken is per slot van rekening om teams te helpen sneller te werken en betere producten op te leveren. Kies dus de methode die het beste bij jou past en ga ervoor.
Haal meer uit je sprintretrospective-overleg met deze tips en trucs.
Meer informatieOver Lucidspark
Lucidspark, een virtueel whiteboard in de cloud, is een belangrijk onderdeel van Lucid Software's pakket voor visuele samenwerking. Dit geavanceerde digitale canvas brengt teams samen om te brainstormen, samen te werken en het collectieve denken te consolideren in uitvoerbare volgende stappen - en dat alles in realtime. Lucid is trots op zijn diensten aan belangrijke bedrijven over de hele wereld, waaronder klanten als Google, GE en NBC Universal, en 99% van de Fortune 500. Lucid werkt samen met brancheleiders, waaronder Google, Atlassian en Microsoft. Sinds de oprichting heeft Lucid talrijke onderscheidingen ontvangen voor zijn producten, bedrijfsvoering en werkcultuur. Ga voor meer informatie naar lucidspark.com.