Defining "Done"

Defining "Done"

CleAg workshop about story splitting, 3 amigos, acceptance criteria, and gherkin.

6b6afbaea3bf1de98975dedc5cd083c1?s=128

stevenjackson

June 26, 2013
Tweet

Transcript

  1. DEFINING “DONE” aka Pre-Automation ATDD Friday, June 28, 13

  2. 2 WHERE ARE WE? Idea Measurable Business Goals User Research

    and Modeling User Stories UX Prototyping Story Map Product Release Plan START BUILDING Friday, June 28, 13
  3. 3 WHAT’S A STORY? Card Conversation Confirmation Friday, June 28,

    13
  4. 4 STORY VS FEATURE As a I want to So

    that Friday, June 28, 13
  5. 5 INVEST  I - Independent N - Negotiable V

    - Valuable E - Estimable S - Small T - Testable Friday, June 28, 13
  6. 6 BAD BOOKCLUB STORIES monthly book-club order. If I log

    in, then click on book-club view, then click on my wish list, I want the wish list to be ordered such that books that are part of my book-club(s) are shown at the top, and each title has a <bold> and <italic> tag. If I click on Buy Now, the book becomes part of my Friday, June 28, 13
  7. 7 BAD BOOKCLUB STORIES We need a join table between

    users and addresses Friday, June 28, 13
  8. 8 BAD BOOKCLUB STORIES As a database admin I want

    to add a join table between users and addresses so that I can normalize the address table which is full of duplicates Friday, June 28, 13
  9. 9 BETTER BOOKCLUB STORIES As a book-club subscriber, I would

    like to see available book-club selections emphasized at the top of my wish-list. That way, I know I will get goodies for buying those now. Friday, June 28, 13
  10. 10 BETTER BOOKCLUB STORIES Book-club members who live together would

    like to have their shipments delivered together, to save shipping charges. To make this more user-friendly, they should be able to share their shipping addresses. Friday, June 28, 13
  11. 11 BAD BOOKCLUB STORIES Add book clubs Friday, June 28,

    13
  12. WHY SPLIT STORIES? 12 Friday, June 28, 13

  13. WHY SPLIT STORIES? 12 Smaller is Better Friday, June 28,

    13
  14. WHY SPLIT STORIES? 12 Smaller is Better Defer functionality Friday,

    June 28, 13
  15. BAD SPLITTING TECHNIQUES Splitting by Team Member Role  Design

     Code  QA  Document Splitting by Code Responsibility  UI  Logic  Database  QA  Document 13 Friday, June 28, 13
  16. 14 ALMOST STORY SPLITTING Newsletter Subscription Splitting by Task Collect

    user info Integrate newsletter delivery system Notify user of subscription Notify organization of new subscription Friday, June 28, 13
  17. STORY SPLITTING 15 INVEST Collect email and send newsletter Collect

    name, address, phone Notify both parties after registered Friday, June 28, 13
  18. SPLITTING TECHNIQUES Workflow User Experience Add-Ons Happy-Path and Exceptions Task

    Alternatives 0, 1, Many (Simple/Complex) CRUD Performance Major Effort, Minor Enhancements Ancillary Details 16 Friday, June 28, 13
  19. CLEVELAND MUSEUM PROJECT http://www.googleartproject.com Help Clevelanders and tourists find exhibits

    they want to see and share their enthusiasm about those works 17 Friday, June 28, 13
  20. EXERCISE - SPLITTING 15 mins Select a card and split

    it into as many stories as you can. Remember INVEST Try to sort those split stories by size 18 Friday, June 28, 13
  21. THREE AMIGOS 19 Knows what to build Knows how to

    build it Knows how to verify it Friday, June 28, 13
  22. 20 15 mins Select a story Make sure all members

    agree on the story’s purpose Create acceptance criteria for one user story (When is it done?) Use team roles for inspiration If it’s hard to come up with acceptance criteria, maybe your story needs to be split differently? Hints: EXERCISE - THREE AMIGOS Friday, June 28, 13
  23. CUCUMBER 21 Feature: Getting directions to Ohio City Burrito As

    a hungry burrito lover I want to drive to OCB So I can get a Brother’s Burrito Scenario: Directions button should take us to Google Maps Given I'm hungry for some OCB When I touch the map icon Then Google maps should provide me with directions Friday, June 28, 13
  24. 22 Cukes are meant to be READ Short and Sweet

    No TECHNOBABBLE Don’t get hung up on application implementation details Given I have 15 mins to express the acceptance criteria When I write cucumber scenarios Then I know the card is done Hints: EXERCISE - CUCUMBER SCENARIO Given When Then And But Gherkin Keywords Friday, June 28, 13
  25. ATDD 23 Define Fail Fail Refactor Pass Pass Acceptance Test

    Developer Test TDD Friday, June 28, 13
  26. WHY ATDD? Constant Collaboration Improved Understanding Eliminates Waste Move Risk

    Forward Bake Quality In 24 Friday, June 28, 13
  27. THANKS! Steve Jackson @stevejxsn steve.jackson@leandog.com http://xp123.com/articles/invest-in-good-stories-and-smart-tasks/ http://www.leandog.com/what-we-do/training/ Friday, June 28,

    13
  28. 26 As a picky art aficionado, I want to search

    for many art pieces, so that As an aspiring artist, I want to I can see what Cleveland has to offer. examine a piece in great detail, so that I can learn from the masters. As a bored tourist, I want to know where a piece is located, so that I can see it in person. As an interested historian, I want to know the history of an exhibit, so that I can enjoy it more. As a social butterfly, I want to share the pieces that I like and know what my friends think too. As an interested onlooker, I want to know if there are similar items nearby, so that I don’t miss them during my visit. Friday, June 28, 13
  29. 27 As a friendly person, I want to meet my

    friends at the museum, so that I As an amateur critic, I want to can share the experience with them. compare two pieces, so that I can examine the differences. As an aspiring artist, I want to add my own art, so that I can share my passion with the world. As a museum aficionado, I want to create my own gallery, so that I can look at my favorites later. As a parent, I want to make exhibits fun for my 5 year old, so that they learn to appreciate them. As a creative person, I want to create new artwork from existing art. Friday, June 28, 13