Agile teams hebben laten zien dat zij een goede manier zijn om producten van hoge kwaliteit te leveren. Agile heeft kwaliteit hoog in het vaandel staan en maakt gebruik van verschillende agile methoden om software van hoge kwaliteit te ontwikkelen.
Wat is Kwaliteit?
Ik denk dat kwaliteit betekent dat aan de behoeften van de gebruikers voldaan wordt en dat zij waarde ontvangen. Kwaliteit van een softwareproduct of service wordt bepaald door de gebruiker, niet door het agile team. Teams kunnen dus alleen kwaliteit leveren als ze gedreven worden door de behoeften van de gebruikers. In agile wordt dit onderstreept door de agile warden en door nauwe samenwerking tussen de eigenaar van het product en het agile team.
Agile Waarden
Het agile manifest beschrijft de waarden die agile belangrijk vindt. Ik denk dat deze waarden de levering van kwaliteitssoftware ondersteunen. Bijvoorbeeld “werkende software met begrijpelijke documentatie”, wat zich focust op het leveren van producten aan gebruikers. Het moedigt aan om vroeg en vaak te leveren, waardoor gebruikers de software kunnen gaan gebruiken en waarde terug krijgen door hun klanten te bedienen. Ook “reageren op verandering door een plan te volgen” resulteert in hogere kwaliteit omdat het agile teams aanmoedigt software aan te passen die niet aan de behoeften van de gebruiker voldoet.
Samenwerking met klanten
Samenwerking met potentiële gebruikers van de software is essentieel als je wil begrijpen wat kwaliteit is. Scrum is zich bewust van de rol van de eigenaar van het product en dat hij of zij de vereisten definieert en zich richt op klant waarden. Bij het plannen werken de eigenaar van het product en het agile team nauw samen om zo de vereisten te kunnen definiëren en te bepalen wat prioriteit heeft, door gebruik te maken van gebruikersverhalen.
In de dagelijkse meetings bekijken de teams hun voortgang en bespreken ze dingen die mogelijk de levering kunnen bemoeilijken. Na de sprint wordt een demo gebruikt om de producten en diensten die ontwikkeld zijn te laten zien, waarna ze geaccepteerd worden door de eigenaar van het product.
Kwaliteitsmanieren
Omdat de agile waarden kwaliteit onderstrepen en de agile teams veel samenwerken, is het geen verassing dat de agile teams software van hoge kwaliteit leveren. Maar hoe doen ze het? Laten we eens kijken naar een aantal manieren voor het leveren van software die door de agile teams gebruikt worden.
Pair programming bijvoorbeeld, waarbij twee ontwikkelaars een keyboard en scherm delen. Één ontwikkelaar typt terwijl de ander de code leest en potentiële problemen aankaart en daar verbeteringen voor voorstelt. Bij pair programming wordt de code nagekeken terwijl hij geschreven wordt, waardoor er snel feedback wordt gegeven aan de ontwikkelaar en er geen fouten kunnen ontstaan in de eerste stadia van de software.
Een andere manier die de kwaliteit van producten verhoogt is Test Driven Design (TDD). Als de test geschreven is voor de software, weet je door het uitvoeren van de test dat de software werkt. Tests worden toegevoegd aan de regressietest, zodat het team tijdens de ontwikkelingsfase weet dat de software correct blijft.
“Refactoring” past een bestaande code aan om aan de huidige behoeften te voldoen. Het kan gebruikt worden om de prestatie van een product te vergroten of om een nieuwe functie toe te voegen. Teamleden moeten hun ‘refactoring’ vaardigheden ontwikkelen, zodat zij de code efficiënt kunnen updaten en tegelijkertijd de kwaliteit van het softwareproduct kunnen waarborgen.
Agile teams verbeteren hun manier van werken constant door te werken met retrospectieven. Door te reflecteren na een sprint kan het team zien welke dingen goed gingen en welke beter kunnen en ze evalueren ook wat ze geleerd hebben. Agile vindt verbetering erg belangrijk en teams leren constant om beter te worden in wat ze doen, waardoor zowel hun effectiviteit als efficiency vergroot worden.
Conclusie
Agile teams worden gedreven door waarden die kwaliteit erg belangrijk vinden, de teams werken nauw samen met de gebruikers van de software en ze hebben verschillende manieren waardoor softwareproducten van hoge kwaliteit ontwikkeld worden. Hierdoor is het geen verassing dat de agile teams software en diensten van hoge kwaliteit leveren aan hun gebruikers.
Meer informatie
Er zijn verschillende artikelen beschikbaar die over hetzelfde onderwerp gaan als deze blog:
§ Getting Business Value out of Retrospectives
§ Improving Code Quality with Pair Programming
Over de auteur: Ben Linders heeft veel internationale ervaring, hij is gespecialiseerd in kwaliteit, procesinnovatie en organisatorische ontwikkeling. Hij is een teamspeler, gedreven, ondersteunend en pragmatisch. Toegewijd aan het op tijd leveren van kwaliteitsresultaten.
Website:http://www.benlinders.com
Email:info@benlinders.com







