Team Topologies / 

Modernes Organisationsdesign

Warum crossfunktional und Agil scheisse  ist ...

Ganz früher

Wie wir früher Teams gemacht haben ....

 

... als wir keine Ahnung hatten.

Frontend Team

Service Team

Business Logic Team

Database Team

Things to Understand

  • Meine Domäne
  • Die APIs des Layers drunter

Frontend Team

Service Team

Business Logic Team

Database Team

Things to Understand

  • Frontend
  • APIs
  • Business Logic
  • Database

Things to Understand

  • Frontend
  • APIs
  • Business Logic
  • Database
  • Arbeitsweise
  • Business Domain
  • Produktvision
  • Backlog

Things to Understand

  • Frontend
  • APIs
  • Business Logic
  • Database
  • Arbeitsweise
  • Business Domain
  • Produktvision
  • Backlog
  • Strategie
  • Kundenentwickung
  • Hiring
  • Beschaffung

Kognitive Last & Kontextßwitching

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?

EXTRINSISCH

Was muss ich dazu noch beachten? Welche äusseren Anforderungen gibt es noch? 

Lernbezogen

Kognitive Belastung um das benötigte Wissen zu lernen, das ich dann als intrinische oder extrinische kognitive Belastung jonglieren muss.

SUM(INTRINSISCH
        +EXTRINSISCH
        +LERNBEZOGEN)
<= CONST

AGILE WTF?!!!

  • Frontend
  • APIs
  • Business Logic
  • Database
  • Arbeitsweise
  • Business Domain
  • Produktvision
  • Backlog
  • Strategie
  • Kundenentwickung
  • Hiring
  • Beschaffung

Dann lieber KLASSISCH ...

Hmm, das funktionierte aber auch nicht ... 

Reduktion kognitiver Belastung

  • Analyse auf Basis kognitiver Last
  • Passender Teamschnitt
  • Interaktionen zwischen Teams
  • Effizienz in Lernen und Kolaboration

Title Text

Subtitle

Team Topologies

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

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 Teams

  • Cross-Cutting zu stream aligned teams
  • bandwidth to research
  • develop tools, methodologies etc

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%

Beispiele für erfolgreiches Enabling

 

 

Welche Folgen hat das für die kognitive Belastung der Stream-Teams?

Wann man was braucht

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?

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

Team Topologies

Stream aligned Overflow

  • streamaligned-Team kümmert sich um  
    • building
    • running
    • fixing
  • das heißt ...
    • monitoring, alerting, reporting, error logging
    • deployment, scaling, failover, redundancy
    • ....

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

Optimierung auf Flow

Avoid Silos

  • Testing and QA
  • Database
  • UX / UI
  • Architecture
  • Data Processing - Analytics

Team Topologies

By Johann-Peter Hartmann