Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Moderne Entwicklungsorganisation mit Conway’s law

Moderne Entwicklungsorganisation mit Conway’s law

Entwicklungs-Organisationen erstellen immer Systeme um und mit einer Fachdomäne zusammen. Die passende Struktur und die resultierende Systemarchitektur zu finden, um Kommunikationsoverhead und maximalen Parallelbetrieb zu gewährleisten, ist nicht trivial und unterliegt einer Menge Einflussfaktoren. Ein Faktor davon ist das Conway's Law, welches die Kommunikationswege einer Organisation mit der Systemarchitektur in Korrelation bringt. Der Vortrag beleuchtet Conway’s Law und welche Aussagen sich über eine Organisation und Systemarchitekturen machen lassen. Es wird gezeigt, wie sich Architekturen anhand von Organisationsstrukturen bilden, aber auch, welche Architekturen gut mit Conway’s Law zusammenarbeiten. Es wird die Verbindung mit Domain Driven Design gezogen und wie beide Ansätze sich ergänzen. Schließlich wird gezeigt, wie sich aus einer gewählten Architektur und dem Reverse Conway Maneuver eine Organisationsstruktur und etwaige -migration ergibt.

Christian Schmidt

June 22, 2024
Tweet

More Decks by Christian Schmidt

Other Decks in Programming

Transcript

  1. Schaue ich mir mal an Eine Stunde später UI Backend

    Master Data Billing Persistence In welchem Prozessschritt war das? Aus welcher Fachabteilung bist du? Wird im “Backend” sein. Da passieren die meisten Fehler… Und die haben letzte Woche im Code rumgewühlt. Ich geb das mal weiter
  2. Zwei Tage später UI Backend Master Data Billing Persistence Hmpf!

    Der Fehler war doch bei uns in MasterData! Das dauert leider etwas. Da müssen wir erst mal analysieren. Ist nicht ganz trivial. Wir haben da diese alte Library.
  3. Shopping Cart 6 Divergente Sicht auf die Dinge Delivery Suche

    Payment UI Backend Master Data Persistence Billing IT Teams Fachteams Was ist da los?
  4. Was ist da los? Divergente Sicht auf die Dinge common

    lib Angular 1 UI Vue UI SAP Gateway SAP Master Data products process engine
  5. 8 Probleme und Symptome Was ist da los? Verständnisprobleme Unterschiedliche

    Sichtweisen verursachen ein unterschiedliches mentales Modell. Gegenseitiges Verständnis wird schwieriger. Schlechte Kommunikation Unterschiedliches Verständnis verursacht Misskommunikation und ein falsches Verständnis. organisatorische Komplexität Durch unterschiedliche Sichtweisen und Verständnis entsteht Kompetenzverwirrung und mangelndes Wissen. technische Komplexität Verwobene, undurchsichtige Systeme mit einer Vielzahl an Seiteneffekten und hohem Verständnis- und Schulungsaufwand. Langsame Time to Market Von Idee bis Livegang kann viel Zeit vergehen. Schlechte Planbarkeit Eine Prediction ist schlecht möglich. Verspätungen sind Standard und werden zu spät erkannt und kommuniziert. Mole Whacking Syndrom Fachliche Änderungen und Fehlerbehebungen haben Folgefehler zur Folge.
  6. Conway’s Law Conway’s Law “Organizations which design systems […] are

    constrained to produce designs which are copies of the communication structures of these organizations.” - Melvin Edward Conway Die Kommunikation ist das Wichtige
  7. Conway’s Law Realitätscheck common lib Angular 1 UI Vue UI

    SAP Gateway SAP Master Data products process engine
  8. Conway’s Law Realitätscheck common lib Angular 1 UI Vue UI

    SAP Gateway SAP Master Data products process engine • Conway lässt sich in den meisten Systemen entdecken. • “Ausfransungen” sind normal. • Gemeinsame Komponenten sind ein oft gesehenes Bild, aber nicht unbedingt die beste Idee. • Technologische Neuerungen lösen keine kommunikativen und organisatorischen Probleme!
  9. Inverse Conway Maneuver Das Inverse Conway Maneuver nutzt direkt das

    Conway's Law. Gewollte, technische Kommunikationskanäle dienen als Basis für eine Organisationsstruktur.
  10. Inverse Conway Maneuver Inverse Conway Maneuver Wichtig ist ein Ausgangssystem.

    Von dort aus lassen mit Conway die Strukturen auf andere Elemente übertragen. Das eine System folgt dem anderen
  11. Beispiel Beispiel User Flow Customer User Journey Domain Driven Design

    • Bounded Context • Domain Events Fachdomäne als Ausgangssystem
  12. Beispiel Beispiel Domain Driven Architectures • vertikale Schnitte • Self

    Contained Systems • SOA • Service Bus • CQRS • Ports and Adapters Die Architektur folgt der Fachdomäne technische Events folgen den Domain Events!
  13. Beispiel Conway’s Law Die Entwicklung folgt der Architektur Chapter Squad

    Squad Squad Squad “klassisches” Spotify-Modell Tribe
  14. Fazit Conway’s Law • findet sich in vielen Strukturen. Nicht

    nur in technischen. • teilweise schwer, Kommunikationskanäle zu erkennen. gerade im personellen Bereich • bietet erst durch das Reverse Conway Manoeuvre Handlungsspielraum • entwickelt erst in Kombination mit weiteren Frameworks und Modellen Wirksamkeit • Die hier gezeigten Modelle sind EINE Art Conway in der Organisation/Architektur nutzbar zu machen. • Trifft keine Aussage zu Organisationsskalierung
  15. Christian Schmidt IT Consultant / Software Architect Qvest Digital AG

    Am Dickobskreuz 10 53121 Bonn, Deutschland [email protected] christian-schmidt-it darktoast social/@DarkToast moderne-entwicklungsorganisation-mit-conways-law Vielen Dank