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

Storystorming W-JAX Munich

Storystorming W-JAX Munich

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

November 04, 2019
Tweet

More Decks by Martin Schimak

Other Decks in Programming

Transcript

  1. Nov 4th, 2019
    @martinschimak
    W-JAX Munich

    View Slide

  2. I imagine it's 2029. And I
    "Software Developers" …

    View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. All these people seem to be saying
    "Let's figure out what to do!"

    View Slide

  7. Try for yourself and
    "Software Developers"!

    View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. Many are still living a reality and mindset of
    80% implementation

    View Slide

  12. I imagine and expect us to be living a mindset of
    80% collaboration

    View Slide

  13. Very well :-)
    what do you
    need it for?
    I need a
    checkbox. :-)

    View Slide

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

    View Slide

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

    View Slide

  16. How? We don't need to reinvent the wheel.

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. helps to access this collaboration wisdom

    View Slide

  21. 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

  22. View Slide

  23. View Slide

  24. View Slide

  25. 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

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

    View Slide

  27. 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

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  34. I need a
    checkbox. :-)
    Sandra
    Ticketing
    Manager
    Very well :-)
    what do you
    need it for?
    Me

    View Slide

  35. We need to block
    the zones … so
    the cashiers can
    finish their calls.
    Sandra
    Ticketing
    Manager

    View Slide

  36. The domain
    we are talking about
    A zone
    of seats

    View Slide

  37. View Slide

  38. During the calls
    suggested seats
    are reserved by
    other cashiers. OK … does that
    happen often?
    Me
    Sandra
    Ticketing
    Manager

    View Slide

  39. Andrew says,
    it happens all the
    time. He thinks we
    can solve it with a
    simple check box. OK. I'll talk to
    Andrew then.
    Me
    Sandra
    Ticketing
    Manager

    View Slide

  40. Stadium
    cashier
    Ticketing
    System
    Subject Predicate Object Subject
    reserves
    seats
    Seats are
    reserved by
    other cashiers
    Attention!
    Blurry.

    View Slide

  41. Subject Predicate Object Subject
    Stadium
    cashier
    Ticketing
    System
    reserves
    seats
    seats 14
    and 15,
    sector A2
    Seats are
    reserved by
    other cashiers
    Attention!
    Blurry.

    View Slide

  42. Subject Predicate Object Subject
    Stadium
    cashier
    Ticketing
    System
    reserves
    rejects
    reservation
    attempt
    seats 14
    and 15,
    sector A2
    Seats are
    reserved by
    other cashiers
    Attention!
    Blurry.

    View Slide

  43. Subject Predicate Object Subject
    reserves
    rejects
    reservation
    attempt
    seats 14
    and 15,
    sector A2
    Stadium
    cashier
    Ticketing
    System
    seats 15
    and 16,
    sector A2
    reserves
    generates
    reservation
    #THBQ,
    seats 15, 16,
    sector A2
    Seats are
    reserved by
    other cashiers
    Attention!
    Blurry.

    View Slide

  44. Subject Predicate Object Subject
    reserves
    rejects
    reservation
    attempt
    seats 14
    and 15,
    sector A2
    Stadium
    cashier
    Ticketing
    System
    reserves
    generates
    reservation
    #THBQ,
    seats 15, 16,
    sector A2
    Stadium
    cashier
    Andrew
    Stadium
    cashier
    Samantha
    seats 15
    and 16,
    sector A2
    Seats are
    reserved by
    other cashiers
    Attention!
    Blurry.

    View Slide

  45. Let's capture this!

    View Slide

  46. Subject Predicate Object Subject
    reserves
    rejects
    reservation
    attempt
    seats 14
    and 15,
    sector A2
    reserves
    generates
    reservation
    #THBQ,
    seats 15, 16,
    sector A2
    seats 15
    and 16,
    sector A2
    Seats are
    reserved by
    other cashiers
    Attention!
    Blurry.
    Ticketing
    System
    Stadium
    cashier
    Andrew
    Stadium
    cashier
    Samantha

    View Slide

  47. Subject Predicate Object Subject
    reserves
    rejects
    reservation
    attempt
    seats 14
    and 15,
    sector A2
    Ticketing
    System
    reserves
    generates
    reservation
    #THBQ,
    seats 15, 16,
    sector A2
    Stadium
    cashier
    Andrew
    Stadium
    cashier
    Samantha
    seats 15
    and 16,
    sector A2
    Seats are
    reserved by
    other cashiers
    Attention!
    Blurry.
    Soccer fan
    calls and
    asks for
    reservation of
    two tickets in
    sector A2 on
    June 10th
    suggests
    seats 14
    and 15,
    sector A2
    finds in
    screen plan
    seats 14 and
    15, sector A2
    block
    sector A2

    View Slide

  48. Subject Predicate Object Subject
    reserves
    rejects
    reservation
    attempt
    seats 14
    and 15,
    sector A2
    Ticketing
    System
    reserves
    generates
    reservation
    #THBQ,
    seats 15, 16,
    sector A2
    Stadium
    cashier
    Andrew
    Stadium
    cashier
    Samantha
    seats 15
    and 16,
    sector A2
    Seats are
    reserved by
    other cashiers
    Attention!
    Blurry.
    Soccer fan
    calls and
    asks for
    reservation of
    two tickets in
    sector A2 on
    June 10th
    suggests
    best
    available
    seats
    suggests
    seats 14
    and 15,
    sector A2
    select
    sector A2
    Same seats
    are suggested
    to all cashiers

    View Slide

  49. Subject Predicate Object Subject
    reserves
    rejects
    reservation
    attempt
    seats 14
    and 15,
    sector A2
    Ticketing
    System
    reserves
    generates
    reservation
    #THBQ,
    seats 15, 16,
    sector A2
    Stadium
    cashier
    Andrew
    Stadium
    cashier
    Samantha
    seats 15
    and 16,
    sector A2
    Seats are
    reserved by
    other cashiers
    Attention!
    Blurry.
    Soccer fan
    calls and
    asks for
    reservation of
    two tickets in
    sector A2 on
    June 10th
    suggests
    seats 14
    and 15,
    sector A2
    select
    sector A2
    Same seats
    are suggested
    to all cashiers
    suggests
    and block
    best available
    and yet
    unblocked
    seats

    View Slide

  50. Subject Predicate Object Subject
    reserves
    rejects
    reservation
    attempt
    seats 14
    and 15,
    sector A2
    Ticketing
    System
    reserves
    generates
    reservation
    #THBQ,
    seats 15, 16,
    sector A2
    Stadium
    cashier
    Andrew
    Stadium
    cashier
    Samantha
    seats 15
    and 16,
    sector A2
    Seats are
    reserved by
    other cashiers
    Attention!
    Blurry.
    Soccer fan
    calls and
    asks for
    reservation of
    two tickets in
    sector A2 on
    June 10th
    suggests
    slightly
    varying
    available
    seats
    suggests
    seats 14
    and 15,
    sector A2
    select
    sector A2
    Same seats
    are suggested
    to all cashiers

    View Slide

  51. Now we are talking. Let's remember this.

    View Slide

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

    View Slide

  53. Investigating a (largely 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

  54. View Slide

  55. View Slide

  56. Ticket
    reserved
    Ticket
    needed
    Ticket
    issued
    Ticket
    delivered
    Ticket
    used
    Customer
    call
    interrupted
    Ticket
    reservation
    cancelled
    Ticket
    reservation
    failed
    A super quick Event Storming …
    Ticket
    paid

    View Slide

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

    View Slide

  58. Ticket
    reserved
    Ticket
    needed
    Ticket
    issued
    Ticket
    delivered
    Ticket
    used
    Customer
    call
    interrupted
    Ticket
    reservation
    cancelled
    Ticket
    reservation
    failed
    Process Modeling on a Design Level
    Ticket
    paid
    Reservation
    Service
    Payment
    Service
    Command Response
    Event Query
    Delivery
    Service

    View Slide

  59. View Slide

  60. View Slide

  61. Tickets
    reserved
    Subject Predicate Object Subject Attention!
    Blurry.
    Event
    Tickets
    needed

    View Slide

  62. Ticketing
    System
    reserves
    generates
    reservation
    Cashier
    recommended
    seats
    Customer asks for
    reservation
    of tickets
    suggests
    available
    seats
    offers
    suggested
    seats
    selects
    sector
    confirms
    suggested
    seats
    tells
    reservation
    number
    Seats are
    available
    Customer
    likes seats
    Subject Predicate Object Subject Attention!
    Blurry.
    Tickets
    reserved
    Tickets
    needed
    Ticket
    reservation
    failed
    Call
    interrupted
    Event

    View Slide

  63. 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

  64. View Slide

  65. View Slide

  66. Ticketing
    System
    reserves
    generates
    reservation
    Cashier
    recommended
    seats
    Customer asks for
    reservation
    of tickets
    suggests
    available
    seats
    offers
    suggested
    seats
    selects
    sector
    confirms
    suggested
    seats
    tells
    reservation
    number
    Seats are
    available
    Customer
    likes seats
    Subject Predicate Object Subject Attention!
    Blurry.
    Tickets
    reserved
    Tickets
    needed
    Ticket
    reservation
    failed
    Call
    interrupted
    Event

    View Slide

  67. Ticketing
    System
    reserves
    generates
    reservation
    Cashier
    recommended
    seats
    Customer asks for
    reservation
    of tickets
    suggests
    available
    seats
    offers
    suggested
    seats
    selects
    sector
    confirms
    suggested
    seats
    tells
    reservation
    number
    Direct call
    to available
    cashier
    Show list
    of bought
    tickets
    Display
    sector
    availability
    Suggest
    slightly
    varying seats
    Redirect to
    best available
    tickets in
    similar sector
    Increase size of
    number for
    reservation
    Send
    confirmation
    via text
    message
    Call back
    customer
    Seats are
    available
    Customer
    likes seats
    Tickets
    reserved
    Tickets
    needed
    Ticket
    reservation
    failed
    Call
    interrupted

    View Slide

  68. Ticketing
    System
    reserves
    generates
    reservation
    Cashier
    recommended
    seats
    Customer asks for
    reservation
    of tickets
    suggests
    available
    seats
    offers
    suggested
    seats
    selects
    sector
    confirms
    suggested
    seats
    tells
    reservation
    number
    Direct call
    to available
    cashier
    Show list
    of bought
    tickets
    Display
    sector
    availability
    Suggest
    slightly
    varying seats
    Redirect to
    best available
    tickets in
    similar sector
    Increase size of
    number for
    reservation
    Send
    confirmation
    via text
    message
    Call back
    customer
    Seats are
    available
    Customer
    likes seats
    Tickets
    reserved
    Tickets
    needed
    Ticket
    reservation
    failed
    Call
    interrupted
    Redirect to
    best available
    tickets in
    similar sector

    View Slide

  69. Ticketing
    System
    generates
    recommended
    seats
    suggests
    sector
    Direct call
    to available
    cashier
    Show list
    of bought
    tickets
    Display
    sector
    availability
    Suggest
    slightly
    varying seats
    Redirect to
    best available
    tickets in
    similar sector
    Increase size of
    number for
    reservation
    Send
    confirmation
    via text
    message
    Call back
    customer
    Customer journey
    Priority of details
    User Story Map is to be read from left to right and from to to bottom

    View Slide

  70. Component Statement
    or Object
    Command
    Query
    Event
    Behavior
    Event
    Event
    Event
    Command
    Human
    System
    Event
    Object
    Requiring
    Attention Behavior
    Activity
    Considered
    Detail
    Considered
    Detail
    Considered
    Detail
    Stake
    holder
    Considered
    Deliverable
    Requiring
    Measurement

    View Slide

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

    View Slide