Curated from: martinfowler.com
Ideas, facts & insights covering these topics:
14 ideas
·494 reads
2
Explore the World's Best Ideas
Join today and uncover 100+ curated journeys from 50+ topics. Unlock access to our mobile app with extensive features.
Good technical design decisions are very dependent on context.
Teams that regularly work together on common goals are able to communicate regularly and negotiate changes quickly. These teams exhibit a strong force of alignment, and can make technology and design decisions that harness that strong force. As we zoom out in a larger organisation, an increasingly weak force exists between teams and divisions that work independently and have less frequent collaboration. Recognising the differences in these strong and weak forces allows us to make better decisions.
8
163 reads
Technology governance and what is considered ‘good architecture’ is mostly considered with a ‘one size fits all’ approach.
Neither of those approaches are ideal.
7
98 reads
Within a domain we have multiple teams, each being responsible for some capabilities and underlying systems within the domain.
Sometimes this is perfectly aligned, with each team being custodians of a neatly bounded set of systems. More often this is imperfect in reality, with custodianship of some systems being shared across teams - often for legacy reasons. For teams within a domain, there is a very strong force of alignment.
7
33 reads
In the middle ground we have our vertical structure, with multiple domains. The social distance between the people in one domain and another is getting stretched.
This makes negotiation and reaching alignment more strained and slower, and so necessarily this impacts our technology choices and approaches.
7
22 reads
When we zoom out to all of the organisation - the force of alignment between the verticals is very weak indeed. It is quite hard to make changes atomically across the landscape - mostly because the prioritisation of work for each vertical is deliberately independent.
Coordinating work at this level is necessarily much slower and limiting. This means our design decisions and approaches need to adapt accordingly.
8
14 reads
7
33 reads
7
30 reads
7
33 reads
7
4 reads
Sharing code, artefacts, and infrastructure can often be managed at a vertical level - but the drag introduced should be carefully monitored.
7
34 reads
Shared code at a whole of organisation level is limited to highly stable, highly useful things. Mostly these things are limited to libraries which can be distributed and versioned, and changed carefully.
Shared infrastructure is similar - at an org-wide level, shared infrastructure must have very high value, and be well-encapsulated (“as a service”, self-service). It should very rarely need a core change in response to a need from a single team.
7
7 reads
7
10 reads
7
6 reads
7
7 reads
IDEAS CURATED BY
CURATOR'S NOTE
Understanding the strong and weak forces of team architecture
“
Learn more about teamwork with this collection
How to focus on the present moment
How to cultivate empathy and understanding towards others
How to set personal and professional goals
Related collections
Similar ideas
4 ideas
The road to microservices · Romain Vernoux
romain.vernoux.fr
16 ideas
4 ideas
What if one nation achieves AI dominance? What are the implications for the rest of the world?
trajectorymatrix.substack.com
Read & Learn
20x Faster
without
deepstash
with
deepstash
with
deepstash
Personalized microlearning
—
100+ Learning Journeys
—
Access to 200,000+ ideas
—
Access to the mobile app
—
Unlimited idea saving
—
—
Unlimited history
—
—
Unlimited listening to ideas
—
—
Downloading & offline access
—
—
Supercharge your mind with one idea per day
Enter your email and spend 1 minute every day to learn something new.
I agree to receive email updates