Slide 1

Slide 1 text

From Business Goals to Software Requirements with Impact Mapping and Domain Storytelling NDC Oslo 2024 Mufrid Krilic, Domain-Driven Design Coach CoWork, Norway

Slide 2

Slide 2 text

What is the problem we are trying to solve?

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Communication Business Technology

Slide 5

Slide 5 text

Communication Vague Precise

Slide 6

Slide 6 text

Communication Strategic Operative

Slide 7

Slide 7 text

Business Needs Could be fuzzy and imprecisely formulated

Slide 8

Slide 8 text

Translation! Software executes as a very precise translation of human needs into specific instructions

Slide 9

Slide 9 text

Does it matter? “it’s developer (mis)understanding that’s released in production, not the experts’ knowledge” – Alberto Brandolini

Slide 10

Slide 10 text

What will we cover in next 2 hours?

Slide 11

Slide 11 text

Business Goals Software Requirements

Slide 12

Slide 12 text

What can you expect to learn in next 2 hours? Learn that tools to assist you exist and get encouraged to try it for yourself Understanding there is a way to navigate between: Business Intent => Actionable Requirements

Slide 13

Slide 13 text

The Purpose • One workshop method => Good • Two workshop methods => Great • Combining different methods?

Slide 14

Slide 14 text

Workshop Facilitation – The Real Value Combining different methods to be able to adapt to dynamic and complex environments

Slide 15

Slide 15 text

What I do…. Helping Build Domain-Driven Product Organizations Product Development Coaching

Slide 16

Slide 16 text

Agenda When What 0900 Intro  You are Here Part 1 From Business goals to Impacts Impact Mapping Demo 30 minutes Exercise/Skill Builder Q&A 1000-1020 Break Review Part 1 Part 2 From Impacts to Software Requirements Combining Impact Mapping and Domain Storytelling Domain Storytelling Demo 30 minutes Exercise/Skill Builder Q&A 1115 Wrap-up with references for further study

Slide 17

Slide 17 text

Slides Available! Get them here: https://tinyurl.com/ndc-oslo-2024-workshop

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

From Business Goals to Impacts Workshop Part 1

Slide 20

Slide 20 text

Questions at menti.com 5974 1687 Impact Mapping ▪ “An impact map is a visualization of scope and underlying assumptions, created collaboratively, by (senior) technical and business people” ▪ Gojko Adzic, Impact Mapping, the book impactmapping.org

Slide 21

Slide 21 text

Questions at menti.com 5974 1687 Four questions to ask to facilitate the conversation about business intent! • Business goal Why? • Role/Actor Who? • Impact How? • Deliverable • Experiment What? Software Goes Here

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

No content

Slide 24

Slide 24 text

Demo Impact Mapping

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

No content

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

No content

Slide 29

Slide 29 text

No content

Slide 30

Slide 30 text

These are your traditional software requirements!

Slide 31

Slide 31 text

Questions at menti.com 5974 1687 Finding What-part in the Impact Map • …is discovering software requirements by connecting deliverables with impacts and goals • Part 2 of the Workshop!

Slide 32

Slide 32 text

We stop here, on the impact level!

Slide 33

Slide 33 text

Exercise Impact Mapping

Slide 34

Slide 34 text

No content

Slide 35

Slide 35 text

Questions at menti.com 5974 1687 Actors Who can contribute to the goal?

Slide 36

Slide 36 text

Questions at menti.com 5974 1687 Actors Who can obstruct us reaching the goal?

Slide 37

Slide 37 text

Questions at menti.com 5974 1687 Actors Whose behavior do we want to impact?

Slide 38

Slide 38 text

Questions at menti.com 5974 1687 Impact Behavior change!

Slide 39

Slide 39 text

Questions at menti.com 5974 1687 Impact Measurable!

Slide 40

Slide 40 text

Questions at menti.com 5974 1687 Impact Mapping Exercise 1. Add more actors to the map 2. Add impacts (for new or existing actors) to the map a) Challenge each other • Did you really capture the behavior change? • Is it measurable? 3. Prioritize the impact with the most business value a) According to your own assessment

Slide 41

Slide 41 text

Exercise: • Add more actors • Add more impacts • Prioritize

Slide 42

Slide 42 text

Questions at menti.com 5974 1687 Break 20 minutes! Product Development Coaching

Slide 43

Slide 43 text

Questions at menti.com 5974 1687 Agenda When What 0900 Intro Part 1 From Business goals to Impacts Impact Mapping Demo 30 minutes Exercise/Skill Builder Q&A 1000-1020 Break Review Part 1  You are here Part 2 From Impacts to Software Requirements Combining Impact Mapping and Domain Storytelling Domain Storytelling Demo 30 minutes Exercise/Skill Builder Q&A 1115 Wrap-up with references for further study

Slide 44

Slide 44 text

Review Part 1 Suggestions on Actors and Impacts

Slide 45

Slide 45 text

No content

Slide 46

Slide 46 text

No content

Slide 47

Slide 47 text

Questions at menti.com 5974 1687 Software Requirements Prioritization Prioritize on the Impacts!

Slide 48

Slide 48 text

Questions at menti.com 5974 1687 Software Requirements Prioritization Easier to agree on prioritization with stakeholders

Slide 49

Slide 49 text

Questions at menti.com 5974 1687 Software Requirements Prioritization Prioritization aligned with the business intent!

Slide 50

Slide 50 text

From Impacts to Software Requirements Workshop Part 2

Slide 51

Slide 51 text

Combining Impact Mapping and Domain Storytelling

Slide 52

Slide 52 text

Software Requirements Connect deliverables with behavior changes!

Slide 53

Slide 53 text

Software Requirements Discover requirements with Domain Storytelling!

Slide 54

Slide 54 text

domainstorytelling.org domainstorytelling.org

Slide 55

Slide 55 text

Different kinds of Domain Stories • Highlight • bottlenecks • “pain” As-Is • Highlight • Requirements To-Be Discovers What-part of the Impact Map Specifies What-part of the Impact Map

Slide 56

Slide 56 text

Collaborative Modeling! Right people in the room! Domain experts explain the business process as a scenario or example Visualize! Facilitator visualizes the scenario as a Domain Story Repeat! Domain experts confirm if the visualized story is correct

Slide 57

Slide 57 text

No content

Slide 58

Slide 58 text

Demo AS-IS Domain Stories Domain Storytelling

Slide 59

Slide 59 text

No content

Slide 60

Slide 60 text

Domain Story AS-IS: Movie Scheduling To understand the impact: Highlight bottlenecks/pain and discover What-part of the Impact Map

Slide 61

Slide 61 text

No content

Slide 62

Slide 62 text

No content

Slide 63

Slide 63 text

No content

Slide 64

Slide 64 text

Domain Stories AS-IS • Highlight • bottlenecks • “pain” As-Is Discovers What-part of the Impact Map

Slide 65

Slide 65 text

No content

Slide 66

Slide 66 text

Questions at menti.com 5974 1687 Any rules?

Slide 67

Slide 67 text

Questions at menti.com 5974 1687 No Branching or Parallel Flows Focus on what happens in the domain not on what could happen

Slide 68

Slide 68 text

Questions at menti.com 5974 1687 ▪ An actor should not occur more than once in a story ▪ A work object can occur multiple times Make Story Readable!

Slide 69

Slide 69 text

Demo TO-BE Domain Stories Domain Storytelling

Slide 70

Slide 70 text

Domain Story TO-BE: Movie Scheduling To achieve the impact: Highlight the requirements and specify What-part of the Impact Map

Slide 71

Slide 71 text

No content

Slide 72

Slide 72 text

No content

Slide 73

Slide 73 text

No content

Slide 74

Slide 74 text

Domain Stories TO-BE • Highlight • Requirements To-Be Specifies What-part of the Impact Map

Slide 75

Slide 75 text

No content

Slide 76

Slide 76 text

Exercise Domain Storytelling

Slide 77

Slide 77 text

No content

Slide 78

Slide 78 text

Questions at menti.com 5974 1687 Domain Storytelling Exercise • If you are happy with the impacts you found in Part 1 • Create To-Be Domain Story for one of the impacts in your map • Otherwise • Create To-Be Domain Story for one of the suggested impacts • Highlight the requirements

Slide 79

Slide 79 text

Wrap-up Where to go from here?

Slide 80

Slide 80 text

No content

Slide 81

Slide 81 text

Questions at menti.com 5974 1687 Core Domain • The thing that distinguishes you from the competitors • “Not every part of the system will be well-designed” • Generic subdomain • Supporting subdomain

Slide 82

Slide 82 text

Questions at menti.com 5974 1687 Extracting Core Domain from Impact Map Business goals and impacts give you hints on what is the current most important thing for the organization

Slide 83

Slide 83 text

Product Architecture Which users are we tailoring our products for? The cost of customizing the product for diverse user groups The cost of developing separate products for separate user groups

Slide 84

Slide 84 text

Software Architecture Aligning system boundaries with business intent Re-usable generic domain model that can be adapted to serve needs of multiple user groups Specific domain model highly aligned with needs of specific user groups

Slide 85

Slide 85 text

Questions at menti.com 5974 1687 Extracting Boundaries from Domain Stories Communication paths between the actors and the systems give you hint on subdomains and data ownership

Slide 86

Slide 86 text

Further Study

Slide 87

Slide 87 text

Practice! Start on Monday! Somewhere in safe environments then improve!

Slide 88

Slide 88 text

Book by Gojko Adzic impactmapping.org Impact Mapping: Making a big impact with software products and projects

Slide 89

Slide 89 text

Book by Stefan Hofer and Henning Schwentner domainstorytelling.org Collaborative, Visual and Agile Way to Build Domain-Driven Software

Slide 90

Slide 90 text

Thank You! Get in touch! Product Development Coaching

Slide 91

Slide 91 text

No content

Slide 92

Slide 92 text

Images • Vecteezy.com • Tim Hüfner • https://unsplash.com/@joshua_hoehne • https://unsplash.com/@kattyukawa • https://unsplash.com/@brett_jordan