Team Topologies
Basics für Product Owner
EMERGENTES, Reflektiertes
ORGANISATIONSDESIGN
Wie es offiziell aussieht ...
Wie es offiziell aussieht ...
... und was in Wirklichkeit passiert.
- Eher zufällig als geplant
- Manche Funktionen funktionieren nur deshalb
- Manche Dinge stören
- von Machtpolitik zu Grabenkämpfen
- von Wir-Gefühl zu Tribalismus
Conways LAW
"Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure"
- CoreDB und Ops als Monolith
- DBA & Ops als Engpass
- DBA & Ops als Diktator
- Alles ist abzustimmen
- Alles dauert lange
- ... ausser man kennt sich gut.
- CoreDB und Ops als Monolith
- DBA & Ops als Engpass
- DBA & Ops als Diktator
- Alles ist abzustimmen
- Alles dauert lange
- ... ausser man kennt sich gut.
- Besser wäre eine Architektur ohne Abhängigkeiten...
- ... MicroServices!
- Besser wäre eine Architektur ohne Abhängigkeiten...
- ... MicroServices!
Inverse / Reverse Conway Maneuvre
Problem Solved!
Everybody is happy now!
Macht jemand von Euch MicroServices?
Basics for Organisation Design
- Performance kommt von den 5 in der Mitte
- mit den 15 drumherum können wir vertrauensvoll interagieren
- 50 Leuten können wir gegenseitig vertrauen
- 150 Leute können wir einschätzen
- zu 500-1500 Leuten können wir Beziehungen haben
Aber wie finde ich heraus, welcher 5er, 15er und 50er-Gruppen ich brauche?
Wie teile ich die Accountabilities gut auf?
Möglichst viel Denken für Business Value Nutzen.
Good Boundaries to minimize Cognitive Load
Teams und Software so schneiden, dass die kognitive Belastung minimal ist.
INTRINSISCH
EXTRINSISCH
LERNBEZOGEN
Intrinsisch
Dinge, die ich für meine aktuelle Aufgabe einfach brauche.
Wie viele Dinge muss ich berücksichtigen?
Wie interagieren die Dinge miteinander?
PO als Dolmetscher & Erklärbär
EXTRINSISCH
Was muss ich dazu noch beachten? Welche äusseren Anforderungen gibt es noch?
PO als Service.
Lernbezogen
Kognitive Belastung um das benötigte Wissen zu lernen, das ich dann als intrinische oder extrinische kognitive Belastung jonglieren muss.
PO & SM als Service für Knowhowaufbau.
SUM(INTRINSISCH
+EXTRINSISCH
+LERNBEZOGEN)
<= CONST
Wie sieht die kognitive Belastung hier aus?
"Un-Product-Ownable Teams."
- Kleinere Teams
- mit gemeinsamer Software
- mit klarem Fokus
- mit wenigen Abhängikeiten
- mit wenigen Ansprechpartnern
Auch der PO profitiert hier deutlich vom Fokus.
Reduktion kognitiver Belastung
- Analyse auf Basis kognitiver Last
- Passender Teamschnitt
- Interaktionen zwischen Teams
- Effizienz in Lernen und Kolaboration
Title Text
Subtitle
Typen von Teams
Title Text
Subtitle
Chaotisch & Unreflektiert :-)
Stream aligned Teams
Stream aligned Teams - Eigenschaften
- kontinuierliche Feature-Delivery in Produktion
- schnelle Reaktion auf Daten aus Produktion
- kontinuierliches Experimentieren
- wenige Hands-Off zu anderen Teams
- Kunde der anderen Teams (Subsystem, Enabling, Platform)
- Autonomy, Mastery & Purpose
PO mit Fokus auf Businessvalue &
Kundennutzen.
Stream aligned Teams - Verantwortung
- Design and architecture
- Development and Coding
- Application Security
- Commercial and operational viability analysis
- Infrastructure and operability
- Metrics and Monitoring
- Product Management and Ownership
- Testing and Quality Assurance
- User Experience
Stream Aligned Team Trouble
- Featuredruck vs Innovation
- Featuredruck vs Entwickeln von Capabilities
- Teamübergreifendes Lernen
- Feature Teams brauchen sehr hohe Reife
- Product Teams brauchen ein Support System
- Cloud Teams brauchen Infrastruktur
Technical Consulting /
ENABLING Teams
- Cross-Cutting zu stream aligned teams
- bandwidth to research
- develop tools, methodologies etc
Im Normalfall kein PO :-/ - aber andere POs sind Stakeholder.
Enabling Teams
- sind in kontinuierlichem, regelmäßigem Kontakt zu Teams
- bei Bedarf auch Teil der Teams
- sorgen dafür, dass zukünftige Probleme rechtzeitig mit Tooling, Methoden und Ansätzen gelöst werden können
- stützen den Technology Lifecycle im Teams
- erlaubt es, neue und komplexe Technologien zu verstehen und einzusetzen
- Training, Workshops, HandsOn-Kooperation
SRE Teams
Beispiele für erfolgreiches Enabling
- 72% schnellere Deployments
- 7 mal mehr Deploys pro Tag
- Doppelt so schnelle Analyse / Medium Time to Fix
- Reduzierung des Aufwandes pro E2E-Test um 50%
Im Normalfall kein PO :-/ - aber andere POs sind Stakeholder.
COMPLICATED SUBSYSTEMS
COMPLICATED SUBSYSTEMS
- Legacy-Systeme ohne gute Doku?
- Workflow-Engines
- das ERP
- Verteilen über mehrere Teams?
- Als Teilaufgabe in einem Team?
- Als Feature-Thema in einem Feature-Team?
PO ist selbst Experte für das komplizierte Subsystem.
COMPLICATED SUBSYSTEM Teams
- Abgetrennte Teams
- Spezialisten für genau diese Domäne
- keine anderen Domänen
- Komponententeam, aber mit anderer Motivation
- Am Anfang viel Interaktion mit anderen Teams
- Am Ende vor allem Schnittstellen
Title Text
Subtitle
Platform Teams
Stream aligned Overflow
- streamaligned-Team kümmert sich um
- building
- running
- fixing
- das heißt ...
- monitoring, alerting, reporting, error logging
- deployment, scaling, failover, redundancy
- ....
Sollte das nicht Ops machen?
Traditional, Blocking Ops
Platform Teams
- Dienstleister für die stream-aligned teams
- verstehen den Bedarf der Teams genau
- erlauben Self-Service für alle Dinge die häufiger passieren
- Fokus auf Automatisierung, Usability und Reliability
- schnelles Prototypen und evaluieren mit den Stream-Aligned Teams
- Fokus auf Minimierung der kognitiven Last der Teams
PO hat die anderen Teams als Kunde. Servicedesign & Metriken.
Cloud as Platform mit Platform Team
Kooperation zwischen teams
Team Interaction Modes
Collaboration
Enge zusammenarbeit zwischen zwei Teams
Der PO ist voll in der Kollaboration enthalten.
Collaboration
Enge zusammenarbeit zwischen zwei Teams
Vorteile | Nachteile |
---|---|
Schnelle Innovation und Entdeckung Wenige Hand-Offs |
Breite, gemeinsame Verantwortung Großer Kontext mit vielen Details, hohe kognitive Belastung Mehr als eine Kooperation parallel ist nicht möglich |
X-as-a-Service
Klare Verantwortungen mit vorhersagbarer Delivery und gutem Product Management
Verantwortung für das Servicedesign liegt beim PO.
Vorteile | Nachteile |
---|---|
Klare Ownership mit klarer Verantwortung Reduzierter Kontext nötig Kleine kognitive Belastung |
Langsamere Innovation über die API Verlangsamter Fluss bei schlecht gewählter Boundary / API |
X-as-a-Service
Klare Verantwortungen mit vorhersagbarer Delivery und gutem Product Management
Facilitating
Erkennen und Reduzieren von fehlenden Fähigkeiten
Facilitating
Erkennen und Reduzieren von fehlenden Fähigkeiten
Im Normalfall kein PO :-/ - aber andere POs sind Stakeholder.
Vorteile | Nachteile |
---|---|
Lösen von Blockaden in Stream-Aligned Teams Erkennen von Lücken und fehlenden Fähigkeiten, Features in Komponenten oder Platform |
Braucht sehr seniorige Leute, die nicht operativ arbeiten Viele Organisationen sind diess Coaching nicht gewohnt. |
Facilitating
Erkennen und Reduzieren von fehlenden Fähigkeiten
Gesamtbild
Kollaboration | X-AS-A-SERVICE | Factiltating | |
---|---|---|---|
Stream-Aligned | Typical | Typical | Occasional |
Enabling | Occasional | Typical | |
Complicated Subsystem | Occasional | Typical | |
Platform | Occasional | Typical |
Typische
Kooperationsmuster
Und wie komme ich jetzt zu solchen Strukturen?
Reife und Grösse
VOrgehen
-
Starten mit dem vorhandenen Setup oder mit Minimum Viable Setup
-
Reverse Conway um Zielarchitektur und Teamstruktur in Einklang zu bringen
-
Evolution starten :-)
Evolution: passende Interaktionsmodi erkennen
Evolution: passende Interaktionsmodi erkennen
Von Kooperation aus startend herausfinden wie eine gute API aussehen würde
Evolution: TEmporär in Kooperation gehen
Wenn X-As-A-Service nicht gut funktioniert temporär wieder in Kooperation gehen.
Evolution: X-AS-A-Service für andere nutzbar machen
Organizational Sensing: AWKWARDNESS als Sensor
Wenn man offiziell "as a service" nutzt und im Chat die ganze Zeit fragen stellen muss.
Wenn man einen neuen Service entwickelt bekommt aber niemals gefragt wird.
...
Trigger für Evolution
- Eine Software ist zu groß für ein Team geworden
- Lieferfähigkeit wird zunehmend langsamer
- Hohe Abhängigkeit zu vielen eigenen Services
- "Zu viele Meetings"
Methoden aus Team Topologies
How to get started
- Start with the Team
- Welche Streams brauchen / passen für Veränderung?
- Was ist der kleinste Ansatzpunkt zum starten?
- Gaps über Chaoching, Mentoring, Service Management etc feststellen
- Best Practices sharen & teilen.
Team Topologies vs Product Owners
By Johann-Peter Hartmann
Team Topologies vs Product Owners
- 761