Wij werken Scrum en zijn super Agile

De meeste bedrijven in de IT-sector kennen de termen Scrum en Agile en er wordt kwistig mee rondgestrooid. Bij Novaware zijn we niet achtergebleven; wij werken dus ook volgens de Scrum principes.

Scrum Agile

We zijn dus superagile. Maar waarom doen we dat, behalve dan om hip te klinken en mee te gaan met onze tijd? Dat leggen we graag aan je uit.

Wat is Scrum?

Scrum is eigenlijk een framework, een methodiek, die wordt ingezet bij het managen van complexe en aan verandering onderhevige projecten. Met name in de IT-wereld wordt dit veel ingezet, maar ook bij andersoortige projecten kan het zinvol zijn.

Scrum is op veel fronten fundamenteel anders dan het meer traditionele waterval projectmanagement. Scrum houdt er rekening mee dat de wereld waarin wij leven sterk aan verandering onderhevig is. Vaak ook is er in projecten onduidelijk wat er in detail wat er ontwikkeld moet worden of zijn er flinke risico's in het spel. Dat vraagt om een aanpak die ruimte biedt voor veranderende wensen, maar tegelijkertijd ook duidelijkheid schept in wat er verwacht wordt.

Bij meer traditioneel projectmanagement wordt het pakket van eisen van tevoren uitgewerkt en vastgesteld. Hier gaan vervolgens de ontwikkelaars mee aan de slag. En na een periode ‘onder water’ komt het team weer boven met het eindproduct. Inmiddels kan er alweer zoveel veranderd zijn in de buitenwereld, dat het eindproduct eigenlijk alweer verouderd is voor het überhaupt in gebruik genomen wordt. Daarnaast kan het zo zijn dat bepaalde onderdelen anders worden geïnterpreteerd door het team, dan dat het bedoeld was door de opdrachtgever. Of de werking van bepaalde uitgewerkte functionaliteit is in werkelijkheid toch minder handig dan vooraf bedacht op papier. Verder is een veel voorkomend probleem bij projecten dat deze altijd uitlopen qua tijd of budget, of zelfs beide.

Maar nu weer terug naar Scrum. Hoe zorgt deze methode er dan voor dat er wél iets wordt opgeleverd dat past bij de actuele omstandigheden en wensen van de klant? En wat niet duurder wordt dan vooraf bedacht?

Scrum is gebaseerd op empirisme. Kennis ontstaat uit ervaring en beslissingen worden genomen op basis van wat bekend is. De drie pijlers: transparantie, inspectie en aanpassing vormen het fundament. Vanuit die drie pijlers komen een aantal principes en vastgestelde events, die ervoor zorgen dat een project succesvol is. Deze blog wordt te gedetailleerd als we elk onderdeel van Scrum helemaal uitleggen, maar op hoofdlijnen geven we graag een inkijkje.

De sprint

Een belangrijk event binnen Scrum is de sprint. Het doel van elke sprint is dat er werkende functionaliteit wordt opgeleverd. Wat deze functionaliteit exact is en of deze aan het eind van de sprint ook live wordt gezet stemmen we, voorafgaand aan de sprint, af met de klant. In ons geval duurt een sprint 2 weken. Samen bepalen we welke items we op willen gaan pakken in die periode. Met het scrum team bepalen we hoe we dat gaan doen, we schatten in hoeveel tijd het ons per item gaat kosten en welke informatie we nog missen. Dit wordt vertaald naar kleine, behapbare brokken werk die op de backlog staan.

Tijdens de sprintplanning combineren we onze overall planning met de verschillende projecten. Zo stellen we de werkvoorraad samen voor de komende 2 weken. De items die we gaan oppakken komen terecht op de sprint backlog. Met het houden van de sprintplanning start ook de sprint. Een eenmaal gestarte sprint betekent dat er de komende 2 weken geen veranderingen meer zijn in wat we oppakken (uitgezonderd support items).

Tijdens een sprint is er regelmatig contact met de klant over de voortgang, specifieke vragen bij bepaalde items. Maar ook denken we alvast na over wat we in de volgende sprint gaan doen. Een nieuwe wens kan dus al heel snel gerealiseerd worden binnen een groter, langlopend project.

Het team

Een scrum team bestaat uit 3-9 personen. Binnen het team wordt onderscheid gemaakt tussen:

  • De scrummaster – Hij/zij is verantwoordelijk voor het goed begrijpen en toepassen van Scrum en het oplossen van belemmeringen.
  • De productowner – Hij/zij is verantwoordelijk voor het maximaliseren van de opgeleverde waarde door goed onderhoud van de backlog en door veel feedback op te halen bij eindgebruikers en stakeholders.
  • Het development team – Dit zijn alle mensen die zelfsturend samenwerken aan de items op de sprint backlog. Dit team omvat verschillende professies.

Scrum werken wordt door ons team als prettig en effectief ervaren, maar het kent ook zeker uitdagingen.

Houvast

Zo is het bijvoorbeeld lastig om een offerte van tevoren tot in detail in te schatten. Dit botst namelijk met de Scrum denkwijze dat de wereld aan verandering onderhevig is. Klanten hebben vaak wel behoefte aan deze houvast, zodat ze exact weten wat ze kunnen verwachten aan het eind van het budget en het project. Tegelijkertijd denken wij dat ook juist de klant erbij gebaat is dat het project elke sprint weer kan worden bijgestuurd en dat veranderde prioritering geen probleem is.

Inschatten

Een andere uitdaging is om voldoende tijd te steken in het inschatten van items die op de product backlog staan. Een goede inschatting en doordenking vooraf met het team levert tijdwinst, gezamenlijk begrip en een goede sprintplanning op.

De inschatting zelf is ook best lastig, vooral in de beginfase. Bij een te krappe inschatting dreigt het gevaar dat de sprint te vol wordt en daarmee niet haalbaar, terwijl dit wel de verwachting is die aan het begin van een sprint gewekt wordt. Als team is dit een leerproces waarin we steeds beter definiëren wat we precies inschatten, welke technische oplossing hieraan ten grondslag ligt en wat de bijkomende risico’s zijn. Een bijkomend voordeel is dat je hierdoor ook constant aan kennisdeling doet, door gezamenlijk over de aanpak na te denken.

Maar wat zijn nu de voordelen?

Wij zien een aantal voordelen van Scrum-aanpak. Bijvoorbeeld:

  • De klant heeft altijd inzicht in de status via ons projectbord in Jira
  • Veranderende inzichten kunnen snel meegenomen worden
  • Ontwikkelaars krijgen veel ruimte voor zelfsturing
  • Meer grip op het project
  • Meer grip op de kosten
  • Meer grip op de scope
  • De ROI is vaak hoger dan bij traditioneel projectmanagement
  • Snellere (deel)producten die al gebruikt kunnen worden – elke 2 weken nieuwe functionaliteit
  • Sneller feedback verzamelen die meegenomen kan worden in de verdere ontwikkeling
  • Korte lijntjes tussen het scrum team en de verschillende stakeholders

Wij zijn erg enthousiast over Scrum. Vooral wanneer je de regels strikt toepast, levert het een goede structurele aanpak op van een project, waarbij de klant steeds betrokken blijft en het uiteindelijke product vaak de verwachting overtreft!