eventstorming
play

EVENTSTORMING COLLABORATIVE LEARNING FOR COMPLEX DOMAINS Paul - PowerPoint PPT Presentation

EVENTSTORMING COLLABORATIVE LEARNING FOR COMPLEX DOMAINS Paul Rayner @thepaulrayner THE LANDSCAPE Complex business rules & processes Knowledge silos Numerous diverse (& often legacy) system interactions THE CRITICAL COMPLEXITY OF


  1. EVENTSTORMING COLLABORATIVE LEARNING FOR COMPLEX DOMAINS Paul Rayner @thepaulrayner

  2. THE LANDSCAPE Complex business rules & processes Knowledge silos Numerous diverse (& often legacy) system interactions

  3. THE CRITICAL COMPLEXITY OF MOST SOFTWARE PROJECTS IS IN UNDERSTANDING THE DOMAIN ITSELF Eric Evans

  4. HTTPS://EN.WIKIPEDIA.ORG/WIKI/ROSETTA_STONE#/MEDIA/FILE:ROSETTA_STONE.JPG

  5. HOW DO WE LEARN …FAST?

  6. https://www.drupal.org/node/1785994

  7. BEHAVIOUR TRUMPS STRUCTURE

  8. https://commons.wikimedia.org/wiki/File:Use_case_restaurant_model.svg

  9. https://commons.wikimedia.org/wiki/File:Activity_conducting.svg

  10. https://commons.wikimedia.org/wiki/File:CheckEmail.svg

  11. OPTIMIZE FOR SHARED LEARNING

  12. leanpub.com/introducing_eventstorming

  13. PLACE EVENTS ON A TIMELINE

  14. leanpub.com/introducing_eventstorming

  15. WHAT IS A DOMAIN EVENT? Something that happened in the business that your domain experts care about

  16. leanpub.com/introducing_eventstorming

  17. SPECIES OF DOMAIN EVENTS • A step in a business process e.g. customer order submitted, customer paid $100, order completed, item shipped. • Something that happens on a scheduled basis e.g. nightly account reconciliation completed, end of month. • Something meaningful that occurs as a result of something else happening e.g. customer account locked after invalid password entered 3 times

  18. VISUALIZE LEARNING OPPORTUNITIES

  19. leanpub.com/introducing_eventstorming

  20. leanpub.com/introducing_eventstorming

  21. EVENTS & QUESTIONS FIRST

  22. EVENTSTORMING A LEGACY APPLICATION

  23. PROVIDE UNLIMITED MODELING SPACE

  24. leanpub.com/introducing_eventstorming

  25. leanpub.com/introducing_eventstorming

  26. Once They lived More modeling space than you expect upon a happily ever after time…

  27. INVITE THE RIGHT PEOPLE

  28. Development team members and business people gather in a room and together we create a visual map of the flow of events

  29. EVENTSTORMING IN ACTION

  30. VISUALIZE INTERACTIONS

  31. leanpub.com/introducing_eventstorming

  32. leanpub.com/introducing_eventstorming

  33. leanpub.com/introducing_eventstorming

  34. VISUALIZE BUSINESS RULES

  35. leanpub.com/introducing_eventstorming

  36. PROVIDE A VISIBLE LEGEND

  37. Adapted from leanpub.com/introducing_eventstorming

  38. VISUALIZE ALTERNATE FLOWS

  39. Decided to Repair (main flow) Decided to Reimburse (alternate flow)

  40. NATURAL TRANSITION TO EVENT SOURCING

  41. Adapted from leanpub.com/introducing_eventstorming

  42. EVENT SOURCING

  43. Aggregate state modeled as a sequence of domain events Shopping Cart Item 
 Added Price 
 Calculated Promotion 
 Code 
 Applied Item 
 Added Price 
 Calculated Checked 
 Out ECommerce Context

  44. EVENT SOURCING ‣ Don't save the current state of objects ‣ Process events that lead to the current state ‣ TDD focused on command processing generating the correct events

  45. CLARIFYING CONTEXT BOUNDARIES

  46. Servicer Management Context Claims Context

  47. NATURAL TRANSITION TO DISTRIBUTED SYSTEMS

  48. … Event Stream ECommerce Context Order Management 
 Context … Event Stream

  49. FACILITATION TIPS

  50. EVENTSTORMING FACILITATION TIP #1 Focus first on learning and understanding

  51. CLARIFYING QUESTIONS ‣ “What circumstances would cause ... to happen?” ‣ “What was the path that led us here?” ‣ “What is a good example of …?”

  52. CLARIFYING QUESTIONS ‣ "What do you mean by …?" ‣ "What might lead someone to do/need …?” ‣ "What else might happen…?

  53. EVENTSTORMING FACILITATION TIP #2 Anchor to a concrete business example

  54. EVENTSTORMING FACILITATION TIP #3 Clarify fuzzy concepts and language

  55. Command is “Open Claim” What should associated event be called?

  56. EVENTSTORMING FACILITATION TIP #5 Conversations and examples are primary

  57. EVENTSTORMING FACILITATION TIP #6 Post first, Ask questions later

  58. EVENTSTORMING FACILITATION TIP #4 Timebox

  59. POSSIBLE LIMITATIONS ‣ Simple business domains (e.g. CRUD) and/or systems ‣ Distributed teams ‣ Larger group/greater complexity = better facilitation ‣ ???

  60. WHY EVENTSTORMING?

  61. WHY EVENTSTORMING? Collaborative learning Cultivate mutual s hared understanding Uncover misunderstandings & missing concepts Avoid rework

  62. WHY EVENTSTORMING? Model & explore complex domains Visual, tactile representation of system behaviour & outcomes Smoother transition to a rich domain model, design and coding

  63. QUESTIONS? Paul Rayner @thepaulrayner

  64. THANKS! Paul Rayner @thepaulrayner

Recommend


More recommend