Eén van onze kernwaarden is dat we sprintvaardig zijn. Een sprint is bij ons een periode van 2 weken waarin ‘iets’ wordt opgeleverd. Het is gebaseerd op de scrum aanpak en in deze blog leggen we uit waarom.
1. De herkomst van scrum
De term scrum komt uit de rugby sport, waarbij in een woest tempo de bal wordt rondgespeeld. Bovenstaande foto zegt genoeg.
Maar ook in product ontwikkeling is het een veelgebruikte term.
Scrum is een Agile aanpak, een verzamelnaam van methodieken om producten te ontwikkelen. Onder de Agile paraplu vallen diverse manieren van software ontwikkelen:
- Extreme programming
- DSDM (Dynamic System Development Methode)
- ASD (Adaptive Software Development)
- Crystal
- Scrum
Bovenstaande is een lijst van vaktermen, maar ze hebben gemeenschappelijk dat het allemaal methodieken zijn met een zo min mogelijke bureaucratie. Deze methodieken bestaan al jaren, maar zijn in 2001 vastgelegd in het Agile Manifesto. Het is een kort en krachtig Engels statement van 68 woorden en vertaald in het Nederlands:
Wij laten zien dat er betere manieren zijn om software (en producten en diensten) te ontwikkelen door in de praktijk aan te tonen dat dit werkt en door anderen ermee te helpen. Daarom verkiezen we:
Mensen en hun onderlinge interactie boven processen en hulpmiddelen
Werkende producten boven allesomvattende documentatie
Samenwerking met de klant boven contractonderhandelingen
Inspelen op verandering boven het volgen van een plan
Gelukkig is Agile niet meer voorbehouden aan alleen softwareontwikkeling. De basis van de filosofie is namelijk toepasbaar op vrijwel iedere organisatie. De essentie is namelijk continu leren en verbeteren, snel en vaak opleveren en eigenaarschap.
Op de website van project-management.com kan je een uitgebreide uitleg vinden en de daarbij onderliggende principes. In deze blog focussen we verder op scrum.
1.1 Focus in productontwikkeling
Scrum is een zeer transparante en resultaat gedreven aanpak. Het geeft focus aan productontwikkeling, samenwerking, kwaliteit en aan het continue maximaliseren van de toegevoegde waarde vanuit het projectteam.
Baulds heeft bewust gekozen voor deze aanpak omdat het eenvoudig is, weinig overhead heeft en resultaat gericht. Het is een van onze vier kernwaarden die tijdens ons rebranding traject meer expliciet is gemaakt.
“Scrum is een transparant en resultaat gedreven aanpak”
2. De voordelen van scrum
Samen met het team wordt een project opgepakt. De teamleden zijn betrokken bij het plannen, benoemen van issues en blokkades en verdelen van de (sub)taken. Uitgangspunt is dat de teamleden inhoudelijk goed op de hoogte zijn. Wat levert het op?
- Scrum verhoogt de effectiviteit van het team;
- Biedt een optimale ROI (Return Of Investement)
- Resultaatgericht, want iedere sprint van 2 weken is er sprake van een oplevering van een stuk werkende software/hardware
- Scrum biedt duidelijk inzicht in de voortgang van het project/software development
“Scrum sluit aan bij onze andere kernwaarde: realisators”
3. Scrum begrippen
Er zijn vele (Engelse) vaktermen en hieronder volgt een overzicht die bij ons gebruikt worden.
3.1 Daily standup
Elke dag houdt ons team een korte meeting van circa 15 minuten die bij ons de ‘Daily standup” wordt genoemd. Ook wel bekend als de Daily Scrum.
Het doel van deze korte meeting is zorgen dat iedereen zo effectief mogelijk bezig is. Om de meeting kort en effectief te houden blijft iedereen staan en beantwoord de volgende 3 vragen:
- Wat heb ik gedaan sinds de vorige meeting?
- Wat ga ik doen tot de volgende meeting?
- Welke issues heb ik en welke hulp heb ik daar bij nodig?
3.2 Definition of Done
De Definition of Done beschrijft waar het resultaat van een sprint aan moet voldoen. Het is een hulpmiddel voor het team om de kwaliteit van het werk constant te houden.
Het team stelt dit zelf op en beschrijft dingen als testen, unittesten, documentatie enz.
3.3 Product Backlog
De Product Backlog is een lijst met resterend werk voor het product. Deze items worden ook wel User Stories genoemd.
Alle Backlog items zijn voorzien van business value of prioriteit. Daarmee wordt aangegeven hoeveel waarde een item heeft voor de klant of gebruiker.
De items worden door het team van een inschatting voorzien. Op basis van de verwachte waarde en de vereiste inspanning kan de Return on Investment (ROI) berekend worden.
Formeel is een Product Backlog op basis van de ROI geprioriteerd. Wij sorteren op prioriteit. Dit zorgt ervoor dat de beschikbare capaciteit altijd optimaal wordt ingezet.
3.4 Product owner
Een Product Owner is een belangrijk rol. Hij of zij vertegenwoordigt de belangen van de klant en van andere stakeholders. Hij zorgt ervoor dat het team met de juiste dingen bezig is.
Daarvoor houdt de Product Owner een lijst (Product Backlog) bij van items die nog aan het product toegevoegd moeten worden.
De belangrijkste taak van de Product Owner is het vaststellen van prioriteiten. Het werk, wat opgepakt moeten worden in de sprint moet maximale waarde opleveren voor de klant.
De Product Owner zorgt ook voor afstemming van die prioriteiten met verschillende stakeholders, in ons geval de klanten.
3.5 Rolverdeling
Er zijn drie rollen in Scrum die deels al hierboven genoemd zijn:
- Product Owner, die de belangen van de klant vertegenwoordigd;
- Scrum Master die coachend het proces ondersteund. Bij ons is het de Teamlead;
- Het team, die in een korte tijd werkende software e/o hardware oplevert.
De Scrum Master ziet er op toe dat het team zich houdt aan de spelregels van Scrum. Hij beschermt het team gedurende de Sprint zodat het team focus houdt op de doelen waaraan commitment is afgegeven.
Deze rol helpt het team om zichzelf te verbeteren, meer snelheid te maken en hogere kwaliteit op te leveren door hindernissen (Impediments) voor het team op te ruimen.
Wij bij Baulds hebben een Software Teamlead én een Hardware Teamlead aangesteld.
3.6 Sprint
Scrum is een iteratieve methode. Elke iteratie wordt een ‘Sprint’ genoemd. Een Sprint duurt bij ons 2 weken. Binnen deze tijd pakt het team een vooraf geselecteerde en afgesproken hoeveelheid werk op wat helemaal afgemaakt wordt.
Het resultaat van elke Sprint is een stukje werkende software, product of hardware . Daardoor is het product snel bruikbaar en krijgt het team snel feedback op het product en het proces.
Binnen de Sprint wordt al het werk gedaan wat in andere projectmanagement methoden over meerdere fasen is verdeeld. Door de korte iteraties heeft de klant veel eerder inzicht in de voortgang van het project en blijven de business en het ontwikkelteam beter met elkaar ‘aligned’.
“Scrum is een iteratieve methode en elke iteratie is een sprint van 2 weken”
3.6.1 Sprint backlog
De Sprint Backlog is een takenlijst die het team in de Sprint moet afwerken. Items van de Product Backlog worden door het team opgedeeld in taken tijdens de Sprint planning (bij ons) 2-wekelijke meeting.
Taken van de Sprint Backlog worden niet toegewezen, maar de teamleden pakken zelf taken op die urgent zijn en passen bij hun kennis en ervaring.
3.6.2. Sprint planning meeting
Elke Sprint begint met een Sprint planning meeting. In onze 2 wekelijkse meeting bespreekt de Product Owner het werk wat hij graag gedaan wil hebben moet het team.
Vervolgens selecteert het team de items van de backlog die in één Sprint opgepakt kunnen worden. Deze items worden door het team uitgewerkt in taken en die taken worden van een inschatting voorzien.
Het resultaat is een Sprint plan wat in korte tijd van 1 of 2 weken uitgevoerd kan worden waarbij er zekerheid is over de uitkomst.
4. Team
Het team is vaak multidisciplinair en zelfsturend. Dat betekent dat het team zelfstandig in staat is alle taken van ontwerp, realisatie, testen tot en met de oplevering te verzorgen.
Een team bestaat uit 5 tot en met 9 deelnemers. Het (software, hardware of project) team is verantwoordelijk voor zowel het inplannen als het uitvoeren van het werk tijdens een Sprint.
Het bijzondere van Scrum is dat het team zelf verantwoordelijk is voor het werkproces. Door elke Sprint af te sluiten met een evaluatie wordt continue gewerkt aan verbeteringen aan dit proces.
5. Sprintvaardig
Achter de kernwaarden sprintvaardig zit een hele filosofie. Het is de essentie van onze werkwijze om in relatief korte tijd resultaten te boeken. Deze aanpak hebben we het afgelopen jaar eigen gemaakt. Dat betekent niet dat we niet meer verbeteren. We leren elke dag en als we kans zien om te verbeteren dan gaan we hier direct voor.
Vragen over onze werkwijze? Aarzel niet om contact op te nemen!