Slide 1

Slide 1 text

Memoirs of an architecture modernization facilitator Eduardo da Silva & Nick Tune

Slide 2

Slide 2 text

today we will talk about memories of our adventures helping organizations kickstarting and executing their modernization journeys...

Slide 3

Slide 3 text

...they involve food, different foods, we enjoyed while discussing "what shall we focus on tomorrow?"

Slide 4

Slide 4 text

...and obviously, deserts

Slide 5

Slide 5 text

...and some digestives to sleep well and be ready for the next day of heavy work

Slide 6

Slide 6 text

...helping customers to navigate their particular complexities on their modernization journeys

Slide 7

Slide 7 text

This is what we will be talking about today: our experiences helping orgs kickstarting and executing their modernization journeys We use a lot of DDD

Slide 8

Slide 8 text

Eduardo da Silva /in/emgsilva mastodon.social/@eduardodasilva Independent Consultant on Sociotechnical Systems, Architecture, and Leadership Modernization https://esilva.net

Slide 9

Slide 9 text

Nick Tune /in/nick-​ tune @nick-​ [email protected] nick-​ tune.me @nicktune.bsky.social

Slide 10

Slide 10 text

What memories will we be sharing today? 1️⃣ Kickstarting modernization 2️⃣ Executing Mo dernization 3️⃣ Maintaining modernization momentum ℹ️ you can learn more about the other phases here: https://esilva.net/ articles/forming-​ amet Realization Framing & Validation Kickstarting Executing Modernization Stages

Slide 11

Slide 11 text

What we mean by (architecture) modernization... The purpose of architecture modernization is.... ...to convert your legacy architecture from a liability into a competitive advantage... to help your company grow, remain competitive & reduce risks. It enables your company to do things that are currently not possible or too expensive.

Slide 12

Slide 12 text

Architecture Modernization is a Business Enabler For each change we have to involve multiple teams and create special projects with experts It is difficult to evolve existing products and create new ones We have built our core proposition on a unreliable, very slow and spend time "compensating" that mess... 💡all of these are triggers that are blocking the companies from achieving their business goals and vision 💡Architecture Modernization is not a "technical thing" it is a business enabling "thing" (...)

Slide 13

Slide 13 text

⚠️ Architecture modernization should be ongoing ⚠️ Nobody wants to spend 3+ years modernizing their legacy while delivering fewer features. It's better to do continuous modernization and invest in practices like DDD so you don't need big multi-​ year initiatives.

Slide 14

Slide 14 text

Kickstarting Modernization

Slide 15

Slide 15 text

"I saw some of your videos on YouTube. I think we need your help..." CTO

Slide 16

Slide 16 text

Modernization triggers "Spent a year building a very generic system to support all possible use cases - and business was worried that nothing was being delivered" CTO

Slide 17

Slide 17 text

"...we have this and several other problems... What shall we do? Where to start? How can you help us?" CTO

Slide 18

Slide 18 text

Modernization kickstarter (+ Ongoing Enablement) 1️⃣ series of sense-​ making listening, mapping and framing sessions 2️⃣ in-​ person intensive "modernization kickstarter workshop" 🎯 understand situation; frame the important elements and scopes to start approaching modernization 🎯 focus on an area or topic and collectively explore things to maximize ability and alignment to start modernization 3️⃣ Ongoing Enablement 🎯 help the org, and in particular the teams and people leading the modernization on any topics that are blocking them or skills they may be missing

Slide 19

Slide 19 text

1️⃣ series of sense-​ making listening, mapping and framing sessions 🎯 understand situation; frame the important elements and scopes to start approaching modernization Meet people from different functions and roles in the organization; understand their situation, challenges, ideas, etc. By "understanding together" we can better frame where the (business) value of the modernization is and how to start approaching it Build relationships, advance the thinking and framing of the modernization (by talking about it) ℹ️ Yes, business value-​ driven modernization

Slide 20

Slide 20 text

💡Tips & Tricks for Listening & Mapping sessions Don't try to be too structured in the sessions... let conversations flow, try to explore and learn about the challenges people see We do these remote; at least 1-​ hour per session As open questions What's important to you? What would you like to be doing? What's holding you back? Can you explain that to me? Show me We are trying to understand and learn (sense-​ making), not solve problems Eduardo and Nick's listening sessions 10+ listening sessions Important topics System-​ A issues & positioning What is ??? and who Owns what? What core capabilities are already in place and owned internally by company? Positioning of Systam-​ A and Company core capabilities Complexity of Operations to migrate out of System-​ A into new systems built by Company (how to cope with that?) Improve Ways of Working and Organization - Accelerate developments and get Teams closer to challenges and taking more ownership on desgining and deciding Example of outcome shared

Slide 21

Slide 21 text

"Oh, I did not know that we had some of these issues... I thought we should start modernizing in Domain A, but now domain B and C also seem huge business enablers!!" Lots of options, lots of uncertainty and indecision

Slide 22

Slide 22 text

Making a decision: breaking the mental block "At what point does not making a decision become more expensive than making a decision that may not be the best"

Slide 23

Slide 23 text

Making a decision: group sessions with stakeholders 💡Decision-​ making workshops; involving the key representatives from the different domains and disciplines 💡Often times most people agree where to start... they just need some help visualizing and comparing the options Framing for decision Which domains / areas we can start Decision-​ making

Slide 24

Slide 24 text

The kickstarter workshop

Slide 25

Slide 25 text

No content

Slide 26

Slide 26 text

Kickstarter Workshop Agenda Map and Understand Domain Y; what is part of it, what is not, what is important, etc. Get an overview on the "North Star" for Company A and in particular for Domain Y - including key topics to focus in the workshop Product + Business Vision Big Picture EventStorming (Domain Y) Day 1 (1 hour) Day 1 + 2 Day 3 Day 3 (afternoon) Define Team API Ways of Working & Next Steps Prioritized Subdomains / Capabilities to explore in smaller groups Client 1 Go into more details on designing some of the domains. This should help showing how you could go about approaching this sort of challenges in the future. Define what could be done to make things happen on the designed domains. Map and Understand the Domain X Experience domains and sub-​ domains (which should help us identify good ideas for our systems and team organization and architecture) Get an overview on the "North Star" for Company B and in particular for Domain X Product + Business Vision Big Picture EventStorming Design Selected domains Discuss challenges and opportunities, and what changes in ways of working and organization Company B should focus on to be more effective and achieve a "faster flow of change on the strategic topics". Define next steps (specific things for next 6 months) Ways of Working + Next Steps Day 1 Day 2,3 Day 4 Client B 💡things ALWAYS change... but overall we strive for this sort of outcomes

Slide 27

Slide 27 text

Kickstarter Workshop: Day 1 - strategy & big picture 💡typically on the first day we start with "business strategy" (north star for modernization); then move into big picture modeling using EventStorming Map and Understand Domain Y; what is part of it, what is not, what is important, etc. Get an overview on the "North Star" for Company A and in particular for Domain Y - including key topics to focus in the workshop Product + Business Vision Big Picture EventStorming (Domain Y) Day 1 (1 hour) Day 1 (rest of day)

Slide 28

Slide 28 text

Kickstarter Workshop: Socializing after day 1 💡ALWAYS arrange a socializing moment to wrap up day 1, so people engage with each other, have fun, connect and prep for the challenging upcoming days ✅ We always recommend this activity! 🎳 Bowling 🎯 Darts 🍕 Pizza on a roof-​ top 🎮 Arcades

Slide 29

Slide 29 text

"What if tomorrow we would pivot and instead of focusing on Domain X, we could get the three groups to explore Domains A, B and C?" 💡Be ready to adjust on the fly... particularly at the end of each day

Slide 30

Slide 30 text

Kickstarter Workshop: Day 2/3 - explore options 💡typically on day 2 (and start of day 3) we focus on exploring options to modernize in the prioritized domains 💡arrange mixed groups (expertize and knowledge) 💡be as specific as possible 💡groups share often and gather input from other groups/people 💡adjust as needed

Slide 31

Slide 31 text

Kickstarter Workshop: Day 4 - Next Steps 💡day 4 (last day) we have a big focus on "Next Steps", and reflect on what is needed to take those steps 💡explore what are the next things to do to move forward (no matter the needed budget) 💡understand who should be involved (teams, disciplines, etc.) 💡define what skills and capabilities are missing and need to be addressed to move forward 💡get buy-​ in to execute on the modernization

Slide 32

Slide 32 text

Kickstarter Workshop: testimonies & feedback "Whole team was engaged creating future state - devs thinking about product and business" "We've never worked this way before - product and dev are normally very isolated" "even today (one year after) they still talk about this workshop..." "I had no clue of all of the steps marketing was managing, and how things end up on our team board"

Slide 33

Slide 33 text

Executing Modernization

Slide 34

Slide 34 text

"It was nice doing all of those workshops.... what are we supposed to do now? Let's just build this new feature in TROND (the legacy system)" Skeptical Chief Architect

Slide 35

Slide 35 text

"My architects spent the last year designing our new system by creating an entity relationship diagram for the whole database..... ....after attending your DDD workshop, I'm starting to think that might not be good." Enlightened CTO

Slide 36

Slide 36 text

"We now have 25 microservices all talking to the shared legacy database. It's even harder to build features now than it was in the legacy system." Exasperated Head of Engineering

Slide 37

Slide 37 text

You can't execute effectively with an architecture capability gap Architectural capability Current architectural capability Capability needed to modernize effectively Architecture capability gap Limited understanding of strategic DDD concepts Deep understanding of strategic DDD concepts e.g. CRUD events, naive boundaries e.g. domain events, business-​ aligned subdomains

Slide 38

Slide 38 text

Who are your modernization enablers? Who is responsible for identifying & addressing skills gaps? AMET = Architecture Modernization Enabling Team

Slide 39

Slide 39 text

Case Study [2023]: Forming and activating an AMET from the offset Week 1: Define members of AMET Week 2 - 8: Listening & mapping sessions Week 10: Monday Tuesday Wednesday Thursday Friday Kickstarter workshop (in-​ person) AMET Day 💡as facilitator, you help that AMET kickstart and start working together in the modernization (in this case we were also part of the AMET)

Slide 40

Slide 40 text

Maintaining modernization momentum, resisting the pressure to just keep building new features "as usual"

Slide 41

Slide 41 text

"We have a very important client asking for a new feature. We have no choice but to do this. Sorry. But we promise you can do modernization work after this." Narrator: they didn't get t o focus on modernization after this because more "urgent" feature work came up.

Slide 42

Slide 42 text

Shape the narrative: it's not features vs modernization (aka product vs tech, it's features now vs more/better benefits later) What is not possible with the current architecture? What is too expensive to build/support with the current architecture?

Slide 43

Slide 43 text

Make the strategic choices concrete, ensure the strategy is deliberate Strategy A: 100%Focus on short term Feature Feature Feature 100% focus on immediate product improvements Strategy B: Biased towards short-​ term Feature Feature Modernization Where to focus our efforts? Strategy C: Biased towards future growth Modernization Modernization Feature Strategy D: full focus on future growth Modernization Modernization Modernization 100% focus on future business growth opportunities

Slide 44

Slide 44 text

Ensuring modernized architecture is designed and implemented effectively

Slide 45

Slide 45 text

Tech Lead: For this new feature we are going to go directly to the legacy DB to get and update data Senior engineer: But the architects said that we should not be doing that any more. We should ask the teams that own the data to provide APIs and events. Tech lead: We don't have time to do that. The PM want's this feature ASAP. The architects are too disconnected from reality anyway. Their ideas will never work. Scenario: devs don't want to modernize or don't believe in your modernization vision

Slide 46

Slide 46 text

Global principles RFCs and ADRS Alignment with all key stakeholders - e.g. platform team doesn't allow it Providing clear guidance and helping people to do things the right way - we don't want to punish people, we are here to help them Bake approved patterns into platforms / libraries Ensuring modernization happens the right way Architects embedded in teams ( ✅ always involve Teams)

Slide 47

Slide 47 text

Dear Architects, Just because you wrote some principles down on a wiki page, doesn't mean that people are going to apply them... ....or even read them. Warm Regards, Eduardo & Nick

Slide 48

Slide 48 text

Internal conferences incentivise, inspire, and remind Success stories Benefits of internal tech conferences Techniques and patterns External speakers Explain global standards Showcase migrations patterns Showcase collaboration between teams and roles Raise awareness Improve alignment Motivate and inspire Incentivise modernization Help to upskill

Slide 49

Slide 49 text

AMET Can spin up taskforces AMET Member A: It seems like we are noticing that observability is an issue. Teams are not aware of how things are behaving in production which is leading to bugs and higher cognitive load. AMET Member B: Let's start an enabling team with the focus of getting all teams equipped with basic observability practices and knowledge.

Slide 50

Slide 50 text

Key Takeways Architecture Modernization is easy to understand and embrace, but hard to start and keep up momentum on it When facilitating, meet the people where they are - focus on start doing something, learning, showing value... showing "we can do it" Social supporting structures like an AMET are key to starting and helping address the many surprises and "resistance" that exists to modernization Every org is different, has different challenges... there is no recipe that we can give you to solve all "modernization things". Be flexible and explore & learn what may work for you. Learn to continuously modernize, as needed... that should help you do better as a business Architecture Modernization is a Business Enabler - don't modernize just to use the latest cool tech

Slide 51

Slide 51 text

Nick Tune /in/nick-​ tune @nick-​ [email protected] nick-​ tune.me @nicktune.bsky.social Eduardo da Silva /in/emgsilva mastodon.social/@eduardodasilva Independent Consultant on Sociotechnical Systems, Architecture, and Leadership Modernization https://esilva.net ℹ️ Check out articles on Architecture Modernization here: https://esilva.net/amet