CI-CD-QA - Spelverloop
CI-CD-QA is een kaartspel, voor 4 of 5 deelnemers:
​
​
Een product owner
Paul
Een Release Manager
Rachel
Een Security Officer
Steve
1 of 2 ontwikkelaars
Dave and/or Debby
De deelnemers krijgen 1 van de bovenstaande rollen toegewezen door blindelings een persona kaart te trekken.
​
De bedoeling van het spel is om zo snel mogelijk al je kaarten te spelen. Je start met 4 kaarten. Maar... Elke speler heeft een specifiek type kaarten dat ze moeten afleggen, overeenkomstig hun rol. De product owner, release manager en ISO moeten hun vereisten op tafel leggen:
De Product owner speelt features requirements of bug reports
De release manager speelt quality requirements
De ISO speelt security requirements
De ontwikkelaars moeten die vereisten implementeren (de cijfers op de kaarten hebben geen betekenis en er zijn geen specifieke implementatiekaarten voor elke afzonderlijke vereist, enkel per stakeholder):
Het spel begint met de PO die zijn/haar eerste requirement kaart op tafel legt. De volgorde van de overige spelers speelt geen rol. De ontwikkelaars moeten de overeenkomstige implementatie kaart bovenop de requirement kaart leggen om deze te implementeren.
Als spelers geen kaart kunnen spelen overeenkomstig hun rol, moeten zij een kaart wisselen:
​
-
neem alle kaarten die ze niet kunnen gebruiken en leg die onderaan de stapel
-
neem eenzelfde aantal kaarten van de stapel
-
als je onmiddellijk een van de genomen kaarten kan spelen, dan kan je dat doen; anders wacht tot de volgende ronde om opnieuw te wisselen
​
​
Dit is het bord op TableTopia. Het fysieke bord lijkt hier sterk op, maar vertoont kleine verschillen.
Het spel eindigt wanneer de eerste speler al hun kaarten heeft kunnen afleggen. De ISO legt bij voorkeur de penetration test kaart als laatste, de release manager bij voorkeur de go/no go meeting. En dan moet je zien wat werd opgeleverd:
​
-
welke features werden geïmplementeerd?
-
zijn er nog openstaande bugs?
-
welke security requirements werden geïmplementeerd?
-
wat is de kwaliteit van de oplevering?
Kan dit niet beter?
Wat hierboven is beschreven, is de eerste ronde, waarbij deelnemers ervaren wat het is wanneer iedereen zich aan hun eigen positie vasthoudt, en vereisten afvuurt op het ontwikkelteam. Als je dat zo ziet gebeuren, is het behoorlijk confronterend, maar in grote organisaties is dat wellicht nog realiteit. Hoe kunnen we deze situatie dan verbeteren? Dat is precies het doel van ronde 2:
-
The product owner blijft verantwoordelijk voor de features requirements en bug reports
-
The security en de release management verantwoordelijkheden worden nu opgenomen door het ontwikkelteam zelf
-
Sanjiv wordt toegevoegd als security champion
-
Queenie zal de QA engineer van het team zijn
-
-
Dat betekent dat deze rollen hun requirements op de tafel kunnen leggen, maar tegelijkertijd, als ontwikkelaar ook kunnen bijdragen tot het implementeren van requirements die op de tafel liggen (niet alleen in hun eigen domein)
-
De laatste de security requirement die wordt gespeeld, is bij voorkeur nog altijd de penetration test
-
De laatste kwaliteits requirement die wodt gespeeld, is bij voorkeur nog altijd de go/no go meeting
​
Het einddoel blijft: waarde opleveren die veilig is en van goede kwaliteit. Kijk nu wat het verschil is...