De Agile ontwikkelmethodiek Scrum is gemeengoed binnen de softwareontwikkeling. Het toepassen van deze methodiek zorgt daar voor voorspelbaarheid in doorlooptijd en budget. Door de vroegtijdige realisatie van tussenproducten ontstaat flexibiliteit om te reageren op voortschrijdend inzicht. Binnen de industriële automatisering is het gebruik van de Scrum-methodiek niet vanzelfsprekend. Maar ook hier heeft Scrum veel te bieden.

Dat het gebruik van Scrum binnen industriële automatiseringsprojecten niet voor de hand ligt, zit hem in de projectmanagementdriehoek: tijd, geld en scope. Bij een traditionele watervalmethodiek staat de scope vast en worden de factoren tijd en geld zo goed mogelijk ingeschat. Het vastzetten van de scope is nodig omdat er bijvoorbeeld aan een strenge norm of uitgebreide eisenset voldaan moet worden.

 

Als we kijken naar een typisch project binnen de industriële automatisering – bijvoorbeeld de vervanging van een SCADA-systeem – dan zien we dat men in de praktijk geen achteruitgang in functionaliteit of compliance accepteert. Met andere woorden: het doel is pas behaald als álle eisen die we vooraf stellen volledig zijn gerealiseerd.

 

Scrum-methodiek
De Scrum-methodiek daarentegen vereist een flexibele scope. De factoren geld en tijd staan vast. De scope van het eindresultaat wordt bepaald door de voortgang die behaald kan worden in een vaststaand aantal iteraties (Sprints). Betrokken stakeholders bepalen via de door hun gemandateerde Product Owner welk werkpakket (User Story) de hoogste prioriteit krijgt. De werkpakketten met de hoogste prioriteit worden als eerste gerealiseerd. Het ontwikkelteam plant zelf hoeveel werkpakketten zij binnen één sprint uit kan werken. Zo wordt in iedere sprint een waardevolle functionaliteit toegevoegd aan het al bruikbare product. Het product wordt steeds rijker gedurende de looptijd van het project.

Het eindproduct na afloop van de laatste iteratie is het definitieve eindproduct, zelfs al zijn er nog onuitgewerkte werkpakketten (backlog). Volgens de Scrum-theorie is dit niet erg: door de aangebrachte prioritering zijn de werkpakketten met de hoogste waarde tenslotte verwerkt in het eindproduct. Met andere woorden, binnen de beschikbare tijd en het beschikbare budget is de grootst mogelijke waarde gerealiseerd.

Het bovenstaande gaat niet op wanneer we álle werkpakketten nodig hebben om een waardevol eindresultaat te creëren. Scrum is daarom van nature geen goede combinatie met een traditionele watervalmethodiek zoals het V-model. Deze methodiek is immers geënt op de volledige uitwerking van een vooraf bepaald ontwerp. In de praktijk zien we voorbeelden waar (grote delen van) Scrum toegepast wordt in een watervalproject met vaste scope. Dit ondermijnt de uitgangspunten van de Scrum-methodiek en leidt ertoe dat de verwachte voordelen niet of niet volledig worden behaald. De bedenkers van Scrum, Ken Schwaber en Jeff Sutherland, zeggen het zelf: “Het Scrum-framework is onveranderlijk.”

 

Twee mogelijke toepassingsgebieden
Met deze kennis in gedachten zien we binnen de industriële automatisering twee mogelijke toepassingsgebieden ontstaan:

  1. Een project zonder vaststaande scope wordt volgens de Scrum-methodiek uitgevoerd.
  2. Één of meerdere fasen van een traditioneel watervalproject worden volgens de Scrum-methodiek uitgevoerd.

Toepassing 1: Bij het ontwerpen van een informatiedashboard zijn er per bedrijfsonderdeel verschillende behoeftes denkbaar. In sommige gevallen gaat het om essentiële informatie, in andere gevallen begeven we ons meer in het nice-to-have domein. We kunnen daarom een prioritering aanbrengen in de verschillende behoeftes ten aanzien van het informatiedashboard. Ook kunnen we deze behoeftes verwerken tot losse werkpakketten. Omdat niet álle werkpakketten essentieel zijn om een waardevol informatiedashboard te realiseren, kunnen we gebruik maken van de Scrum-methodiek om dit te ontwerpen. De Product Owner kan zelf na iedere iteratie beslissen of hij het resterende werk waardevol genoeg vindt om nog een iteratie te starten. Totdat zijn budget op is. Het eindproduct is dan voltooid.

Toepassing 2: Bij het vaststellen van de functionele scope voor de automatisering van een rioolwaterzuiveringsinstallatie zijn er vele optimalisaties denkbaar. Scrum kan in dit geval helpen om de ontwikkeling van de functionele scope af te bakenen: Een basale, functionele rioolwaterzuiveringsinstallatie volstaat om het doel (het zuiveren van rioolwater) te bereiken. Maar additionele optimalisaties maken de installatie bijvoorbeeld efficiënter of beter beheersbaar. Vaak is echter maar een beperkte hoeveelheid tijd en geld beschikbaar. Door te beginnen met de basale functionele scope en deze iteratief te vergroten tot de grenzen van tijd dan wel geld bereikt zijn, realiseert men de meest waardevolle functionele scope. Hiermee is het Scrum-traject afgerond en staat de scope vast. Waarna de rest van het project middels een traditionele watervalmethode wordt doorlopen.

 

Veel te bieden
Samenvattend:  Scrum is een ontwikkelmethodiek die ook binnen de industriële automatisering veel te bieden heeft. Ook het integreren van een Scrum-fase in een traditioneel project is goed mogelijk. Om de toepassing van Scrum tot een succes te maken is het belangrijk dat we ervoor zorgen dat onze scope niet vaststaat. Natuurlijk zijn er daarnaast nog vele andere succesfactoren.

Wil je meer weten over de Scrum? Lees dan de gratis Scrum Guide van Ken Schwaber en Jeff Sutherland: The Scrum Guide. Ben je geïnteresseerd naar de mogelijkheden van Scrum binnen jouw industrieel automatiseringsproject? Bel Niels!