Upgrade to Pro — share decks privately, control downloads, hide ads and more …

How Tiny Examples Will Save Our Broken Requirements

Jeffrey
March 03, 2014

How Tiny Examples Will Save Our Broken Requirements

Presented at Business Analyst World, Atlanta.

From the promotion materials:
There is a special place where the hidden treasure of great requirements are found. It’s not that what we have today is bad, but it’s time to move beyond writing stodgy requirements no one else is willing to read. Diagrams are great for communicating, but most of the time you need more than just pictures. And user stories a really good step forward, but many of us find they are still missing something. The secret may lie in Behavior Driven Development (BDD). The fabulous thing, besides the cool name, is this is easy to learn, easy to use, and produces better stories, requirements, tests, and code! This presentation is for analysts who already know how to write requirements, but want to move to something more productive. This is an introduction to a new technique, using natural language to describe both the value and features of a system and each interaction. Come learn about writing requirements and acceptance criteria in business language (for your customers) that are clear and complete (for your developers) and super-duper easy to double-check (for the testers)!

Jeffrey

March 03, 2014
Tweet

More Decks by Jeffrey

Other Decks in Technology

Transcript

  1. §  Valuable §  Concise §  Design-free §  Attainable §  Complete

    §  Consistent §  Unambiguous §  Verifiable §  Atomic §  Understandable
  2. Pick a place §  In the forest §  By the

    ocean §  On the roof §  In town
  3. Pick 2 events §  You hear a loud roar § 

    Your sidekick chases a bird §  A furry monster walks up §  A horse asks for your help §  You shrink to 4” high
  4. Pick a response §  Say “Not again!” §  Pull a

    biscuit out of your pocket §  Laugh §  Fall into a puddle
  5. Once upon a time _________ and ________ were ________ in

    ________. As they were ________ they ________ and ________. Then you ________. role sidekick respond event activity event activity location
  6. Bahamas Balloons §  Travel City Pair (Origin – Destination, OND)

    §  Date §  Seats §  Name & credit card
  7. Given: I want to fly to the Bahamas When: I

    select my travel city pair Then: I see the dates available
  8. Given: I see the available travel dates When: I choose

    my travel date Then: I see how many seats are available
  9. Given: I have chosen a travel itinerary When: I submit

    my name and payment information Then: I see a confirmation #
  10. Travel itinerary Origin Dest Pass Date Name Atlanta Bahamas 1

    Mar 15, 2014 Kupe Submit Itinerary Payment confirmation Valid Good Display “Congratulations, you are ready for your trip! Your confirmation numbers are NNNNNN” Conf# 000001 Then When Given
  11. Given: I have chosen a travel itinerary When: I submit

    my name and payment information Then: I see a confirmation #
  12. Origin Dest Pass Date Name Atlanta Bahamas 1 Mar 15,

    2014 Kupe Atlanta Bahamas 4 Mar 15, 2014 Mary Bahamas Atlanta 5 Mar 18, 2014 Kent Itinerary Payment confirmation Valid Good Valid Good Valid Failure Message Conf# Confirmation 000001 Confirmation 000002, 000003, 000004, 000005 “Please call” Then When Given
  13. Gojko Adzic Specification by Example gojko.net Rich Hickey It’s Not

    Easy Simple Made Easy presented @ StrangeLoop 2001 Liz Keogh BDD lunivore.com Dan North BDD & Crevasse of Doom w/ M. Fowler dannorth.net
  14. This is licensed under CC BY 3.0; Creative Commons Sharealike

    Please use it Please share it Please improve it As long as you credit me somewhere
  15. Try: Capturing behavior using a conversation. Make it easy to

    understand by telling a story using business terms in natural language. Avoid: §  Too many examples §  Too many “ands” §  Describing how §  Skipping examples §  Jargon §  Not readable Tiny Examples / #BDD Jeffrey Davidson BA World | Atlanta 2014 goodrequirements.com Tips: §  Input, Action, Output §  Use real data §  Use tables to format examples §  Give multiple cases when Input or Output varies §  Mockups can also be an example §  Give examples for ALL stories §  Reuse your examples / data §  Use automation tools to make examples live §  Do it collaboratively Context – Event – Response §  Given is personable §  When is actionable §  Then is visible