Verhalenhakker: verschil tussen versies
Naar navigatie springen
Naar zoeken springen
(→Spike) |
(→Workflow steps: plus volgorde aangepast.) |
||
Regel 28: | Regel 28: | ||
}} | }} | ||
==Splitsstrategieën== | ==Splitsstrategieën== | ||
===Werkstroompaden hakken=== | |||
[[Bestand:Split-workflow-step.png]] | |||
*Ontdek verschillende werkstroompaden naar het doel van de gebruiker. | |||
*Hak pad voor pad uit in je product. | |||
===Bedrijfsregelvariant=== | |||
[[Bestand:Split-business-rule.png]] | |||
*Bedrijfsregels vormen vaak paden van functionaliteit. | |||
*Rafel ze uit elkaar en bouw ze een voor een. | |||
===Grootste inspanning=== | ===Grootste inspanning=== | ||
[[Bestand:Split-major-effort.png]] | [[Bestand:Split-major-effort.png]] | ||
*Bouw eerst ondersteuning voor de belangrijkste kredietkaart—VISA. De basis ligt er dan en het meeste werk is al gedaan. | *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. | *Voeg vervolgens ondersteuning voor andere kredietkaarten toe. | ||
=== | |||
[[Bestand:Split- | ===Eenvoudig complex=== | ||
* | [[Bestand: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=== | ===Gegevensvarianten=== | ||
Regel 47: | Regel 56: | ||
*…en nog één… | *…en nog één… | ||
*… | *… | ||
===Gegevensinvoer=== | |||
[[Bestand: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=== | ===Prestatie later=== | ||
[[Bestand:Split-defer-performance.png]] | [[Bestand:Split-defer-performance.png]] | ||
Regel 56: | Regel 71: | ||
*‘Manage Account’ is wel heel groot. Wat zijn de belangrijkste stappen? | *‘Manage Account’ is wel heel groot. Wat zijn de belangrijkste stappen? | ||
*Bouw stap voor stap: ‘Sign Up’, ‘Edit’, ‘Cancel’, klaar. | *Bouw stap voor stap: ‘Sign Up’, ‘Edit’, ‘Cancel’, klaar. | ||
===Spike=== | ===Spike=== |
Versie van 19 mei 2012 15:26
…bouw van een complex systeem in een agile of scrum omgeving.
✣ ✣ ✣
Maximale doorstroom van waardevolle items.
Krachten:
- Teveel variatie in grootte van 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).
- Kleinere items zijn vaak beter verzorgd (completer, kernachtiger, consistenter, autonomer) en leiden daarmee tot minder onverwacht werk en verhogen zo voorspelbaarheid en duurzaam tempo.
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.
✣ ✣ ✣
Splitsstrategieën
Werkstroompaden hakken
- Ontdek verschillende werkstroompaden naar het doel van de gebruiker.
- Hak pad voor pad uit in je product.
Bedrijfsregelvariant
- Bedrijfsregels vormen vaak paden van functionaliteit.
- Rafel ze uit elkaar en bouw ze een voor een.
Grootste inspanning
- 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
- Maak eerst ondersteuning voor directe vluchten.
- Voeg vervolgens ondersteuning voor één tussenstop toe.
- Maak het vervolgens af voor een willekeurig aantal tussenstops.
Gegevensvarianten
- Vertil je niet om alle gegevensvarianten in één keer te bouwen. Bouw er één…
- …en nog één…
- …en nog één…
- …
Gegevensinvoer
- 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
- Bouw eerst de functionaliteit, verzamel terugkoppelingen totdat iedereen tevreden is.
- Optimaliseer dan pas.
Operationele splitsing
- ‘Manage Account’ is wel heel groot. Wat zijn de belangrijkste stappen?
- Bouw stap voor stap: ‘Sign Up’, ‘Edit’, ‘Cancel’, klaar.
Spike
- Geen idee hoeveel werk het is? Doe een kort experiment in een tijddoos. Leer ervan, plan, en
- Implementeer.