Met Scrum werk je niet alleen efficiënter, maar ook leuker

Met Scrum werk je niet alleen efficiënter, maar ook leuker

25 januari 2019

Scrum is een term die je steeds vaker hoort. De vraag is of het een hype is of dat de methodiek echt toepasbaar is. En zo ja, hóe kun je Scrum toepassen? Yellax past deze methodiek al vele jaren toe, zowel bij de ontwikkeling van Typical Manager en Beefinity als bij de ontwikkeling van standaarden bij onze klanten. De term Scrum komt uit de rugbywereld. Samen er tegenaan, daar draait het om. Hierdoor is het niet alleen efficiënter, maar ook veel leuker.

In de wereld van technologische ontwikkeling (R&D) weet je vaak pas wat je qua functionaliteit wilt hebben op het moment dat de functionaliteit daadwerkelijk gerealiseerd is. Stel je voor: na drie maanden hard werken ben je trots op wat je gemaakt hebt. Blij dat het op tijd af is, toon je de functionaliteit. Op dat moment kan het zomaar zijn dat wat is ontwikkeld helemaal niet aansluit op de werkelijkheid en niet in praktijk zal worden gezet. Dergelijke verhalen halen helaas maar al te vaak het nieuws. Hebben de ontwikkelaars het niet goed begrepen of zijn ze verkeerd ingelicht? Was de situatie uiteindelijk toch niet zo beschreven als de werkelijkheid of is de wens veranderd? Om deze uitdagingen het hoofd te bieden, heeft Yellax gekozen voor een flexibele manier van ontwikkelen. Tussentijds valideren en mensen betrekken, dat is de basis van Scrum.

Scrum in de Industriële automatisering

Scrum is ontstaan in de markt voor software-ontwikkeling. De methodiek biedt echter voordelen voor veel meer branches. Wellicht niet altijd exact in de vorm zoals de Scrum-methodiek voorschrijft, maar ook losse onderdelen zijn toepasbaar. Bijvoorbeeld om een team flexibeler te maken en samen veranderingen en onzekerheden in een project beter op te vangen. Denk aan het samenstellen van teams. Een team waarin iedere discipline is vertegenwoordigd en waarin teamleden echt samenwerken om het project te volbrengen, bereikt het meest.
Er wordt minder werk over de schutting gegooid en er is veel meer gezamenlijk belang voor de klant. Het houden van een Daily Scrum met het team – in maximaal 15 minuten samen de dag doornemen – zorgt voor een betere teamspirit en meer begrip voor elkaar. Bij Scrum maak je de planning met elkaar. Dit zorgt niet alleen voor een betrouwbaardere inspanning, maar ook voor meer helderheid over de werkzaamheden. In onderstaande alinea’s leggen we kort uit hoe Scrum er in de praktijk aan toe gaat.

Hoe het werkt

Scrum is een methodiek die ontstaan is om structuur te bieden in een project waarin eisen, wensen en verwachtingen zeer snel kunnen (en vrijwel altijd zullen) veranderen. Met Scrum wordt  gewerkt met kleine oplevercycli (Sprints). Een Sprint duurt meestal twee tot vier weken en op de eerste dag van deze Sprint wordt pas bepaald wat gemaakt gaat worden (Sprint Planning). Dit zorgt ervoor dat het mogelijk is om iedere paar weken de ontwikkeling bij te sturen. Over meerdere Sprints heen kan het bij Yellax wel zo zijn, dat we toewerken naar een grotere release of functionaliteit. We splitsen deze dan op in kleine, hapklare, brokjes (Backlog items of User stories).

Sprintplanning 

Tijdens de Sprintplanning bepaalt een team samen met de producteigenaar welke items op dat moment de hoogste prioriteit hebben. Het team en de producteigenaar overleggen wat wel en wat niet in de Sprint past. Aan het einde van de planningssessie stel je de Sprint ‘vast’. Dit houdt in dat tijdens het verloop van de sprint niets verandert aan de Sprint Backlog. Mocht een nieuw inzicht ertoe leiden dat extra ontwikkeling nodig is, dan kan dit in de volgende Sprint meegenomen worden. Dit zorgt voor structuur binnen het team: het is duidelijk wat er op de agenda staat en er is geen tussentijdse afleiding voor bijvoorbeeld een kleine aanpassing.
Deze vaste structuur zorgt voor een voorspelbaarder team en betere inschatting hoeveel werk het bouwen van een functionaliteit kost. Daarnaast is iedere dag inzicht in waar het team staat in de planning en wat iedereen de afgelopen dag heeft gedaan. Wat ontwikkelen we de volgende dag en welke problemen moeten we oplossen om het Sprintdoel te bereiken? Deze dagelijkse meeting noemen we Daily Scrum en zorgt ervoor dat we iedere dag een beetje bij kunnen sturen om aan het einde van de Sprint alle geplande functionaliteiten te hebben afgerond.

Backlog Refinement

Om goed in te schatten hoeveel werk iets kost, is er iedere Sprint een Backlog Refinement (verfijnen van de Backlog). Deze sessie is bedoeld om te bepalen welke volgende Sprints op de Sprint Backlog komen. Let wel: de daadwerkelijk Sprint Backlog wordt uiteindelijk pas bepaald tijdens de Sprintplanning. Tijdens de Refinement kijken het team en de producteigenaar naar de te ontwikkelen functionaliteiten. Zijn deze voor iedereen duidelijk? Mist er nog informatie? Kan de functionaliteit worden opgesplitst in kleinere brokjes? Want in de praktijk blijkt dat hoe kleiner de Backlog items, des te beter deze in te schatten zijn. Door met alle leden van het team te kijken naar de verschillende Backlog-items ontstaat ook meer begrip tussen verschillende personen. Waar iemand licht over kan denken ziet een ander juist vooraf al uitdagingen. Door deze discussie aan te gaan, is het mogelijk om Backlog-items steeds beter te beschrijven , wat zorgt voor duidelijkheid voor het team.
Een gevaar van gezamenlijk inschatten is dat de leden van het team te lang blijven hangen in het inschatten (en polderen). Daarom schat je de hoeveelheid werk niet in exacte uren, maar in effort (inspanning). Dit is een getal zonder eenheid, dat wordt bepaald op gevoel, gebaseerd op ervaring, complexiteit en onzekerheid. Wanneer je met Scrum begint kan dit wat vreemd aanvoelen, hierna zal je merken dat deze effort juist erg goed werkt.

Sprint retrospective 

Aan het einde van iedere Sprint evalueert het team ook hoe de Sprint is gegaan. Dit is wellicht de belangrijkste vergadering van Scrum. Hierbij bekijk je niet zozeer naar wat er ontwikkeld is, maar juist naar hoe dit is gegaan (het proces). Is het bijvoorbeeld mogelijk om nog duidelijker te beschrijven wat gebouwd moet worden? Is het mogelijk om bepaalde stappen die vaak terug komen te automatiseren en kunnen we knelpunten oplossen? Dit helpt om iedere Sprint nog efficiënter te werken. Hierdoor vinden continu verbeteringen plaats in het proces, het team en de gebruikte technologie.

Conclusie 

Door een aanpak middels Scrum met de bijbehorende Sprint-planning, product Refinement, Sprint review en retrospective is het mogelijk om:
•    eenvoudig in te springen op vragen vanuit de markt;
•    goed aan te sluiten op de praktijk;
•    de hoeveelheid overbodige ontwikkeling terug te dringen;
•    snel te schakelen op veranderingen;
•    het iedere keer weer beter te doen.

Scrum heeft er bij de ontwikkeling van Yellax-software eerst voor gezorgd dat wij sneller kunnen reageren op vragen vanuit de markt en van onze gebruikers. Verder zijn we steeds beter geworden in het inschatten van werk en is er meer wederzijds begrip tussen de ontwikkelaars en de stakeholders. Tevens stellen we onszelf iedere keer de vraag: hoe kunnen we het deze keer nog beter doen: voor onze klanten en voor onszelf? Deze ervaring heeft ertoe geleid dat we deze methodiek ook veelvuldig toepassen bij standaardisatie en implementatie van Typical Manager en BeeFinity.

Overige berichten

25 januari 2019

Pre-engineering in de Industriële Automatisering van onschatbare waarde

In de wereld van industriële automatisering is de rol van pre-engineering binnen het engineeringsdomein...

Lees verder

25 januari 2019

Een krachtige oplossing voor het capaciteitsprobleem in electrical engineering

Werk je in een organisatie binnen de industriële automatisering? Dan ken je de uitdagingen: beperkte...

Lees verder

25 januari 2019

Eenvoudig genereren naar WinCC Unified

Regelmatig krijgt Yellax de vraag of we ervaring hebben met WinCC Unified, en het genereren van plaatjes...

Lees verder