Verhalenhakker: verschil tussen versies

Uit Pareltaal
Naar navigatie springen Naar zoeken springen
(→‎Workflow steps: plus volgorde aangepast.)
k (Bronnen toegevoegd.)
 
(3 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 8: Regel 8:
|wens=Maximale doorstroom van waardevolle items.
|wens=Maximale doorstroom van waardevolle items.
|toelichting=Krachten:
|toelichting=Krachten:
*Teveel variatie in grootte van {{p|gebruikersverhalen}} of PBIs verstoort de doorstroom van werk. Grote brokken leiden tot verstoppingen en vertragingen en daarmee tot afval. Het werkt het makkelijkst als alles dezelfde grootte heeft. Dat is echter onrealistisch (maar mogelijk wel het streven).
*Voortdurend opleveren van waardevolle zaken die voorzien in een behoefte van een ander levert voldoening op en geeft betekenis aan je werk.
*Teveel variatie in grootte van {{p|gebruikersverhalen}} verstoort de doorstroom van werk. Grote brokken leiden tot verstoppingen en vertragingen en daarmee potentieel tot afval.
*Het werkt het makkelijkst als alles ongeveer dezelfde grootte heeft.
*Kleinere items zijn vaak beter verzorgd (completer, kernachtiger, consistenter, autonomer) en leiden daarmee tot minder onverwacht werk en verhogen zo voorspelbaarheid en duurzaam tempo.
*Kleinere items zijn vaak beter verzorgd (completer, kernachtiger, consistenter, autonomer) en leiden daarmee tot minder onverwacht werk en verhogen zo voorspelbaarheid en duurzaam tempo.
*Inschatten hoeveel inspanning een item kost om te maken is voor kleinere items preciezer, consistenter en met minder spreiding te doen.


Splits {{p|gebruikersverhalen}} vanuit deze perspectieven:
Splits {{p|gebruikersverhalen}} vanuit deze perspectieven:
Regel 25: Regel 28:
*…
*…
|daarom=Hak de gebruikersverhalen op tot vergelijkbare (niet per sé dezelfde) grootte, bijvoorbeeld alleen van complexiteit 3, 5 en 8. Splits alles wat groter op tot deze drie waardes. Doe je uiterste best altijd waarde voor de gebruiker te blijven creëren.
|daarom=Hak de gebruikersverhalen op tot vergelijkbare (niet per sé dezelfde) grootte, bijvoorbeeld alleen van complexiteit 3, 5 en 8. Splits alles wat groter op tot deze drie waardes. Doe je uiterste best altijd waarde voor de gebruiker te blijven creëren.
|nieuw=Mocht je toch veel variatie in grootte blijven houden, overweeg dan om naar grootte uit te splitsen over teams, zodat elk team toch zaken van vergelijkbare grootte afhandelt.
|nieuw=Mocht je toch veel variatie in grootte blijven houden, overweeg dan om naar grootte uit te splitsen over teams, zodat elk team toch zaken van vergelijkbare grootte afhandelt. Streef ultiem naar {{p|enkelstuks doorstroom}}.
}}
}}
==Splitsstrategieën==
==Splitsstrategieën==
{{auteur|Simon Roberts}} verzon de volgende negen splitsstrategieën.
__NOTOC__
<gallery perrow="3">
Bestand:Split-workflow-step.png|[[#Werkstroompaden hakken|Werkstroompaden hakken]]
Bestand:Split-business-rule.png|[[#Bedrijfsregelvariant|Bedrijfsregelvariant]]
Bestand:Split-major-effort.png|[[#Grootste inspanning|Grootste inspanning]]
Bestand:Split-simple-complex.png|[[#Eenvoudig complex|Eenvoudig complex]]
Bestand:Split-data-variation.png|[[#Gegevensvarianten|Gegevensvarianten]]
Bestand:Split-data-entry.png|[[#Gegevensinvoer|Gegevensinvoer]]
Bestand:Split-defer-performance.png|[[#Prestatie later|Prestatie later]]
Bestand:Split-operations.png|[[#Operationele splitsing|Operationele splitsing]]
Bestand:Split-spike.png|[[#Spike|Spike]]
</gallery>


===Werkstroompaden hakken===
===Werkstroompaden hakken===
Regel 77: Regel 95:
*Implementeer.
*Implementeer.


==Bronnen==
*http://rslawrence.wpengine.com/wp-content/uploads/2012/01/Story-Splitting-Flowchart.pdf
{{Bron
{{Bron
|bron=Scaling Lean and Agile Development
|bron=Scaling Lean and Agile Development

Huidige versie van 24 jul 2012 om 10:20



Houtblokhakker-trevor-harrison.jpg


…bouw van een complex systeem in een agile of scrum omgeving.

✣  ✣  ✣

Maximale doorstroom van waardevolle items.

Krachten:

  • Voortdurend opleveren van waardevolle zaken die voorzien in een behoefte van een ander levert voldoening op en geeft betekenis aan je werk.
  • Teveel variatie in grootte van gebruikersverhalen verstoort de doorstroom van werk. Grote brokken leiden tot verstoppingen en vertragingen en daarmee potentieel tot afval.
  • Het werkt het makkelijkst als alles ongeveer dezelfde grootte heeft.
  • Kleinere items zijn vaak beter verzorgd (completer, kernachtiger, consistenter, autonomer) en leiden daarmee tot minder onverwacht werk en verhogen zo voorspelbaarheid en duurzaam tempo.
  • Inschatten hoeveel inspanning een item kost om te maken is voor kleinere items preciezer, consistenter en met minder spreiding te doen.

Splits gebruikersverhalen vanuit deze perspectieven:

  • Scenario—een specifieke volgorde van stappen binnen een use case.
  • Use Case—de verschillende paden door dezelfde use case of gebruikersverhaal.
  • Rol—operator, beheerder, power user
  • Niet-functionele eisen—prestatie, schaalbaarheid, betrouwbaarheid, onderhoudbaarheid, …
  • Configuratie—verschillende configuraties, besturingssystemen, mobiele apparaten, technologieën.
  • Kanalen—internet, back office, winkel, GUI, commandoregel, …
  • Gegevenssoort—deelverzamelingen, elementen en formaten van gegevens (bijv. XML).
  • Type—soorten dingen zoals soorten transacties of handel.
  • Integratie—integratie met bestaande systemen.
  • CRUD—Create, Read, Update, Delete.
  • Stub—namaak implementatie van iets

Daarom:

Hak de gebruikersverhalen op tot vergelijkbare (niet per sé dezelfde) grootte, bijvoorbeeld alleen van complexiteit 3, 5 en 8. Splits alles wat groter op tot deze drie waardes. Doe je uiterste best altijd waarde voor de gebruiker te blijven creëren.

✣  ✣  ✣

Mocht je toch veel variatie in grootte blijven houden, overweeg dan om naar grootte uit te splitsen over teams, zodat elk team toch zaken van vergelijkbare grootte afhandelt. Streef ultiem naar enkelstuks doorstroom.


✣  ✣  ✣



Splitsstrategieën

Simon Roberts verzon de volgende negen splitsstrategieën.


Werkstroompaden hakken

Split-workflow-step.png

  • Ontdek verschillende werkstroompaden naar het doel van de gebruiker.
  • Hak pad voor pad uit in je product.

Bedrijfsregelvariant

Split-business-rule.png

  • Bedrijfsregels vormen vaak paden van functionaliteit.
  • Rafel ze uit elkaar en bouw ze een voor een.

Grootste inspanning

Split-major-effort.png

  • Bouw eerst ondersteuning voor de belangrijkste kredietkaart—VISA. De basis ligt er dan en het meeste werk is al gedaan.
  • Voeg vervolgens ondersteuning voor andere kredietkaarten toe.

Eenvoudig complex

Split-simple-complex.png

  • Maak eerst ondersteuning voor directe vluchten.
  • Voeg vervolgens ondersteuning voor één tussenstop toe.
  • Maak het vervolgens af voor een willekeurig aantal tussenstops.

Gegevensvarianten

Split-data-variation.png

  • Vertil je niet om alle gegevensvarianten in één keer te bouwen. Bouw er één…
  • …en nog één…
  • …en nog één…

Gegevensinvoer

Split-data-entry.png

  • Bouw eerst de simpele variant, die een beroep doet op de intelligentie van de gebruiker.
  • Verfijn in een volgende stap en met ingebouwde slimheid en gegevensvalidatie zodat de gebruiker uitsluitend juiste gegevens in kan voeren.

Prestatie later

Split-defer-performance.png

  • Bouw eerst de functionaliteit, verzamel terugkoppelingen totdat iedereen tevreden is.
  • Optimaliseer dan pas.

Operationele splitsing

Split-operations.png

  • ‘Manage Account’ is wel heel groot. Wat zijn de belangrijkste stappen?
  • Bouw stap voor stap: ‘Sign Up’, ‘Edit’, ‘Cancel’, klaar.

Spike

Split-spike.png

  • Geen idee hoeveel werk het is? Doe een kort experiment in een tijddoos. Leer ervan, plan, en
  • Implementeer.

Bronnen