Scrum/Testing/Deployment vragen

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 28-07 18:32
Hallo,

Ik werk bij een bedrijf met een interne software afdeling. Onze klant is dus de sales afdeling (nieuwe features) en QA afdeling (in geval van bugs) van het bedrijf. We ontwikkelen aan verschillende applicaties die allemaal verband met elkaar hebben (hele pakket is 1 release).
Wij proberen om bij ons bedrijf aan de SCRUM methodiek te houden. Dit gaat als volgt:
- Voorafgaand aan een sprint (versie X) worden met alle stakeholders de items besproken die van de backlog op de sprint backlog komen
- Ontwikkelafdeling gaat gedurende 4 weken hun ontwikkeltraject in en lost alle tickets op voor versie X.
- Sprint retro/review worden gehouden en klant accepteert de sprint. Op dat moment word de hele iteratie overgedragen aan de testafdeling.
- Software development begint na de overdracht aan sprint X+1

- De testafdeling bepaald onafhankelijk wanneer ze gaan testen (dit kan dus meteen zijn, na 2 weken, maar kan ook zijn dat ze een iteratie niet testen).
- Zodra de testafdeling al het testwerk van sprint X afgerond heeft (en er zijn geen problemen gevonden) word het overgedragen aan productie afdeling. Deze afdeling verzorgt de updates op de live systemen en regelt ook de dagelijkse bewaking van de servers.
- Zodra de testafdeling fouten vind in de software worden deze na de testronde aan de software afdeling gemeld. Van de software afdeling word verwacht dat ze het werk in sprint X+Y (Kan inmiddels 2 sprints verder zijn totdat het testwerk afgerond is) stoppen en de fouten in sprint X gaan oplossen. De testafdeling test dan nogmaals of de problemen opgelost zijn.

Het nadeel wat we van deze manier van werken ondervinden is dat de problemen in sprint X opgelost moeten worden, en in sprint X+1 t/m X+Y. Niet zelden moeten we voor elke iteratie een andere fix verzinnen omdat de code al geredesigned is.

MIjn vraag is nu hoe we dit kunnen stroomlijnen, zelf heb ik al het volgende bedacht:
- Keihard zijn en niet meer toestaan dat er nog wijzigingen aan sprint X gedaan worden, op dit moment worden alleen fixes verwacht als er kritische dingen mis gaan. Het product is dus niet releasebaar naar de productieservers. Nadeel is dat een hele release dus X maanden opgeschoven kan worden omdat er iedere keer een kritische fout in zit.
- Testen bij de software afdeling neerleggen. Zodra een sprint af is is hij ook getest en zijn alle relevante zaken getest. De productie afdeling kan alles op de server plaatsen. Bedrijf hecht veel waarde aan losse testing en developing. Ander nadeel is dat een issue getest kan worden en correct bevonden kan worden, maar naderhand toch nog stuk gemaakt word door een andere feature.

Hoe doen jullie dit?

Mess with the best, die like the rest


Acties:
  • 0 Henk 'm!

  • ShitHappens
  • Registratie: Juli 2008
  • Laatst online: 18:56
Hier gaat het ongeveer gelijk, echter met een significante afwijking:
QA test al opgeleverde features tijdens de sprint. Sprint X is altijd 'opgehakt' in kleinere delen omdat er veelal meerdere features per sprint worden opgeleverd. Zodra CR gedaan is voor feature A gaat QA ermee aan de gang en koppelt dat terug naar het development team. Dat terwijl aan feature B, C en D nog gewerkt wordt. Zodra alle features QA gepasseerd zijn, wordt het geheel gemerged en wordt een RC. Vervolgens wordt er nog een regressie- danwel smoketest op los gelaten. Als daar niets meer uit komt start de deploy.
Groot voordeel is dus dat op deze manier alles gevonden door QA gelijk wordt opgelost. Aan de andere kant is QA volledig afhankelijk van de velocity van dev.

Acties:
  • +1 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-07 13:42
Hoe dan ook kan het niet zo zijn dat werk van een externe 'afdeling' in een lopende sprint geschoven wordt. Als je wil dat deze tests een onderdeel van de sprint zijn moet je met deze testers intern in je team gaan werken. Dat betekent dat zij een feature gaan testen op het moment dat de dev deze 'af' heeft, niet na 'release'. Dit is sowieso raar; je zit dan met on/slecht geteste software.

Dus: werk is werk en wordt in de volgende sprint (mits ready) met de hoogste prio meegenomen. Testen moet een onderdeel zijn van de ontwikkeling en deze testers moeten in de feature teams getrokken worden.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • Rmg
  • Registratie: November 2003
  • Laatst online: 29-07 14:30

Rmg

Idd betrek je testers in het scrum team. Zorg dat er incentive is bij de testers om mee te gaan in jullie cadence.

Sowieso, jullie klant zegt, prima, sprint is klaar.

Vervolgens gaat hij 2 weken tot een maand wachten tot het getest is. Dat is toch raar :?

Acties:
  • 0 Henk 'm!

  • ThaStealth
  • Registratie: Oktober 2004
  • Laatst online: 28-07 18:32
Rmg schreef op dinsdag 15 november 2016 @ 14:42:
Idd betrek je testers in het scrum team. Zorg dat er incentive is bij de testers om mee te gaan in jullie cadence.

Sowieso, jullie klant zegt, prima, sprint is klaar.

Vervolgens gaat hij 2 weken tot een maand wachten tot het getest is. Dat is toch raar :?
We hebben 2 development afdelingen (software en firmware)
Testers werken ook voor de firmware afdeling

Mess with the best, die like the rest


Acties:
  • +2 Henk 'm!

  • u_nix_we_all
  • Registratie: Augustus 2002
  • Niet online
ThaStealth schreef op dinsdag 15 november 2016 @ 14:44:
[...]

We hebben 2 development afdelingen (software en firmware)
Testers werken ook voor de firmware afdeling
Hoeft geen probleem te zijn, je hoeft ze niet voor 100% van hun capaciteit in jouw sprint in te lijven.

Om in scrum termen te blijven: je Definition of Done is niet goed als bij later testen blijkt dat dingen nog niet goed zijn. Over het algemeen zie je daarom vaak dat je DoD ook de testen omvat.

You don't need a parachute to go skydiving. You need a parachute to go skydiving twice.


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-07 13:42
u_nix_we_all schreef op dinsdag 15 november 2016 @ 14:53:
Om in scrum termen te blijven: je Definition of Done is niet goed als bij later testen blijkt dat dingen nog niet goed zijn. Over het algemeen zie je daarom vaak dat je DoD ook de testen omvat.
En als het goed is ook acceptatie van je PO.

https://niels.nu


Acties:
  • 0 Henk 'm!

  • P_Tingen
  • Registratie: Maart 2005
  • Laatst online: 22:04

P_Tingen

omdat het KAN

u_nix_we_all schreef op dinsdag 15 november 2016 @ 14:53:
[...]

Hoeft geen probleem te zijn, je hoeft ze niet voor 100% van hun capaciteit in jouw sprint in te lijven.

Om in scrum termen te blijven: je Definition of Done is niet goed als bij later testen blijkt dat dingen nog niet goed zijn. Over het algemeen zie je daarom vaak dat je DoD ook de testen omvat.
Precies dit. Als je het testen pas doet ná het ontwikkelen, dan ben je niet aan het scrummen, maar aan het miniwatervallen. Trek de test naar voren en af is af. Of - in scrumtermen - DONE. Als er daarna issues uitkomen dan moeten ze weer op de backlog.

Uitzondering is uiteraard als er showstoppers in zitten, maar ik mag aannemen dat er sowieso altijd support is voor de live omgeving.

... en gaat over tot de orde van de dag

Pagina: 1