Scrum: een introductie
Scrum is een werkwijze die in veel bedrijven wordt gebruikt. Iedereen heeft andere redenen om te starten met scrum. Misschien duurt het opleveren van projecten te lang, misschien ben je klaar met specificaties waar je niet mee kunt werken, of misschien wil je gewoon wat meer werken met post-its en structuur. In deze blog leggen we je uit wat scrum is en gaan we in op een aantal voordelen, do’s en don’ts.
Wat is Scrum?
Scrum is een flexibele werkwijze binnen organisaties om stapsgewijs projecten op te leveren. Deze methode wordt vaak gebruikt bij softwareontwikkeling. Er wordt gewerkt met een team van verschillende disciplines. Op een productieve wijze worden projecten vervolgens stapsgewijs, in Sprints, opgeleverd.
Scrum is een manier van werken die valt onder Agile. Agile is een aanpak voor adaptieve software development. ‘Agile is a way of thinking’, waarbij Scrum een methode is voor deze manier van denken. Bij scrum worden de grenzen tussen de verschillende disciplines verkleind en worden taken verdeeld. Verschillende activiteiten worden hierbij gelijktijdig uitgevoerd. Er wordt bij scrum gefocust op het efficiënt voorbereiden van productcomponenten voor publicatie; van schets tot implementatie in blokken van enkele weken.
Naast het scrumteam speelt de opdrachtgever een belangrijke rol. Deze persoon werkt enkele momenten in de week samen met het team en maakt beslissingen. Scrum laat je zien hoe nuttig het is om continu te profiteren van de kennis van de klant, van bijvoorbeeld de doelgroep en markt.
Scrum of Waterfall?
Als je meer wilt weten over Scrum, vind je vaak ook informatie over Waterfall (of: watervalmethode). Dit is een andere bekende methode voor softwareontwikkeling.
Wat is waterfall?
Bij waterfall loopt de ontwikkeling langs een aantal fases naar beneden, als een waterval. Deze fasen zijn: analyse, basisontwerp, technisch ontwerp, bouw, testen, integratie, beheer en onderhoud. In het Waterfall-proces werken verschillende disciplines na elkaar, stap voor stap: strategie, interaction design, visual design en development.
Er wordt pas begonnen aan de volgende fase als de vorige is afgesloten. Wanneer er in een van de fasen een fout wordt ontdekt, gaat men helemaal terug om deze fase te corrigeren en vervolgens de stappen opnieuw uit te voeren.
Nadelen van waterfall
Voor veel projecten is het stap-voor-stap proces problematisch. Dat komt doordat sommige zaken in de praktijk anders verlopen dan je vooraf denkt. Zo kan het zijn dat sommige interacties lastig te bouwen zijn voor de developer of dat een design niet helemaal overeenkomt met de communicatievoorwaarden. Zulke zaken worden pas zichtbaar gedurende het project. Het komt bovendien ook vaak voor dat de opdracht of wensen iets veranderen.
In waterfall zorgen zulke ontwikkelingen voor vertragingen, door het beoordelen en aanpassen van eerdere opleveringen, vereisten en geannoteerde wireframes.
Met scrum vermijd je deze problemen, doordat:
- De verschillende disciplines al vanaf de start samenwerken;
- Er ruimte wordt vrijgelaten voor nieuwe inzichten.
Wat zijn de principes van Agile?
Er is veel gezegd en geschreven over de principes waarop Agile-methodes, zoals Scrum, gebaseerd moeten zijn. Hieronder noemen we er een aantal.
Eindgebruikers eerst
Scrum gaat niet over het team, de klant en zelfs niet over het product. Het gaat over de relevantie voor de eindgebruikers.
Vrijheid versus toewijding
Scrum biedt vrijheid in ruil voor commitment. Dit geldt voor de organisatie, de teamleden en de opdrachtgever.
Tijd besparen
Door de directe communicatie hoeft er minder tijd te worden besteed aan vergaderingen, documentatie en nabewerkingen. Prioritering elimineert de opname van afval in het product zelf.
Leverbaar product
Elk Sprint-resultaat moet een product of productonderdeel zijn dat klaar is om te worden geïmplementeerd - zonder nepkopieën, blokkeerproblemen etc.
Wat zijn de voordelen van Scrum?
Scrum biedt voordelen voor het bedrijf dat de software ontwikkelt, maar ook voor de klant/opdrachtgever.
Voordelen voor de ontwikkelaar
- Scrum legt een basis voor je product
Met de klant/opdrachtgever als onderdeel van het team heb je meer nuttige informatie om je werk op te baseren.
- Scrum zorgt voor aanpasbaarheid
Doordat het project van te voren niet helemaal vaststaat en met een inspectie- en controlesysteem, kun je beter gebruikmaken van doorlopend voortschrijdend inzicht - ongeacht of dit inzicht van de opdrachtgever komt of een ander lid van het team.
- Scrum zorgt voor zichtbaarheid
Scrum maakt het proces, mensen en motivatie zeer transparant. Leuke verrassingen? Ze kunnen worden gevierd met uw klant. Zijn er teleurstellingen? Dan kun je die samen met je klant doorstaan en het wederzijds begrip tijdens het proces vergroten.
Voordelen voor de opdrachtgever
Scrum biedt klanten en opdrachtgevers belangrijke voordelen:
- Korte time-to-market
Scrum is snel. De doorlooptijden zijn ongeveer de helft van die van waterfall.
- Kwaliteit
Scrum stimuleert een gevoel van verantwoordelijkheid voor alle betrokkenen en verbetert de communicatie tussen disciplines. Zo wordt het team veel gemotiveerder en worden grote verrassingen voorkomen. Scrum geeft ook veel meer controle over het eindresultaat. Dit alles heeft een geweldig effect op de uiteindelijke kwaliteit van de afgesproken opleveringen.
- Leveringsgarantie
Monitoring en evaluatie zijn diep verankerd in het Scrum-proces. Daarom kan een scrumteam garanderen dat een product binnen een beperkt, kort tijdsbestek klaar is.
Wanneer is Scrum nuttig?
In de volgende gevallen is Scrum een goede werkmethode:
- Als de producten die je levert veel nabewerkingen vereisen.
- Als projecten vaak uitlopen.
- Als de verschillende disciplines elkaar niet begrijpen en/of elkaar de schuld geven.
- Als ontwerpers dingen ontwerpen die moeilijk te bouwen zijn.
- Als ontwikkelaars problemen ondervinden bij het implementeren van het geleverde ontwerp.
- Als mensen in je organisatie projecten vertragen door voortdurend hun zegje te doen.
Wanneer moet je geen Scrum gebruiken?
Als scrum goed werkt, verlost het je van veel van de extra werk, die je misschien gewend bent bij watervalprojecten. Dit zorgt voor een zeer plezierig proces, waarbij gezond verstand, vakmanschap en passie voor inhoud naar boven komen. Toewijding wordt hiermee beloond.
Toch is Scrum niet voor iedereen weggelegd. In sommige omgevingen en voor bepaalde klanten is Scrum te snel, te geïsoleerd of te gericht op informele samenwerking. Zelfs in deze situaties hoeft Scrum niet helemaal te worden afgewezen. Het opzetten van een Scrumbord is bijvoorbeeld altijd een goede manier om een totaalbeeld te krijgen. Het komt allemaal neer op het vermogen van jouw organisatie om de methode te implementeren voor de specifieke doeleinden.
Scrum is niet handig wanneer:
- Het project veel denkwerk en realisatie vereist;
- De kwaliteit of anciënniteit van teamleden ondermaats is;
- De cliënt moeite heeft met het nemen van beslissingen;
- De opdrachtgever extreem democratisch is of onduidelijke besluitvormingsstructuren heeft; of
- De opdrachtgever of leverancier een zeer formele cultuur heeft.