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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend