Professional Documents
Culture Documents
Independent1 Estimable Common patterns for splitting stories2
• Identify dependencies – they • Don’t get hung up on estimation or traceability, Workflow Steps – potential need for modeling here if core domain
As a content manager, I can publish a news story to the corporate website
make prioritizing and planning focus on delivering …I can publish a news story directly to the corporate website
more difficult • A story might not be estimable if: …I can publish a news story with editor review
• “Slice the cake” – each story o Developers lack domain knowledge …I can publish a news story with legal review
must have a little from each o Developers lack technical knowledge
Business Rule Variations – potential need for modeling & UXD here
system layer o The story is too big (see below) As a user, I can search for flights with flexible dates
o Exercising each layer of the • Stories used in project planning …as “n days between x and y”
architecture reduces risk • Developers are responsible for estimating …as “a weekend in December”
of finding last-minute
• Technique such as planning poker or planning
Break Out a Code Probe or Spike/POC – in core domain (avoid otherwise)
problems in one of the game can be useful for making estimates As a user, I can pay by credit card
layers • Story points are a relative measure of …Investigate credit card processing
o Possible to release effort/uncertainty/risk in implementing a story …Implement credit card processing (as 1 or more stories)
application with only
Simple/Complex – is complex stuff within core domain? Potential need for modeling here. Otherwise,
partial functionality avoid complexity in supporting & generic
Negotiable Small As a user, I can search for flights between two destinations
• Stories are not: • Small stories for implementing in the near future, …specifying a max number of stops
…including nearby airports
o Written contracts and higher-level (larger) stories for further out.
o Requirements (they • Large stories (aka “epics”): Major Effort – supporting? maybe simple case is good enough
express customer needs o Do domain distillation: separate what is core As a user, I can pay for my flight with VISA, MasterCard, Diners Club, or American Express
that software can help from what is supporting and generic …I can pay with one credit card type (of VISA, MC, DC, AMEX)
…I can pay with all four credit card types (VISA, MC, DC, AMEX)
fulfill) o Often hide assumptions that should be made
• Don’t include all details, explicit Data Variation – supporting? maybe simple case is good enough
otherwise gives impression of: o Hard to estimate and to plan - won’t fit in a As a content manager, I can create news stories
o false precision or single iteration, so split into smaller stories …in English
…in Japanese
completeness • Bugs can be turned into user stories if this is
o no need to discuss further helpful Data Entry Methods – collaborate with UXD
As a user, I can search for flights between two destinations
Valuable Testable
…using simple date input
• Identify if story relates to core, • Drive important design decisions test-first with …with a fancy calendar UI
supporting or generic unit tests
subdomain • Specify acceptance criteria: these tests Defer Performance – leverage domain events & aggregate boundaries?
As a user, I can search for flights between two destinations
• Stories must be valuable either demonstrate that a story meets the customer’s …(slow – just get it done, show a “searching animation”)
to users/domain experts expectations, they define the conditions of …(in under 5 seconds)
• Completed stories have more satisfaction for the story
Operations (eg. CRUD: Create/Read/Update/Delete) – basic operations unlikely to be in core domain, is it
value. Finish stories early and • Use specific, concrete, actual business scenarios
supporting subdomain?
often. for modeling and testing As a user, I can manage my account
• Where possible, automate acceptance tests …I can sign up for my account
…I can edit my account settings
User stories content adapted from Mike Cohn, User Stories Applied (Addison Wesley: 2004).
1
2
Adapted from Story Splitting Cheat Sheet by Richard Lawrence of Humanizing Work (http://www.richardlawrence.info/2009/10/28/patterns-for-splitting-user-stories)
3
DDD Whirlpool adapted from http://domainlanguage.com/ddd/whirlpool
© 2016 Virtual Genius, LLC v.07.28.16 www.virtualgenius.com