Agile softwareontwikkeling is een waardegedreven discipline. Aan de basis waardeert agile menselijke creativiteit en vindingrijkheid boven alles.
Het vereist ook dat individuen en interacties evenveel of zelfs meer gewaardeerd worden dan processen en tools.
Deze blog onderzoekt de vier kernwaarden van agile en hun voor- en nadelen en hoe je ze kunt toepassen op klantervaringsprojecten. Lees verder voor een extra richtlijn bij het toepassen van agile waarden.
Wat zijn de Agile Waarden?
Agile waarden dienen als een leidende ethos, of de suggestieve manieren, van de kernwaarden van agile. Waarden vormen de kern van het Agile Manifest en het gedrag dat eraan ten grondslag ligt. Ze vormen een kernaspect van wendbaar zijn omdat ze ons leiden in ons besluitvormingsproces en de keuzes die we elke dag maken tijdens deze reis.
Mensen in een agile team delen agile kernwaarden, wat betekent dat je een kernset van gedragingen en denkwijzen hebt die je elke dag zou moeten volgen.
Een kernwaarde is een overtuiging die ten grondslag moet liggen aan alles wat we op een wendbare manier doen. Deze kernwaarden helpen ons om een ethische benadering te creëren rond onze dagelijkse activiteiten, beslissingen en interacties met elkaar.
Het Agile Manifesto is geschreven door de Agile Alliance in 2001. Het is een overeenkomst om kernwaarden en principes te volgen. De kernprincipes en kernwaarden in het Agile Manifesto helpen ons om onze beslissingen op een consistente manier te nemen, zodat we elkaars tijd niet verspillen.
Volgens het Agile Manifesto kan het integreren van agile waarden helpen om efficiënt te reageren op veranderingen. De kernwaarden van het Agile Manifesto zijn onderling afhankelijk.
De 4 kernwaarden van Agile zoals uiteengezet door het Agile Manifesto
Agile Waarde 1: Individuen en interacties boven processen en tools.
Dit principe gaat over het waarderen van mensen vóór het waarderen van processen en hulpmiddelen.
De focus van deze kernwaarde ligt op interacties tussen mensen tijdens het werk – om betere producten te maken. We kunnen de productiviteit verhogen als we samenwerken om betere producten te maken, niet alleen voor individuen.
Agile waarde 2: Werkende software boven uitgebreide documentatie.
Dit principe hecht meer waarde aan werkende software dan aan uitgebreide documentatie.
De belangrijkste focus van deze kernwaarde ligt op het bouwen van betere producten met een wendbaarheid die snel kan reageren op veranderingen.
Documentatie helpt soms niet om efficiënt te reageren op veranderingen. In plaats daarvan vertraagt het het proces.
Agile waarde 3: Samenwerking met de klant in plaats van contractonderhandelingen.
Werk samen met klanten voordat je aan het werk gaat.
De focus van deze kernwaarde ligt op het bouwen van betere producten met een wendbaarheid die snel kan reageren op veranderingen. Contractonderhandelingen beperken soms het vermogen van organisaties om op een flexibele manier te werken.
Agile waarde 4: Reageren op verandering boven het volgen van een plan.
Dit laatste principe hecht meer waarde aan reageren op verandering dan aan het volgen van een plan.
De focus van deze kernwaarde ligt op het doel van agile, namelijk reageren op verandering.
Hoe verschillen Agile Waarden van Agile Regels?
Agile waarden zijn anders dan agile regels omdat agile waarden de kern vormen van de agile methodologie die kernprincipes, kernpraktijken, kernartefacten en kernwaarden omvat.
Regels bieden begeleiding op een of meer van deze niveaus, afhankelijk van of het specifieke regels of leidende beginselen zijn. Aan de andere kant bieden agile waarden een leidraad op het niveau van de kernwaarden.
Waarden zijn eenvoudigweg abstracte of fundamentele concepten van een hoger niveau die gedrag op een bepaalde manier sturen en mensen hebben ze ongeacht hun situatie (bv. cultuur, organisatiestructuur, goedkeuringsproces).
Een ander belangrijk verschil tussen agile waarden en agile regels is hun focus. Terwijl waarden zich richten op wat belangrijk is vanuit een organisatieperspectief, richten regels zich op hoe dingen gedaan moeten worden. Ze dienen als leidraad voor het proces en de acties van agile teams. Met andere woorden, het gaat om de actie, niet om de intentie.
De overeenkomsten tussen agile waarden en regels zijn echter ook belangrijk. Net zoals agile regels gebaseerd zijn op en ondersteuning bieden aan de vier agile kernwaarden, geven de vier agile kernwaarden ook richting aan acties voor agility teams door hun gedrag te sturen.
In de volgende paragraaf zullen we de voor- en nadelen van agile waarden onderzoeken.
Wat zijn de voor- en nadelen van het gebruik van Agile-waarden voor klantervaring?
Voordelen van het integreren van Agile-waarden
- Maakt het team flexibeler en beter bestand tegen elke verandering: Agile waarden moedigen verandering in het team aan om eventuele uitdagingen aan te gaan. Het is waardevol omdat agile praktijken zoals continuous delivery en CI/CD niet mogelijk zouden zijn zonder agile waarden zoals het verhogen van kwaliteit en samenwerking.
- Maakt het makkelijker voor teams om kansen te zien en erop te reageren: De kernleden van het agility-team hoeven de processen of documentatie die niet agile zijn niet te doorlopen. Het is een kernwaarde omdat deze waarden de tijd die agile teams nodig hebben om te reageren op veranderingen zou verminderen en hen zal helpen efficiënter te worden.
- Stimuleert leren: Agile waarden moedigen aan om te leren door werkwijzen tijdens het proces aan te passen. De leden van het agility team worden aangemoedigd om te leren door agile praktijken zoals continue technologie die in productie wordt gebruikt.
- Maakt transparantie mogelijk: Transparantie betekent dat er geen vertrouwen is tussen agility teams en de waarde van agile methoden. Het zorgt ervoor dat beide partijen een open kanaal hebben om met elkaar te communiceren.
- Versterkt teams: Het stelt agility teams in staat om beslissingen te nemen over producten. Het agile team heeft de capaciteit om zichzelf te besturen, goede keuzes te maken en te leren van mislukkingen. Hierdoor zijn er geen managers meer nodig die anders agile projecten zouden belemmeren met hun bureaucratie.
- Problemen snel oplossen: Het stelt agility teams in staat om problemen snel op te lossen. Agile methoden zijn vrije vereisten die meerdere managementniveaus mogelijk maken, weinig documentatie vereisen en de huidige werkpraktijken respecteren.
- Helpt het ontwikkelingsteam om te gaan met problemen van klanten: Agile ontwikkelteams hebben de capaciteit om verzoeken en klachten van klanten te beheren. Het team zal in staat zijn om problemen te voorkomen door deze methoden te gebruiken.
Nadelen van het integreren van Agile-waarden
Er zijn niet veel voor de hand liggende agile waarden. Na verloop van tijd zijn echter de volgende nadelen onderkend.
- Nadelen van samenwerking met klanten: Samenwerking met de klant kan leiden tot een traag productontwikkelingsproces en een hoog projectrisico als de klant, die ook de producteigenaar is, niet goed begrijpt wat hij wil of hoe het ontwikkeld moet worden. Bij grotere projecten met meerdere gebruikersgroepen wordt dit een nog groter probleem. In dit geval is er behoefte aan een effectieve producteigenaar.
- Nadelen van reageren op verandering: Reageren op verandering kan het proces ook vertragen. Het kan bijvoorbeeld erg moeilijk zijn voor het team om het werk te plannen en in te schatten als niemand weet wat ze gaan doen tot vlak voordat ze het gaan doen. Het onvermogen om het werk te plannen zorgt ervoor dat de iteratie eindigt met veel onafgemaakt werk.
- Nadelen van werkende software: Niet alle code is gelijk. Het duurt lang om werkende software van de ene groep aan de andere over te dragen. Zonder een effectief team kan het uiteindelijk meer middelen en tijd kosten om de werkende software te maken dan wanneer het werk binnen één team wordt gedaan. De vertraging in de ontwikkeling kan leiden tot hoge kosten voor beide teams.
- Nadelen van individuen en interacties: Om als team te kunnen werken, moet het team weten hoe de individuen werken. Bij agile ontwikkeling worden teams gedefinieerd door uit wie ze bestaan in plaats van wat ze doen. Dit leidt tot groepen die niet begrijpen hoe anderen denken en werken, wat leidt tot minder effectieve communicatie.
Richtlijnen om in gedachten te houden als je Agile waarden gebruikt
- Agile waarden zijn geen strikt proces of strikte methodologie die specifieke manieren om een product te maken of te ontwikkelen als regels voorschrijven, maar zijn eerder de onderlijning, het leidende ethos of de manier van werken.
- Agile waarden moeten door teams worden geïnterpreteerd op een manier die voor hen werkt, waarden moeten niet worden geïmplementeerd als een set regels.
- Agile waarden werken het beste wanneer teams beslissen welke waarde op hen van toepassing is en hoe ze die moeten gebruiken. Teams moeten voortdurend leren en verbeteren.
- Agile waarden zijn geen regels, als teams het gevoel hebben dat een van de waarden hun vooruitgang kan belemmeren, dan moeten ze die negeren of veranderen.
- Agile waarden zijn geen strikte proces- of methodologievolgorde, Agile teams kunnen processen en methodologieën volgen zolang ze ook volgens de waarden werken.
- Agile waarden moeten door teams worden geïnterpreteerd op een manier die voor hen werkt. Waarden moeten niet worden geïmplementeerd als een set regels.
- Agile waarden werken het beste wanneer teams beslissen welke waarde op hen van toepassing is en hoe ze die moeten gebruiken.
Conclusies
Agile is geschikt voor teams en organisaties die bereid zijn om snelle veranderingen door te maken en toch flexibel te blijven onder druk. Dit vereist dat het team zelforganiserend, communicatief, zeer coöperatief en transparant is.
Agile waarden zijn het meest effectief wanneer ze worden toegepast in teams met leden die bereid zijn om hun gewoonten te veranderen in de richting van teamsucces. Het is niet gemakkelijk, maar als je het eenmaal onder de knie hebt, kan je team het nog jaren gebruiken.
De waarden zijn geen regels, maar richtlijnen die je helpen om buiten de gebaande paden te denken. Je hebt nu de juiste tools, ga je gang en pas wendbaarheid toe in je klantervaringsprojecten.