Specification Workshops
Getting the specs out of user stories
Inspired by Gojko Adzic
Kishen Simbhoedatpanday
T: KishenPanday
Do we really understand User Stories?
B-2 Stealth bomber Crashed – Loss of $1.4 billion
“The aircraft actually performed as it was designed.
In other words, all the systems were functioning normally.”
“The human factor of communicating critical information
was a contributing factor to this mishap."
Chinese Whispers Game
1) One person to think up a phrase.
2) Whispers it to the player who is next, and that player should make as
much effort as possible to hear that phrase.
3) Next player whisper what they think was said to the next player, and so
on,
4) Last player shouts out the phrase so that everybody can hear.
Chinese Whispers
Are obvious things really obvious?
How many points does the
start have?
Passing knowledge
Challenge requirements
Specification Workshop to the Rescue
Agile Acceptance Testing
Specification Workshop
Sprint Planning
Development
Sprint Review
Communicate examples
Examples
TestsverifyRequirements
Agile Acceptance Testing
1. Use real-world examples
2. Select set of examples as specification & acceptance
test suite
3. Automate verification of acceptance tests
4. Focus software development on acceptance tests
5. Use acceptance tests to facilitate discussion about future change requests
Automate on different levels
UI
Integration
Unit
Keep workshop focused
Here’s what I think we face
Here’s what I think we should do
Here’s why
Here’s what we should keep our eye on
Now talk to me
Tips during Specification Workshops
Building shared understanding of the domain
Point out different examples
Brush off vague examples, be precise
Flush out additional cases before development starts
Tips during Specification Workshops
Other participants have understood correctly
Workshops ends only when everyone involved agrees
Build single project jargon
Get customers on board!
Good acceptance tests have these properties
Specific: explicitly defined
Measurable: observable
Achievable: realistic scenario
Relevant: related to user story
Time-bound: observed instantly
Building & Maintaining Shared understanding
Being Agile
Individuals and interactions
Working software
Customer collaboration
Responding to change
Being stiff
Processes and tools
Comprehensive Doc.
Contract negotiation
Following a plan
More about
Collaborative requirements & Specifications
What would you rather be?
Ferryman Bridge builder
Thanks for listening