Team Topologies: Organizing Business and Technology Teams for Fast Flow
$2.99
Price: $2.99
(as of Nov 04, 2024 22:42:16 UTC – Details)
Effective software teams are essential for any organization to deliver value continuously and sustainably. But how do you build the best team organization for your specific goals, culture, and needs?
Team Topologies is a practical, step-by-step, adaptive model for organizational design and team interaction based on four fundamental team types and three team interaction patterns. It is a model that treats teams as the fundamental means of delivery, where team structures and communication pathways are able to evolve with technological and organizational maturity.
In Team Topologies, IT consultants Matthew Skelton and Manuel Pais share secrets of successful team patterns and interactions to help readers choose and evolve the right team patterns for their organization, making sure to keep the software healthy and optimize value streams.
Team Topologies is a major step forward in organizational design for software, presenting a well-defined way for teams to interact and interrelate that helps make the resulting software architecture clearer and more sustainable, turning inter-team problems into valuable signals for the self-steering organization.
ASIN : B09JWT9S4D
Publisher : IT Revolution Press (September 17, 2019)
Publication date : September 17, 2019
Language : English
File size : 10390 KB
Text-to-Speech : Enabled
Screen Reader : Supported
Enhanced typesetting : Enabled
X-Ray : Enabled
Word Wise : Enabled
Print length : 229 pages
Customers say
Customers find the book’s advice, helpful ideas, and insights insightful. They also say it’s a practical and easy read. Readers describe the book as well-written and consumable.
AI-generated from the text of customer reviews
9 reviews for Team Topologies: Organizing Business and Technology Teams for Fast Flow
Add a review
You must be logged in to post a review.
$2.99
Nilendu Misra –
Learn to thoughtfully design engineering org at scale – Great “API Design” for teams
You ship your org chart. Therefore, to fix shipping, fix your org first. This is often called the “Inverse Conway maneuver”. Or, more verbosely, something like – “developing software is a socio-technical complex problem. We often naively focus on the technical part and only reactively look into the org part much later in the process. This should be turned around. Start with building the right org. In fact, the right org should be the very FIRST deliverable of a system architecture.” All good, except there is no existing framework, empirical literature or large-scale study of “technical org design”. That results in biased, reactive and unnecessarily nested, if not random, engineering orgs. To try to produce what we ought to, we lean into what we had in the past. That primarily results in huge communication overhead.This book methodically shows how to think and act on org design. It lays out four primary org types – value stream- (say, feature teams), enabling-, ‘Complicated Subsystem- (say, databases or network), and Platform teams. It also shares three interaction modes these teams could work with each other – Collaboration, X-as-a-service and Facilitating. The 4×3 framework itself is a very powerful outcome from this. It also offers deep insights into composing, evolving and improving teams, and therefore the outcome of engineering orgs. Some key takeaways — Treat people & technology as a single carbon/silicon system.– Hallmark of good org design is where the communication pathways converge with the org chart. Org-charts are top-down constructs, most human communication at the workplace is “lateral” – with their peers. Pay attention to this when taking an org chart driven decision,– When a team’s “cognitive capacity” is exceeded, the team becomes a delivery bottleneck.– Conway’s big idea really was this question – “Is there a better design that is not available to us because of our org?” An org has a better chance of success if it is reflectively designed.– Orgs arranged in “functional silos” (e.g., QA, DBA, Security) is unlikely to produce well architected end-to-end flow.– “Team assignments are the first draft of the architecture”.– “Real gains in performance can often be achieved by adopting designs that adhere to a dis-aggregated model”.– High performing teams, by definition, are long lived. Regular reorg for “management reasons” should be a thing of the past.– Single team is typically upper bounded at a size of 15 people. That is the ceiling of people with whom “we can experience deep trust”.– Three types of cognitive load – Intrinsic, Extraneous and Germane. Germane is more domain specific – where value is added. Our goal therefore is to eliminate “extraneous cognitive load”, e.g., worry-free, reliable build with automated tests should be a promise fulfilled.– Rather than choosing the architecture structure (e.g., monolith etc), therefore a leader’s objective function should be to manage the cognitive load of every team to achieve safe and rapid software delivery.– High trust team management is essentially “eyes on, hands off”.– SRE teams are not essential, they are optional. The single most important “business metric” for SREs is “error budget”.– Designing platform team(s) is one of the hardest decisions. Left to engineers alone, Platform will be overbuilt. A 2×2 framework — “Engineering Maturity” (High-Low) vs. “Org Size or Software Scale” (High-Low) is a good conceptual model to choose the right platform team model. e.g., for highly matured teams operating at a lower scale/size, individual teams could subsume platforms with right collaboration. Less matured orgs at a large size should lean toward the “Platform-as-a-service” model.– 3 different dependencies between teams – Knowledge, Task and Resource.– Only around 1-in-7 to 1-in-10 teams should be “non-stream aligned”, i.e., one of the other three types – Platform, Complicated Sub-system or Enabling teams.– “When code doesn’t work…the problem starts in how teams are organized and how people interact.”– While we intuitively think of monolith as the “codebase”, this mental model can be expanded. Monolithic Builds (when there is ONE giant CI, even with smaller services); Monolithic Releases (when different services still rely on one shared env for testing, say); Monolithic Standards (e.g., tight governance of tool/language/framework); Monolithic Workplace (e.g., Open-plan office).– “Fracture Plane” (aka seam) is a good metaphorical framework to think about “how to divide teams”. Such planes can be thought of from “bounded context” (i.e., business domain); Regulatory Compliance (e.g., PCI DSS/Payments); Change Cadence (e.g., annual tax vs. accounting modules); Risk (e.g., money movement, loan vs. dashboards); Performance (e.g., highly sensitive components vs. others); Technology (e.g., Rust, Golang etc); Geography (e.g., offshore vs. HQ etc). Traditionally, and unfortunately, we divide teams more on technology than on other, often more powerfully valid, dimensions.– “If you have microservices but you wait and do end-to-end testing of a combination of them before a release, you have a distributed monolith”.– Intermittent collaboration is better than constant interaction. Collaboration leads to innovation, so do not suppress all human-to-human collaboration in naturally aligned teams, but pay careful attention to whether communication cost far exceeds collaborative benefits. Collaboration tax is worth it if the org wants to innovate very rapidly. Increased collaboration != Increased communication.– Interaction modes between teams should be habits, i.e., a targeted outcome of org design. This is essentially what Jeff Bezos’ famous “Teams only interact with each other with API or please leave” memo does.– Be alert for the white space between the roles, gaps that nobody feels responsible for.– Biggest change in last decade — historically, “develop” and “operate” were two distinct serialized phases with one way arrow from develop to operate. The best orgs have a tight feedback loop from operating back to develop. Customers know the best! The “operate” phase emanates “bottom-up” signals from customers via logs, metrics and other data that developing teams must pay equal – if not more – attention to as it does from other “top-down” directives (say, from PMs). These are essentially “synthetic sense organs for the outside”.– Software is less of a “product for” and more of an “ongoing conversation with” users. This, to respond to users, MUST be an integral part of the development team’s responsibility. This should not be forked out to a separate, isolated “BAU or Service Maintenance team”.Excellent book – must read if you are leading teams that are growing.
Aimee D. Bechtle –
Second Time Was a Charm!
Finally a resource that looks past the agile teams and supporting business facing only products by introducing Enabling and Platform teams. I read this book twice. The first time I read it I was working at another company and many of the teams were stream-aligned and there were platform teams, so the book was more validation rather than giving me new knowledge. I am now reading it through the lens of my new company and how they are organized and I am riveted. The business unit I am in is Conwayâs law amplified and the book is giving me the words to be able to communicate the problems and why. Iâm looking at the communications and dependency overhead and inside I am screaming âlook at the software architecture!â And âbreak up the DB and Ops silo!â I myself am forming a platform X-as-a-Service team for Cloud-Native apps that includes CICD, containers, microservices architecture, data analytics services, observability services and using the book to help me design the teams. It is a well written and actionable book.
Jan Dziekan –
Team-First, Explained
In our ever-accelerating world, one of the fundamental qualities of a good system is its ability to change and adapt. This requirement applies both to companies wishing to keep pace with competitors as well as to the software supporting their business goals. Within the context of software systems, one of the best practices is to compose them of independent, goal-oriented components. If the architecture achieves the so-called âlow coupling and high cohesionâ, there is a good chance that new business requirements would result in quick changes in a single part of the system, as opposed to the lengthy, costly and error-prone releases which plague the mismanaged software. âTeam Topologiesâ demonstrates that the pressure for adaptability should not only restructure the computer programs, but also – and maybe even more importantly – the IT departments creating them. In my opinion it is an excellent work showing that IT should be thought of holistically, not as separate parts of technical code and peopleâs organization.The basic premise of the book – that the structure of software reflects the organization building it – is not new. Known as the âConwayâs lawâ, the insight is over 50 years old. But I believe there werenât too many titles so cogent in explaining its ramifications. In conscious embrace of Conwayâs inevitability, the authors propose a toolkit of organizational building blocks – the eponymous team topologies – to use within software development structures. A team is meant to be âthe smallest entity of deliveryâ; it is teams that build software, not individual engineers. Any team, to be valuable, should be long-lived, purposeful and autonomous. Under such conditions it is truly able to take ownership of the part of the system it develops, to build knowledge and to work with a minimized risk of errors.There are four proposed team types. Most engineers should be expected to work within âstream-alignedâ teams, focused on delivering value for the customers. Other teams take a more supportive role – delivering platforms for developers, building complicated subsystems which require specialized knowledge, or enabling stream-aligned teams to gather new skills and practices. Team structures can be nested e.g. a platform can be internally developed by its own stream-aligned teams. In addition to team types, the book describes expected interactions between teams depending on their type and role in the project. In my opinion, Matthew Skelton and Manuel Pais make a compelling case that organizations applying the proposed approach – with team boundaries and responsibilities formed deliberately, which translates to proper boundaries and coupling within software components – can expect gains in the speed of delivery, as well as in software stability and employee morale.What is not stressed enough, in my opinion, is how difficult it is to design the aforementioned boundaries of responsibility of the team (and – by Conwayâs law – of software built by it). From my experience it requires a deep knowledge of the business domain and is a daunting task for any large organization. The authors give a high-level overview of possible âfracture planesâ (e.g. division by business domain, technology, customer type etc) but with only slight descriptions of how to find them precisely. In this regard, the book shows the end goal for how an IT organization should be structured without a detailed map on how to get there. Itâs not a huge drawback, though, there is a lot of insights and knowledge to unravel nonetheless, I believe the book warrants multiple readings.I came to think that what âTeam Topologiesâ propose is a convincing application of principles from agile and DevOps movements coupled with modern managerial practices, all while respecting Conwayâs law. It is not a framework, though – I would rather call it a set of tools and insights to experiment with, regardless of any Named Frameworks⢠your company might be using. All in all – I recommend this book to IT managers, architects, scrum masters and engineers interested in what happens outside of their teams. I guess it could be read by the business stakeholders as well, it is written in a way that wonât scare off non-technical people while giving insights on how IT could be more aligned with their needs. An instant classic if I ever saw one.
Prabhakar Thummala –
Ordered new, received used (updated)
Update: I received the correct book. I was submitting a review for another order. Sorry.Ignore my review below -Ordered new, received used.
Miguel Mendez –
I liked how the information was simple to digest and the many examples helped to understand how to put the concepts into practice. I like the whole idea of using communication patterns first instead of architecture. I’ll be taking that away for sure
Fernando Luiz Goulart –
Livro essencial para arquitetos de sistemas (qualquer sistema seja front, back, mobile, banco de dados e etc).Traz a visão de que o arquiteto de sistema deve ser um gerente, já que a organização dos times influencia diretamente na arquitetura dos sistemas e vice-versa. E consequentemente no fluxo de entrega de software pronto pra uso.
launchy –
Un livre plein d’exemples et d’analyses très pertinentes qui donne des conseils pour diagnostiquer et faire évoluer une organisation rapidement et durablement
Kunal Gupta –
This book is explaining things in an actionable way. My orgs CTO is applying the concepts taught in this book in the company at the moment. It was great to see work by other leaders referenced at the relevant points throughout the book and excerpts of those reproduced as well, which was a great refresher for me for those materials.
Carlo –
This book marks somehow a cornerstone in the subject of team management for it projects.Really good theory. New concepts and ideas are expressed clearly. Lot of examples, notes and explanations.Really suggested for it managers and enterprise architects.