Snowbird (Utah), februari 2001: tijdens een bijeenkomst van softwareontwikkelaars ontstaat de term ‘agile software development’ en wordt het Agile Manifesto opgesteld. In deze blog vertellen wij graag meer over deze begrippen.
Wat is agile software development?
Bij agile software development wordt het ontwikkelproces opgedeeld in meerdere korte periodes van zo’n 1-4 weken. Deze periodes worden ook wel ‘iteraties’ genoemd. Tijdens deze iteraties wordt een nieuwe prototype ontwikkeld, opgeleverd en getest. Onder leiding van de scrummaster komt het ontwikkelteam met de opdrachtgever regelmatig bij elkaar om het product en ontwikkelproces te evalueren en de projectprioriteiten opnieuw te beoordelen. De voortgang wordt gemeten aan de hand van tussentijdse opleveringen (de iteraties). In tegenstelling tot de traditionele werkwijzen, waarbij de voortgang veelal wordt gemeten aan de hand van een vaststaand stappenplan.
Centraal staan de wensen en ervaringen van de opdrachtgever. Het implementeren van agile maakt het mogelijk sneller en makkelijker in te spelen op eventuele veranderingen. Bijvoorbeeld wanneer de opdrachtgever zijn/haar wensen aan het product bijstelt. Het grootste voordeel van agile is de flexibiliteit.
Kortom: agile software development draait om het inspelen op (onverwachte) veranderingen tijdens het ontwikkelproces. Dit heeft als doel het kunnen voldoen aan de (fluctuerende) wensen van de opdrachtgever.
Het Agile Manifesto
In het Agile Manifesto staan de vier kernwaarden van agile software development beschreven. Deze zijn:
Deze kernwaarden zijn gebaseerd op 12 principes:
- Verwelkom veranderende behoeftes, zelfs laat in het ontwikkelproces.
- Lever regelmatig werkende software op.
- Mensen uit de business en ontwikkelaars moeten dagelijks samenwerken gedurende het gehele project.
- Bouw projecten rond gemotiveerde individuen. Geef hen de omgeving en ondersteuning die ze nodig hebben en vertrouw erop dat ze de klus klaren.
- 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 belangrijkste maat voor de voortang.
- Agile processen bevorderen ontwikkeling. Opdrachtgevers, ontwikkelaars en gebruikers moeten een constant tempo eeuwig kunnen volhouden.
- Voortdurend aandacht voor een hoge technische kwaliteit en voor een goed ontwerp versterkten agility.
- Eenvoud, de kunst van het maximaliseren van het werk dat niet wordt gedaan, is essentieel.
- De beste architecturen, eisen en ontwerpen komen voort uit zelfsturende teams.
- Op vaste tijden, onderzoekt het team hoe het effectiever kan worden en past vervolgens zijn gedrag daarop aan.
Wanneer je agile beter wel/niet kan toepassen
Het toepassen van agile klinkt makkelijker dan het is. Voor veel bedrijven zal het ook niet de beste oplossing zijn. Voor succes op de lange termijn is het van belang dat de gehele organisatie agile implementeert.
Bron: https://agilemanifesto.org/iso/nl/manifesto.html
Ook interessant: DevOps | Het belang van samenwerken