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

Storystorming DDD London

Storystorming DDD London

Storystorming is a lean combination of methods to collaboratively explore and design user journeys, work procedures and business processes as well as to refine them into working software models.

Martin Schimak

October 30, 2019
Tweet

More Decks by Martin Schimak

Other Decks in Programming

Transcript

  1. Storystorming
    DDD London, Oct 30th 2019
    @martinschimak
    at DDD Cologne & Hamburg
    September 2nd / 3rd 2019

    View Slide

  2. 3 Pillars
    Adapted from
    © Paul Rayner‘s
    „Essential DDD“ workshop
    in Denver 2018

    View Slide

  3. The idea of collaboration is simple
    come together consciously and regularly
    domain experts meet technology experts
    to analyze problems and design solutions

    View Slide

  4. The idea of collaboration is simple
    come together consciously and regularly
    domain experts meet technology experts
    to analyze problems and design solutions

    View Slide

  5. I don't want to reinvent the wheel.

    View Slide

  6. Stefan Hofer and
    Henning Schwentner
    Easily explore specific domain scenarios!

    View Slide

  7. Understand the bigger picture of your domain!
    Alberto Brandolini
    EVENTSTORMiNG

    View Slide

  8. Define goals, strategic and tactical options!
    Gojko Adzic
    IMPACT
    MAPPING

    View Slide

  9. helps to access this collaboration wisdom

    View Slide

  10. Basic Building Blocks
    Human
    or Group
    Event
    or Outcome
    Machine
    or Component
    Statement
    or Object
    Command
    or Activity
    Question
    or Search
    Deliverable
    or Proposal
    Behavior
    or Constraints
    Attention
    or Exclamation

    View Slide

  11. View Slide

  12. View Slide

  13. Ticketing
    screen
    plan
    available
    seats
    Customer Cashier
    confirms
    reservation
    available
    seats
    reservation
    number
    recommends
    asks for
    screen
    plan
    reservation
    finds seats in
    confirm
    seats in
    generates
    tells
    1 2
    3
    4
    5
    6
    7
    Example of classical

    View Slide

  14. Attention
    Annotation
    Basic building blocks of Domain Storytelling
    Actor Work Object
    Activity
    + + + Context
    @martinschimak

    View Slide

  15. Make storytelling as simple as it really is
    @martinschimak
    "A story consists of
    sentences. A sentence
    consists of three basic
    building blocks!"
    Subject Predicate Object

    View Slide

  16. @martinschimak
    A very first sentence
    Customer asks for ticket
    reservation

    View Slide

  17. @martinschimak
    The sentence with a receiving partner
    Cashier
    Customer asks for
    ticket
    reservation

    View Slide

  18. @martinschimak
    Time
    Cashier
    Customer asks for
    ticket
    reservation
    Actors
    Story

    View Slide

  19. @martinschimak
    Time
    Cashier
    Customer asks for
    ticket
    reservation
    Actors
    finds
    seats in
    screen plan
    Ticketing
    System
    Story
    A
    B
    C

    View Slide

  20. @martinschimak
    Time
    Cashier
    Customer asks for
    ticket
    reservation
    Actors
    finds
    seats in
    screen plan
    Ticketing
    System
    suggests
    available
    seats
    Story
    1 2 3
    Seats are
    available
    A
    B
    C

    View Slide

  21. reserves
    rejects
    reservation
    attempt
    seats 14
    and 15,
    sector A2
    Seats
    are not
    available
    generates
    reservation
    #THBQ, seats
    14 and 15,
    sector A2, on
    June 10th
    suggests
    seats 14
    and 15,
    sector A2
    confirms
    seats 14
    and 15,
    sector A2
    tells
    reservation
    number
    #THBQ
    Ticketing
    System
    Stadium
    cashier
    Soccer fan
    calls and
    asks for
    reservation of
    two tickets in
    sector A2 on
    June 10th
    Time
    Actors
    Story
    A
    B
    C
    1 2 3
    Customer
    likes seats
    Seats in
    sector are
    available
    Seats are
    available
    finds
    seats 14, 15 in
    sector A2 of
    screen plan

    View Slide

  22. Cool, we have our first story. Let's remember this.

    View Slide

  23. Human
    Human Predicate
    Object Predicate
    Object
    System
    A
    B
    C
    1 2
    Assumed
    Behavior
    Hands-on Time!

    View Slide

  24. Time!
    Human
    Human Predicate
    Object Predicate
    Object
    System
    A
    B
    C
    1 2
    Assumed
    Behavior
    We are a family of four (two parents, two
    teenagers) and have to take care of shopping on a
    regular basis. Everybody should help a bit from
    time to time! Therefore we use a mobile ToDo App
    with a shared shopping list. All family members
    can add shopping items to this list, such as e.g. "1
    loaf of bread". Items may be marked to be
    urgently needed on a certain date. The shopping
    list will then inform all family members about
    such an urgently needed item. Whoever has time
    or comes by a suitable shop just marks any
    bought item as Done in the shopping list.
    Hands-on

    View Slide

  25. Pro Hint :-)
    Don't "model"
    Tell a story

    View Slide

  26. Time!
    Human
    Human Predicate
    Object
    Actors
    Predicate
    Object
    System
    A
    B
    C
    1 2
    Assumed
    Behavior
    We are a family of four (two parents, two
    teenagers) and have to take care of shopping on a
    regular basis. Everybody should help a bit from
    time to time! Therefore we use a mobile ToDo App
    with a shared shopping list. All family members
    can add shopping items to this list, such as e.g. "1
    loaf of bread". Items may be marked to be
    urgently needed on a certain date. The shopping
    list will then inform all family members about
    such an urgently needed item. Whoever has time
    or comes by a suitable shop just marks any
    bought item as Done in the shopping list.
    Hands-on

    View Slide

  27. Investigating a (quite paper-based) support process
    Here is the pain with
    mistakes made in requests
    1
    Here is the correction
    pain resulting from it
    2

    View Slide

  28. Drafting a blockchain workflow for a steel industry startup
    Simple customer interaction
    scenario 1
    Scenario with resellers
    involved 2

    View Slide

  29. Some results from
    EventStorming
    Capturing two
    detail "stories"
    1
    2
    3
    Getting
    side-tracked :-)
    Considering a
    few deliverables
    4
    Discussing billing improvements for a telco provider

    View Slide

  30. My take on some strengths of the approach
    - Record natural language (even without immediate full understanding)
    - Improve upon single terms and prepare your ubiquitous language (DDD)
    - Work close to some individual's human perspective, perfect for interviews
    - Focus on just one single example sequence of all possible activities
    - Clarify problems and exceptions – just by adding assumptions or events
    - Discuss alternatives – just by taking a picture and rearranging stickies

    View Slide

  31. Read the blogpost?
    https://medium.com/plexiti
    Storystorming goes
    Domain Storytelling
    Explore your domain—by literally watching your language
    @martinschimak

    View Slide

  32. 4x Super Sticky Post-It
    Bangkok Collection
    • orange 'event' (2)
    • magenta
    exclamation' (2)
    • blue 'command' (2)
    3x Super Sticky Post-It
    Marrakesh Collection
    • dark green
    'statement' (2)
    • red 'machine' (1)
    • blue 'command' (1)
    • lilac 'behavior' (1)
    • dark yellow 'human' (1)
    2x Super Sticky Post-It
    Miami Collection
    • blue 'command' (2)
    • light green
    'question' (2)
    plus two other colors
    3x Super Sticky Post-It
    Standard Collection
    • light yellow
    deliverable' (6)
    Storystorming Yourself
    @martinschimak

    View Slide

  33. Thank you!
    Open workshop in Vienna? Visit https://techtalk.at/trainings/storystorming
    And in-house workshops? Everywhere! Contact [email protected]

    View Slide