Agile

In het verleden werden applicaties vaak als één groot monoliet systeem gebouwd. Doordat deze applicaties in grote mate geïsoleerd van de omgeving opereerden, konden ze ook in grote mate geïsoleerd van de omgeving ontwikkeld worden. Tegenwoordig zijn het echter complexe ketens, bestaande uit meerdere applicaties. Hierbij wordt maatwerk software geïntegreerd met standaardpakketten. Informatie legt daarbij een reis af door deze keten en wordt op verschillende plaatsen verrijkt, geconverteerd, berekend, vastgelegd en doorgestuurd. Wanneer er een nieuw product gerealiseerd wordt, moet er vaak op meerdere plekken in de keten aanpassingen worden gedaan. Ontwikkeling is daarmee complexer, maar ook meer gefragmenteerd. Dit heeft als voordeel dat er met verschillende teams parallel aan dezelfde functionaliteit gewerkt kan worden. In dit artikel beschrijf ik een aantal ervaringen en handreikingen bij het opzetten van een Agile/Scrumproject met meerdere teams.

Meer betrokkenheid

Agile ontwikkeling in een Scrumteam zorgt voor meer betrokkenheid van de business en vroegtijdige bijsturing van het project. Hiermee is de quality-to-market geborgd. Maar Scrum schrijft relatief kleine teams voor. Daarmee rijst de vraag hoe je bij grotere projecten toch ook een acceptabele time-to-market kunt halen. Een mogelijke oplossing hiervoor is het inrichten van meerdere teams, die parallel aan hetzelfde project werken. Een uitdaging daarbij is om de teams efficiënt te laten werken zonder sturing over het geheel te verliezen.

Wat zijn nu de randvoorwaarden voor een succesvol project met meerdere Agile teams? Hoe kun je teams geïsoleerd van elkaar laten werken aan een brug, zodat de twee helften van de brug ook bij elkaar uit komen?

“Er moet één ‘product owner’ zijn voor de verschillende teams. Eén kapitein die de prioriteit en richting bepaalt en daarnaast ook budgethouder is”
  1. Teams dienen onafhankelijk van elkaar en van de (technische) omgeving te kunnen werken.
  2. Teams dienen zo min mogelijk last van elkaars impedements (belemmeringen) te ondervinden;
  3. Er moet één ‘product owner’ zijn voor de verschillende teams. Eén kapitein die de prioriteit en richting bepaalt en daarnaast ook budgethouder is. Dit voorkomt dat er voor het ene team de keuze wordt gemaakt functionaliteit A te realiseren en in het tweede team functionaliteit B;
  4. Zorg voor afstemming tussen teams door de Scrum-masters van de verschillende teams te laten overleggen;
  5. Doe een gezamenlijke ‘backlog grooming sessie’ met de product owner en de Scrummasters om een heldere product backlog te realiseren als input voor de pokersessies;
  6. Houd bij het plannen van de te realiseren functionaliteit ook rekening met onderlinge afhankelijkheid. Laat verschillende teams niet tijdens een sprint aan dezelfde functionaliteit werken of afhankelijk zijn van elkaars sprintresultaat, maar plan dit over verschillende sprints. Hierdoor voorkom je dat, wanneer de functionaliteit onverhoopt uit de sprint valt bij team 1, de overige teams stil komen te vallen en geen werkende functionaliteit op kunnen leveren aan het einde van de sprint;
  7. In Scrum is er een hoge mate van autonomie van de teamleden in de keuze voor de manier waarop het resultaat bereikt wordt. Bij een multi-scrum-team-project is het voor een goede afstemming tussen de teams wel van belang dat een aantal standaarden afgesproken worden met betrekking tot documentatie en codeerstandaarden.

Conclusie

Scrum is dus ook werkbaar in grotere projecten, met meerdere teams, parallel. De product owner krijgt het wel druk: meerdere teams en daarom meerdere sprint reviews, retrospectives en een hogere doorloopsnelheid van userstories en dus afstemming met de business. De teams dienen daarbij onafhankelijk te kunnen werken; maar wel met de neuzen in dezelfde richting.

141212 – Kapitien bepaalt koest bij grote scrumprojecten – Rein Hochstenbach portret

Schrijf je in voor
de nieuwsbrief

werkenbij overall

Werken bij Bartosz?

Vincent Verhelst

Geïnteresseerd in Bartosz? Dan ga ik graag met jou in gesprek. We kunnen elkaar ontmoeten met een kop koffie bij ons op kantoor. Of tijdens ontbijt, lunch, borrel of diner op een plek die jou het beste uitkomt. Jij mag het zeggen.

Mijn Paarsz