Slide 1

Slide 1 text

Independent Service Heuristics a rapid, business-friendly approach to flow-oriented boundaries DDD EU 2022 Matthew Skelton (Conflux) and Nick Tune (Independent)

Slide 2

Slide 2 text

How the Independent Service Heuristics (ISH) work and why you might want to try them (to help find good boundaries for flow) 2

Slide 3

Slide 3 text

Biogs Matthew Skelton Founder at Conflux - confluxhq.com Co-author the book ‘Team Topologies’ @matthewpskelton Nick Tune Independent - ntcoding.co.uk Author of the book ‘Architecture Modernization’ @ntcoding 3

Slide 4

Slide 4 text

● What are ISH & what do they do? ● Experience with ISH - Nick ● Experience with ISH - Matthew ● Takeaway points 4

Slide 5

Slide 5 text

What are the Independent Service Heuristics? What do they do? 5

Slide 6

Slide 6 text

“The Independent Service Heuristics (ISH) are rules-of-thumb (clues) for identifying candidate value streams and domain boundaries by seeing if they could be run as a separate SaaS/cloud product.” 6 teamtopologies.com/ish

Slide 7

Slide 7 text

Independent Service Heuristics evolved through helping 40+ customer organizations adopt Team Topologies since 2018 🌐 7

Slide 8

Slide 8 text

ISH principle #1 8 Flow-friendly boundaries

Slide 9

Slide 9 text

Good boundaries in 2022 are optimized for fast flow. 9

Slide 10

Slide 10 text

DDD was originally not designed explicitly to work well with fast flow: DDD was “pre-cloud”. 10

Slide 11

Slide 11 text

ISH principle #2 11 Business-friendly language

Slide 12

Slide 12 text

DDD terminology and approaches can be baffling and inaccessible for many people. 12

Slide 13

Slide 13 text

ISH principle #3 13 Promote group discussion and learning

Slide 14

Slide 14 text

Coherence in concepts and terminology emerges through group learning sessions (a shared experience). 14

Slide 15

Slide 15 text

ISH principle #4 15 Rapid results needed

Slide 16

Slide 16 text

ISH is a rapid, ‘low-fidelity’ approach for fast flow boundaries that can benefit from using DDD alongside for further insights. 16

Slide 17

Slide 17 text

Independent Service Heuristics 1. Sense-check: Could it make any logical sense to offer this thing "as a service"? 2. Brand: Could you imagine this thing branded as a public cloud service (like AvocadoOnline.com 🥑 )? 3. Revenue/Customers: Could this thing be managed as a viable cloud service in terms of revenue and customers? 4. Cost tracking: Could the organisation currently track costs and investment in this thing separately from similar things? 5. Data: Is it possible to define clearly the input data (from other sources) that this things needs? 6. User Personas: Could this thing have a small/well-defined set of user types or customers (user personas)? 7. Teams: Could a team or set of teams effectively build and operate a service based on this thing? 8. Dependencies: Would this team be able to act independently of other teams for the majority of the time to achieve their objectives? 9. Impact/Value: Would the scope of this thing provide a team with an impactful and engaging challenge? 10. Product Decisions: Would the team working on this thing be able to "own" their own product roadmap and the product direction? 17 https://github.com/TeamTopologies/Independent-Service-Heuristics

Slide 18

Slide 18 text

Independent Service Heuristics 1 - Sense-check: Could it make any logical sense to offer this thing "as a service"? a. Is this thing independent enough? b. Would consumers understand or value it? c. Would it simplify execution? 18

Slide 19

Slide 19 text

Independent Service Heuristics 2 - Brand: Could you imagine this thing branded as a public cloud service (like AvocadoOnline.com 🥑 )? a. Would it be a viable business (or "micro-business") or service? b. Would it be a compelling offering? c. Could a marketing campaign be convincing? 19

Slide 20

Slide 20 text

20

Slide 21

Slide 21 text

21

Slide 22

Slide 22 text

22

Slide 23

Slide 23 text

23

Slide 24

Slide 24 text

24

Slide 25

Slide 25 text

25

Slide 26

Slide 26 text

26

Slide 27

Slide 27 text

27

Slide 28

Slide 28 text

28

Slide 29

Slide 29 text

29

Slide 30

Slide 30 text

Independent Service Heuristics 3 - Revenue/Customers: Could this thing be managed as a viable cloud service in terms of revenue and customers? 4 - Cost tracking: Could the organisation currently track costs and investment in this thing separately from similar things? 5 - Data: Is it possible to define clearly the input data (from other sources) that this things needs? 30

Slide 31

Slide 31 text

Independent Service Heuristics 6 - User Personas: Could this thing have a small/well-defined set of user types or customers (user personas)? 7 - Teams: Could a team or set of teams effectively build and operate a service based on this thing? 8 - Dependencies: Would this team be able to act independently of other teams for the majority of the time to achieve their objectives? 31

Slide 32

Slide 32 text

Independent Service Heuristics 9 - Impact/Value: Would the scope of this thing provide a team with an impactful and engaging challenge? 10 - Product Decisions: Would the team working on this thing be able to "own" their own product roadmap and the product direction? 32

Slide 33

Slide 33 text

What are these ISH questions actually doing? 33

Slide 34

Slide 34 text

34 Viability

Slide 35

Slide 35 text

35 Existing SaaS

Slide 36

Slide 36 text

36 Decoupled?

Slide 37

Slide 37 text

37 Outsource-able?

Slide 38

Slide 38 text

38 Use biz expertise

Slide 39

Slide 39 text

39 Hinting at Haier

Slide 40

Slide 40 text

ISH uses intuition and experience from domain experts and engineers to explore viable services 40

Slide 41

Slide 41 text

Experience with ISH - Nick 41

Slide 42

Slide 42 text

Case Study: North-American ecommerce market leader Health-related industry Regulatory obstacles Ambitious growth 42

Slide 43

Slide 43 text

Why I Decided to Use ISH 43

Slide 44

Slide 44 text

Validate & Refine: Are These Good Boundaries? 44

Slide 45

Slide 45 text

Iteratively Identifying Value Streams 45 Credit: Team Topologies Academy academy.teamtopologies.com/courses/independent-value-streams-with-domain-driven-design

Slide 46

Slide 46 text

Biz Context: Single to Multiple Verticals 46

Slide 47

Slide 47 text

Biz Context: Landscape Evolution 47

Slide 48

Slide 48 text

Biz Context: Do We Need Horizontals? 48

Slide 49

Slide 49 text

Biz Context: Growing Pains 49

Slide 50

Slide 50 text

Phase 1: Discovery and Modelling 50

Slide 51

Slide 51 text

ISH: 1. Sense Check, 2. Brand 51

Slide 52

Slide 52 text

ISH: 3. Revenue/Customers, 6. Personas 52

Slide 53

Slide 53 text

ISH: 9. Impact/Value 53

Slide 54

Slide 54 text

ISH: 5. Data 54

Slide 55

Slide 55 text

ISH: 7. Teams, 8. Dependencies 55

Slide 56

Slide 56 text

ISH: 4. Cost Tracking, 10. Product Decisions 56

Slide 57

Slide 57 text

“Just the phrase 'independent enough' made us really think deeply about what level of coupling is acceptable for this domain especially with future evolution in mind.” – Senior Engineering Manager 57

Slide 58

Slide 58 text

“This ISH session introduced me to a lot of new concepts that I never realised were so relevant to software architecture.” – Software Developer 58

Slide 59

Slide 59 text

Experience with ISH - Matthew 59

Slide 60

Slide 60 text

Case Study: North-American ecommerce market leader Health-related industry Regulatory obstacles Ambitious growth 60

Slide 61

Slide 61 text

Execs: on-board but unrealistic 61 ~ “When I was building ecommerce sites 20 years ago, it was much quicker and simpler … The engineers obsess over details…”

Slide 62

Slide 62 text

Execs: on-board but unrealistic 62 ~ “We want to see results in a few hours … How hard can it be to find some team boundaries?”

Slide 63

Slide 63 text

Our approach: visual “heat-map” 63 Immediate sense of consensus or ambiguity. Identify areas for splitting off or further investigation.

Slide 64

Slide 64 text

“I really like using the ISH as a rule of thumb for where we draw high level boundaries w/in the org.” – Head of Strategy 64

Slide 65

Slide 65 text

“... this is how we can build teams that are as independent as possible while maintaining laser like focus on outcomes …” – Head of Strategy 65

Slide 66

Slide 66 text

We used Independent Service Heuristics to help people realize what is involved in finding good boundaries for fast flow 66

Slide 67

Slide 67 text

Case Study: Large retailer in South-East Asia Differentiating via digital services 67

Slide 68

Slide 68 text

Wide spectrum of roles participating 68 ● Engineering directors ● Engineers ● Head of SRE (reliability) ● Product directors - physical goods ● Product directors - digital services ● CTO ● Warehouse manager

Slide 69

Slide 69 text

ISH bridged physical and digital product needs 69 checkout flow, High Net Worth customers, order picking, returns, shipping & fulfilment, warehouse management, …

Slide 70

Slide 70 text

Our approach: visual “heat-map” 70

Slide 71

Slide 71 text

“The framework and shared language [of] ISH … was transformational to the discussions … about our organisation and team structure.” – Head of Product 71

Slide 72

Slide 72 text

“Thanks to the Team Topologies and ISH framework our team structure is more autonomous, meaningful, and productive.” – Head of Product 72

Slide 73

Slide 73 text

Biz and product people often have an intuitive lightbulb moment 💡 with ISH and become enthusiastic 73

Slide 74

Slide 74 text

Takeaway points - ISH 74

Slide 75

Slide 75 text

ISH is a rapid, ‘low-fidelity’ approach for fast flow boundaries that can benefit from using DDD alongside for further insights. 75

Slide 76

Slide 76 text

Going through the ISH heuristics raised important topics that focusing on the domain only didn’t surface 76

Slide 77

Slide 77 text

People would often mention heuristics in meetings - they started to become ingrained in day-to-day thinking 77

Slide 78

Slide 78 text

We did design with a diverse group and didn’t need to introduce much theory or explain weird terminology 78

Slide 79

Slide 79 text

Nick was skeptical of not starting with Event Storming - but the ISH discovery workshop had high engagement and enthusiasm. 79

Slide 80

Slide 80 text

ISH increases practitioner and manager-level awareness of “service-oriented” - the business reasons for a change (rather than making changes to “an IT system” that happens to be easy to deploy) 80

Slide 81

Slide 81 text

Biz and product people often have an intuitive lightbulb moment 💡 with ISH and become enthusiastic 81

Slide 82

Slide 82 text

ISH addresses many dimensions for flow-friendly boundaries: viability, (de)coupling, existing SaaS, outsource-able, Haier-style micro enterprises, … 82

Slide 83

Slide 83 text

Try the Independent Service Heuristics (ISH): teamtopologies.com/ish 83

Slide 84

Slide 84 text

Thank you Matthew Skelton Founder at Conflux - confluxhq.com @matthewpskelton Nick Tune Independent - ntcoding.co.uk @ntcoding 84 teamtopologies.com/ish