Reminder: Loose design-time coupling: part of the wiring of a winning organization
You are receiving this email because you subscribed to microservices.io
Next week, I'll be teaching a public workshop in Milan. I hope you will enroll.
Loose design-time coupling: part of the wiring of a winning organization
I’d been meaning to read Gene Kim and @StevenJSpear’s book Wiring the Winning Organization for a while, so it was a pleasant surprise to see his Tweet connecting the ideas in my QConPlus 2021 talk on loose design-time coupling with those in his book.
I found the book to be a fascinating read. In particular, it describes how software architecture and loose design-time coupling are key parts of the wiring of a winning organization. Later in this article, I share a few thoughts about the book. But let’s first explore the topic of loose design-time coupling.
QConPlus 2021: Takeout burritos and minimizing design-time coupling in a microservice architecture
The key idea in this presentation, which uses the problem of ordering burritos as an example, is that high performance software delivery requires a loosely coupled organization comprised of autonomous teams, which in turn requires a loosely coupled software architecture. Each team, which Team Topologies would call a stream-aligned team, is responsible for an end to end stream of work that turns requirements into code running in production. Such a team can, as the Accelerate authors describe, complete their work without needing to coordinate with other teams or creating work for them.
In order for the teams to be autonomous, the software elements (e.g. modules or services) owned by different teams must be loosely design-time coupled. A change to one team’s element should rarely require changes to another team’s element. As a result, teams seldom need to coordinate.
Tight design-time coupling kills productivity
Tight design-time coupling is the opposite of loose design-time coupling. It’s when a change to one team’s element regularly requires changes to another team’s element. As a result, teams regularly need to coordinate their work.
Tight design-coupling is a pervasive problem within many enterprises. For example, prior to COVID, almost every organization I visited had a severe shortage of meeting rooms. I believe that was because teams spent large amount of time coordinating and aligning their work. As a result, team productivity was significantly reduced.
Now that we have explored the concept of loose design-time coupling, let’s look at how it fits into the wiring of a winning organization.
About wiring the winning organization
This book builds on the ideas of DevOps, Lean, and Agile to describe how organizations can be structured to deliver high performance. Let’s look at a couple of the key ideas in the book that involve architecture starting with three layer model of organizations.
A three layer organization
One of the book’s key ideas is that there are three layers to an organization:
- Layer 1 (Technical objects) - where the work gets done
- Layer 2 (tools and instrumentation) - tools and instrumentation that enable the work to be done
- Layer 3 (Social circuitry) - includes the team structure and, despite the name, software architecture
To quote the book:
When leaders wire their Layer 3 (social circuitry) well, the people for whom they are responsible have what they need, when they need it, and in the format they need it. Problems have been redefined so that they are easier, safer, and faster to solve. As a result, people can invest their full creative energies and focus on solving their problems, either in Layer 1 (the work object) or Layer 2 (the tools or instruments to do their work).
This three layer model resonated strongly. After all, the goal of software architecture is satisfy various requirements, including development-time requirements, such as ease of change. In other words, architecture makes it easier for developers to deliver changes, and as I described earlier, loose design-time coupling is a key part of that.
What’s more, a key goal of Team Topologies is a highly productive organization structure. I’ve also spoken to many people who rather than delivering value to customers have to spend their time navigating (or perhaps fighting) the organization’s structure and processes. One common problem are misaligned incentives, where the goals of different teams are in conflict.
Architecture as a form of simplification
The book also describes three important mechanisms for improving an organization: slowification, amplification, and simplification. Simplification, which is all about making problems simpler to solve, is particularly important since one of its key elements is architecture, or to be more, precise modularization.
Modularization is all about decomposition of an otherwise large and difficult to maintain system into a collection of simpler, loosely design-time coupled modules. To quote the book:
The benefit is that small teams gain independence of action, enabling them to work and experiment on more manageable parts of the problem in parallel and more quickly and safely, with lower costs of coordination, .
This sounds remarkably like the goal of the microservice architecture and of the other fast flow architectural style, the modular monolith.
One fascinating modularization case study describes how between 1998 and 2002, the rate of software delivery at Amazon dramatically slowed down because they outgrew their software architecture. These software delivery problems prompted them to ‘modularize’ their software architecture - adopt what we would now call the microservice architecture. Because of this change, their deployment frequency went from 20/year in 2002 to an astonishing 49 million/year in 2015. As you can see, a loose design-time coupled architecture is an essential ingredient of a winning organization.
Need help with accelerating software delivery?
I’m available to help your organization improve agility and competitiveness through better software architecture: training workshops, architecture reviews, etc.
Learn more about how I can help
Older messages
Loose design-time coupling: part of the wiring of a winning organization
Tuesday, November 12, 2024
You are receiving this email because you subscribed to microservices.io Next week, I'll be teaching a public workshop in Milan. I hope you will enroll. Loose design-time coupling: part of the
Reducing insider trading in a microservice architecture
Wednesday, November 6, 2024
You are receiving this email because you subscribed to microservices.io In November, I'll be teaching public workshops in Berlin and Milan. I hope you will enroll. My service collaboration patterns
Reminder: The evolution of the Microservice Architecture pattern language
Thursday, October 31, 2024
You are receiving this email because you subscribed to microservices.io In November, I'll be teaching public workshops in Berlin and Milan. I hope you will enroll. My service collaboration patterns
The evolution of the Microservice Architecture pattern language
Tuesday, October 29, 2024
You are receiving this email because you subscribed to microservices.io In November, I'll be teaching public workshops in Berlin and Milan. I hope you will enroll. My service collaboration patterns
Reminder: Architectural patterns for modular monoliths that enable fast flow
Thursday, September 12, 2024
You are receiving this email because you subscribed to microservices.io This month, I'm teaching an online public workshop Architecting for fast, sustainable flow: enabling DevOps and Team
You Might Also Like
Mapped | The Top Health Insurance Companies by State 🏥
Tuesday, December 24, 2024
In 13 US states, a single company dominates the health insurance market, holding at least half of the total market share. View Online | Subscribe | Download Our App Presented by: Global X ETFs Power
The Stanford Grad Who Forgot How To Think
Tuesday, December 24, 2024
Top Tech Content sent at Noon! Boost Your Article on HackerNoon for $159.99! Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, December 24, 2024? The
The next big HDMI leap is coming
Tuesday, December 24, 2024
Sora side hustles; Casio's tiny watch comes to the US -- ZDNET ZDNET Tech Today - US December 24, 2024 Ecovacs Deebot T30S Combo robot vacuum and mop The next big HDMI leap is coming next month -
⚙️ Robo-suits
Tuesday, December 24, 2024
Plus: The data center energy surge
Apache Tomcat Vulnerability CVE-2024-56337 Exposes Servers to RCE Attacks
Tuesday, December 24, 2024
THN Daily Updates Newsletter cover The Data Science Handbook, 2nd Edition ($60.00 Value) FREE for a Limited Time Practical, accessible guide to becoming a data scientist, updated to include the latest
Edge 459: Quantization Plus Distillation
Tuesday, December 24, 2024
Some insights into quantized distillation ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Prepare for a Lifetime of Adventure with Rosetta Stone
Tuesday, December 24, 2024
The Perfect Gift For Every Traveler on Your List Rosetta Stone makes it easy to connect with the world in a whole new way. With a Lifetime Unlimited plan, users can access 25 languages to prepare for
Tuesday Triage #232
Tuesday, December 24, 2024
Your weekly crème de la crème of the Internet is here! The 232nd edition featuring fish traps, little Mussolinis, and volvelles. ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏ ͏
Elastic Community Newsletter
Tuesday, December 24, 2024
Check out the latest from the Elastic Community ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ ㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤㅤ elastic | Search. Observe. Protect community-newsletter-header-img.png
Daily Coding Problem: Problem #1646 [Medium]
Monday, December 23, 2024
Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Facebook. Write a function that rotates a list by k elements. For example, [1, 2, 3, 4,