SlideShare una empresa de Scribd logo
1 de 60
Descargar para leer sin conexión
WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG
Vom Pair Programming zur Mob-Architekturverbesserung
Dr. Carola Lilienthal, cl@wps.de, @cairolali
www.wps.de
10.04.2017 //// Seite 4WPS - Workplace Solutions GmbH
Software-
Architektur
Anforderungs-
ermittlung
Leitstand und
Interaktion
Individual-
software
Business-Software,
die Spaß macht!
WPS – Workplace Solutions GmbH
10.04.2017 //// Seite 6WPS - Workplace Solutions GmbH
Dr. Carola Lilienthal
Geschäftsführerin
cl@wps.de
www.wps.de
+49 40 229 499-0
+49 40 229 499-299
+49 170 184 77 11
Diplom-Informatikerin
@cairolali
a @cairolali
cl@wps.de
www.llsa.de
10.04.2017 //// Seite 7WPS - Workplace Solutions GmbH
Software-Entwicklung/Einführung = Expedition
Entscheidungs-
spielraum
Projektbeginn Zu Projektbeginn
geplante Lösung
Anvisiertes Ziel der 1. Iteration
Unschärfe, im
Projektverlauf
abnehmend
Zwischenergebnisse
zum Überprüfen der
Richtung
Tatsächliche
Lösung am
Projektende
© Gernot Starke
10.04.2017 //// Seite 8WPS - Workplace Solutions GmbH
Aus klein wird groß, und jede Teillösung funktioniert!
© Frank Düsterbeck
10.04.2017 //// Seite 9WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 10WPS - Workplace Solutions GmbH
Änderungen Backlog
10.04.2017 //// Seite 11WPS - Workplace Solutions GmbH
Pair Programming
10.04.2017 //// Seite 12WPS - Workplace Solutions GmbH
Pair-Programming
10.04.2017 //// Seite 13WPS - Workplace Solutions GmbH
Beweise, Beweise, Beweise
10.04.2017 //// Seite 14WPS - Workplace Solutions GmbH
Beweise, Beweise, Beweise
10.04.2017 //// Seite 15WPS - Workplace Solutions GmbH
Verteiltes Pair Programming
10.04.2017 //// Seite 16WPS - Workplace Solutions GmbH
Verteiltes Pair Programming
10.04.2017 //// Seite 17WPS - Workplace Solutions GmbH
Mob Programming
10.04.2017 //// Seite 21WPS - Workplace Solutions GmbH
Mob Architecting – Architekturanalyse im Team
10.04.2017 //// Seite 22WPS - Workplace Solutions GmbH
Architekturanalyse: Was ist das?
Findet sich die geplante Architektur (Soll-Architektur) in der
Strukturen der implementierten Software (Ist-Architektur) wieder?
Soll-Architektur Ist-Architektur
≠ Sourcecode
Plan mit
Klassen =
Directories
Packages
Namespaces
Subsysteme
Komponenten
Module
Schichten
10.04.2017 //// Seite 23WPS - Workplace Solutions GmbH
Architekturziele für Langlebigkeit
Architekturziel 1: Erweiterbarkeit
• schnelle Anpassungen
• schnelle Fehleranalyse
• Handlungssicherheit
• Stabilität
Architekturziel 2: Flexibilität
• Varianten von Geschäftsprozessen
• Geänderte Anforderungen
• Serviceorientierung und Skalierbarkeit
• Baukastenprinzip
10.04.2017 //// Seite 24WPS - Workplace Solutions GmbH
Ausmaß an
technischen Schulden
Funktionalität
pro ZeiteinheitArchitekturerneuerungWartung und Erweiterung
hohe
Schulden
geringe
Schulden
Gleichbleibender
Aufwand für Wartung
10.04.2017 //// Seite 25WPS - Workplace Solutions GmbH
Ausmaß an
technischen Schulden
Funktionalität
pro ZeiteinheitArchitekturerneuerung
Architekturerosion
Wartung und Erweiterung
hohe
Schulden
geringe
Schulden
Gleichbleibender
Aufwand für Wartung
10.04.2017 //// Seite 26WPS - Workplace Solutions GmbH
Ausmaß an
technischen Schulden
Funktionalität
pro Zeiteinheit
Refactorings
Architekturerneuerung
Architekturerosion
Wartung und Erweiterung
hohe
Schulden
geringe
Schulden
Gleichbleibender
Aufwand für Wartung
10.04.2017 //// Seite 27WPS - Workplace Solutions GmbH
Ausmaß an
technischen Schulden
Funktionalität
pro Zeiteinheit
Refactorings
Architekturerneuerung
Architekturerosion
Wartung und Erweiterung
hohe
Schulden
geringe
Schulden
Gleichbleibender
Aufwand für Wartung
Hoher, unplanbarer
Aufwand für Wartung
10.04.2017 //// Seite 28WPS - Workplace Solutions GmbH
Ausmaß an
technischen Schulden
Funktionalität
pro Zeiteinheit
Refactorings
Architekturerneuerung
Architekturerosion
Wartung und Erweiterung
hohe
Schulden
geringe
Schulden
Gleichbleibender
Aufwand für Wartung
Hoher, unplanbarer
Aufwand für Wartung
10.04.2017 //// Seite 30WPS - Workplace Solutions GmbH
70%
20%
10%
Code verstehen
Problem lösen
Code schreiben
Womit verbringen wir unsere Zeit?
10.04.2017 //// Seite 33WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
10.04.2017 //// Seite 34WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 37WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
Einfache, einheitliche
Architektur
Modularität
10.04.2017 //// Seite 39WPS - Workplace Solutions GmbH
Modularität
Hohe Kohäsion und
lose Kopplung
Separation of Concerns
Single Responsibility Principle
10.04.2017 //// Seite 40WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
Einfache, einheitliche
Architektur
Modularität
10.04.2017 //// Seite 41WPS - Workplace Solutions GmbH
Hierarchien
 
10.04.2017 //// Seite 42WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 43WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
Einfache, einheitliche
Architektur
HierarchisierungModularität
10.04.2017 //// Seite 44WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 45WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 46WPS - Workplace Solutions GmbH
Säumer Schema
@ Daniel Rihs
10.04.2017 //// Seite 47WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 48WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
Einfache, einheitliche
Architektur
HierarchisierungModularität Musterkonsistenz
10.04.2017 //// Seite 49WPS - Workplace Solutions GmbH
User Interface
Domain
Application
Hierarchien in Architekturebene: Schichten und Module
Fachliches
Modul B
Fachliches
Modul A
Fachliche Schichtung
TechnischeSchichtung Fachliches
Modul C
10.04.2017 //// Seite 50WPS - Workplace Solutions GmbH
Typische Architektur bei jungen Systemen
Gute technische Schichtung Unfertige fachliche Struktur
 Technische Struktur
 Fachliche Struktur ist unklar
10.04.2017 //// Seite 51WPS - Workplace Solutions GmbH
Zwei Dimensionen einer Architektur
Technische Schichtung Fachliche Schichtung
Leicht zu
behebende
Verletzungen
Schwer zu
behebende
Verletzungen
Eine
Komponente
verursacht die
Probleme
Eine
Komponente
verursacht die
Probleme
10.04.2017 //// Seite 53WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
Einfache, einheitliche
Architektur
HierarchisierungModularität Musterkonsistenz
10.04.2017 //// Seite 54WPS - Workplace Solutions GmbH
Uneven Modules
9 Komponenten = 17 Subsysteme
10.04.2017 //// Seite 55WPS - Workplace Solutions GmbH
Uneven Modules
Ein großer Monolith mit vielen kleinen Satelliten
950.860 LOC
84.808 LOC
10.04.2017 //// Seite 56WPS - Workplace Solutions GmbH
128 Build Units mit Anzahl Klassen
 3 Mio von
9 Mio LOC
 1/3 des
Systems
10.04.2017 //// Seite 57WPS - Workplace Solutions GmbH
5.270 Klassen in einem Zyklus
in einer BuildUnit
10.04.2017 //// Seite 58WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 61WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
Einfache, einheitliche
Architektur
HierarchisierungModularität Musterkonsistenz
10.04.2017 //// Seite 65WPS - Workplace Solutions GmbH
Muster auf Klassenebene: Entwurfsmuster und Mustersprachen
User Interface
Domain
Application
Fachliches Modul
Window
GUI
Model
View
C
o
n
t
r
o
l
ValueObject
Service
BusinessObject
SchichtungdurchMuster
10.04.2017 //// Seite 66WPS - Workplace Solutions GmbH
Kaputte Muster führen zu Zyklen
10.04.2017 //// Seite 67WPS - Workplace Solutions GmbH
119 Klassen aus 4 Komponenten
+ 28 weitere Klassen
10.04.2017 //// Seite 68WPS - Workplace Solutions GmbH
Große Zyklen sichtbar machen
327 Klassen aus 8 Komponenten
brauchen sich gegenseitig
10.04.2017 //// Seite 69WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 74WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
HierarchisierungModularität Musterkonsistenz
 Einheitliche und
durchgängige
Muster
 Zyklenfreiheit auf
allen Ebenen
 Zuständigkeit
 Kopplung
 Größenverhältnisse
 Schnittstellen
10.04.2017 //// Seite 75WPS - Workplace Solutions GmbH
Kostenfreie Werkzeuge
• SonarQube:
• Leitstand für Qualitätsmetriken
• Plattform für vielfältige Plugins
• JDepend:
• wenige Metriken
• einfache Abhängigkeitsanalyse
• JDepend + Google Architecture Rules:
• einfache Architekturbeschreibung
• Ndepend/CDepend:
• Metriken
• Abhängigkeitsanalyse
• XRadar:
• Analyse von Java-Projekten via maven
• Reports bezüglich Komplexität und Architekturverletzungen
• Moose
• Code City
• Degraph
• jQAssistant
10.04.2017 //// Seite 76WPS - Workplace Solutions GmbH
Kommerzielle Produkte
 Axivion Bauhaus: Java, C#, C/C++, Ada, VB und Cobol
 Lattix: Java, .Net, C/C++, Ada, Delphi und DB-Systeme
 Structure101: Java, C++, Ada
 SotoArc und Sonargraph: Java, C#, C/C++, ABAP, PHP
 Teamscale: C#, Java
 Seerene: Java, C#, C/C++, ABAP
10.04.2017 //// Seite 78WPS - Workplace Solutions GmbH
Modularität von Softwarearchitekturen
- Java, C#, C++, ABAP, PHP -
Modularität (0-10)
10.04.2017 //// Seite 79WPS - Workplace Solutions GmbH
Vielen Dank für Ihre Aufmerksamkeit!
Schulungen zu
Architektur und Domain-Driven Design
wps.de/schulung
10.04.2017 //// Seite 81WPS - Workplace Solutions GmbH
Dr. Carola Lilienthal
Geschäftsführerin
cl@wps.de
www.wps.de
+49 40 229 499-0
+49 40 229 499-299
+49 170 184 77 11
Diplom-Informatikerin
@cairolali
a @cairolali
cl@wps.de
www.llsa.de
Vielen Dank für Ihre Aufmerksamkeit!

Más contenido relacionado

La actualidad más candente

Automatisierung im DWH - Sich das Leben erleichern mit dem ODI
Automatisierung im DWH - Sich das Leben erleichern mit dem ODIAutomatisierung im DWH - Sich das Leben erleichern mit dem ODI
Automatisierung im DWH - Sich das Leben erleichern mit dem ODI
OPITZ CONSULTING Deutschland
 
Abayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaProAbayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaPro
AdaPro GmbH
 
BootsFaces and AngularFaces - Modern HTML5 for JSF developers
BootsFaces and AngularFaces - Modern HTML5 for JSF developers BootsFaces and AngularFaces - Modern HTML5 for JSF developers
BootsFaces and AngularFaces - Modern HTML5 for JSF developers
OPITZ CONSULTING Deutschland
 

La actualidad más candente (13)

The joy of multiple models
The joy of multiple modelsThe joy of multiple models
The joy of multiple models
 
Automatisierung im DWH - Sich das Leben erleichern mit dem ODI
Automatisierung im DWH - Sich das Leben erleichern mit dem ODIAutomatisierung im DWH - Sich das Leben erleichern mit dem ODI
Automatisierung im DWH - Sich das Leben erleichern mit dem ODI
 
Bedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und Cloud
Bedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und CloudBedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und Cloud
Bedeutung von Integrationsarchitekturen im Zeitalter von Mobile, IoT und Cloud
 
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiertWünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
Wünsch AG Vortrag mit der App ins Web oder wie man Notes modernisiert
 
Rasterpunkt GmbH: Schulungskalender Output Management Solutions
Rasterpunkt GmbH: Schulungskalender Output Management Solutions Rasterpunkt GmbH: Schulungskalender Output Management Solutions
Rasterpunkt GmbH: Schulungskalender Output Management Solutions
 
Abayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaProAbayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaPro
 
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
Atomic Design – Die Einheit von Frontend und Design im RWD-Zeitalter - WTC15
 
[DE] Staffware Process Suite – Delivering the Process of Business | Dr. Ulric...
[DE] Staffware Process Suite – Delivering the Process of Business | Dr. Ulric...[DE] Staffware Process Suite – Delivering the Process of Business | Dr. Ulric...
[DE] Staffware Process Suite – Delivering the Process of Business | Dr. Ulric...
 
Collaboration day 2016 - Connections - Apps
Collaboration day 2016 - Connections - AppsCollaboration day 2016 - Connections - Apps
Collaboration day 2016 - Connections - Apps
 
Forms 12c und der Oracle SB
Forms 12c und der Oracle SBForms 12c und der Oracle SB
Forms 12c und der Oracle SB
 
Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...
Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...
Telefonie und Meetings: Net at Work führt mit Workshops in das Universum von ...
 
Collaboration day 2016 - Aus alt mach neu - Modernisierung mit xPages
Collaboration day 2016 - Aus alt mach neu - Modernisierung mit xPagesCollaboration day 2016 - Aus alt mach neu - Modernisierung mit xPages
Collaboration day 2016 - Aus alt mach neu - Modernisierung mit xPages
 
BootsFaces and AngularFaces - Modern HTML5 for JSF developers
BootsFaces and AngularFaces - Modern HTML5 for JSF developers BootsFaces and AngularFaces - Modern HTML5 for JSF developers
BootsFaces and AngularFaces - Modern HTML5 for JSF developers
 

Destacado

2004 notarial practice
2004 notarial practice2004 notarial practice
2004 notarial practice
idamve
 
Marshall hm poster_vra2015
Marshall hm poster_vra2015Marshall hm poster_vra2015
Marshall hm poster_vra2015
Hannah Marshall
 

Destacado (17)

Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritte
 
Migrating to Java 9 Modules
Migrating to Java 9 ModulesMigrating to Java 9 Modules
Migrating to Java 9 Modules
 
TDD mit JUnit und Mockito
TDD mit JUnit und MockitoTDD mit JUnit und Mockito
TDD mit JUnit und Mockito
 
Project Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) WallProject Panama - Beyond the (JVM) Wall
Project Panama - Beyond the (JVM) Wall
 
Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013
Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013
Distributed Product Owner Team @ syngo - presented at ScanDev SDC 2013
 
2004 notarial practice
2004 notarial practice2004 notarial practice
2004 notarial practice
 
Senior it consultant in usa
Senior it consultant in usa Senior it consultant in usa
Senior it consultant in usa
 
Boletín 30/03/2017
Boletín 30/03/2017Boletín 30/03/2017
Boletín 30/03/2017
 
Marshall hm poster_vra2015
Marshall hm poster_vra2015Marshall hm poster_vra2015
Marshall hm poster_vra2015
 
Recull de premsa #Figueres - 30/03/2017
Recull de premsa #Figueres - 30/03/2017Recull de premsa #Figueres - 30/03/2017
Recull de premsa #Figueres - 30/03/2017
 
VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...
VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...
VISTO BUENO AL PLIEGO PARA LA CONTRATACIÓN DE DIFERENTES SERVICIOS PARA LA FE...
 
How to actually get software build
How to actually get software buildHow to actually get software build
How to actually get software build
 
How Functional Programming Made Me A Better Developer
How Functional Programming Made Me A Better DeveloperHow Functional Programming Made Me A Better Developer
How Functional Programming Made Me A Better Developer
 
Нетехническая ТРИЗ для ваших профи, продавца, исследователя
Нетехническая ТРИЗ для ваших профи, продавца, исследователяНетехническая ТРИЗ для ваших профи, продавца, исследователя
Нетехническая ТРИЗ для ваших профи, продавца, исследователя
 
The London Underground. Your 100 year old guide to website navigation
The London Underground. Your 100 year old guide to website navigationThe London Underground. Your 100 year old guide to website navigation
The London Underground. Your 100 year old guide to website navigation
 
How to Increase Employee Participation in Social Good Programs
How to Increase Employee Participation in Social Good Programs How to Increase Employee Participation in Social Good Programs
How to Increase Employee Participation in Social Good Programs
 
Towards a software-defined programmable digital infrustructure
Towards a software-defined programmable digital infrustructureTowards a software-defined programmable digital infrustructure
Towards a software-defined programmable digital infrustructure
 

Similar a From pair programming to mob architecting

Tätigkeits- und Beraterprofil Klaus Einecke
Tätigkeits-  und Beraterprofil Klaus EineckeTätigkeits-  und Beraterprofil Klaus Einecke
Tätigkeits- und Beraterprofil Klaus Einecke
Klaus Einecke
 
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdm
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdmProduktdatenmanagement mit Neo4j - Andreas Weber, semantic pdm
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdm
Neo4j
 

Similar a From pair programming to mob architecting (20)

Große agile Teams - Zu viele Entwickler verderben den Brei?
Große agile Teams - Zu viele Entwickler verderben den Brei?Große agile Teams - Zu viele Entwickler verderben den Brei?
Große agile Teams - Zu viele Entwickler verderben den Brei?
 
Solutiontogo webinar top 5 tricks und templates für die Planung mit MS Excel
Solutiontogo webinar top 5 tricks und templates für die Planung mit MS ExcelSolutiontogo webinar top 5 tricks und templates für die Planung mit MS Excel
Solutiontogo webinar top 5 tricks und templates für die Planung mit MS Excel
 
Kybernetik, Lean , BIM Erfahrungen bei der Umsetzung in Infrastruktur- und Tu...
Kybernetik, Lean , BIM Erfahrungen bei der Umsetzung in Infrastruktur- und Tu...Kybernetik, Lean , BIM Erfahrungen bei der Umsetzung in Infrastruktur- und Tu...
Kybernetik, Lean , BIM Erfahrungen bei der Umsetzung in Infrastruktur- und Tu...
 
Tätigkeits- und Beraterprofil Klaus Einecke
Tätigkeits-  und Beraterprofil Klaus EineckeTätigkeits-  und Beraterprofil Klaus Einecke
Tätigkeits- und Beraterprofil Klaus Einecke
 
GraphTalks Stuttgart - semantic data management – der Weg zu einer nachhaltig...
GraphTalks Stuttgart - semantic data management – der Weg zu einer nachhaltig...GraphTalks Stuttgart - semantic data management – der Weg zu einer nachhaltig...
GraphTalks Stuttgart - semantic data management – der Weg zu einer nachhaltig...
 
XML-basierte technische Redaktion auf SharePoint-Basis | DOKU-FORUM 2017
XML-basierte technische Redaktion auf SharePoint-Basis | DOKU-FORUM 2017XML-basierte technische Redaktion auf SharePoint-Basis | DOKU-FORUM 2017
XML-basierte technische Redaktion auf SharePoint-Basis | DOKU-FORUM 2017
 
ADAMA optimiert mit WEBCON BPS und Net at Work HR-Prozesse im SharePoint
ADAMA optimiert mit WEBCON BPS und Net at Work HR-Prozesse im SharePointADAMA optimiert mit WEBCON BPS und Net at Work HR-Prozesse im SharePoint
ADAMA optimiert mit WEBCON BPS und Net at Work HR-Prozesse im SharePoint
 
VMware Site Recovery Manager
VMware Site Recovery ManagerVMware Site Recovery Manager
VMware Site Recovery Manager
 
IT-Ringvorlesung - Präsentation Unister
IT-Ringvorlesung - Präsentation UnisterIT-Ringvorlesung - Präsentation Unister
IT-Ringvorlesung - Präsentation Unister
 
Net at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-readyNet at Work macht Ihr Unternehmen Homeoffice-ready
Net at Work macht Ihr Unternehmen Homeoffice-ready
 
Produktentstehungsprozess Lean , agil, klassisch Auf den Mix kommt es an
Produktentstehungsprozess Lean , agil, klassisch Auf den Mix kommt es anProduktentstehungsprozess Lean , agil, klassisch Auf den Mix kommt es an
Produktentstehungsprozess Lean , agil, klassisch Auf den Mix kommt es an
 
IBM Connections im Business Einsatz - Webinar 2 der IBM Connections Webinarreihe
IBM Connections im Business Einsatz - Webinar 2 der IBM Connections WebinarreiheIBM Connections im Business Einsatz - Webinar 2 der IBM Connections Webinarreihe
IBM Connections im Business Einsatz - Webinar 2 der IBM Connections Webinarreihe
 
Webcast: Vorlagenmanagement - Best Practices 2015
Webcast: Vorlagenmanagement - Best Practices 2015Webcast: Vorlagenmanagement - Best Practices 2015
Webcast: Vorlagenmanagement - Best Practices 2015
 
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdm
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdmProduktdatenmanagement mit Neo4j - Andreas Weber, semantic pdm
Produktdatenmanagement mit Neo4j - Andreas Weber, semantic pdm
 
Rethink! SPMS 2017
Rethink! SPMS 2017Rethink! SPMS 2017
Rethink! SPMS 2017
 
05 Mehrschichtenarchitekturen und Enterprise Java Beans
05 Mehrschichtenarchitekturen und Enterprise Java Beans05 Mehrschichtenarchitekturen und Enterprise Java Beans
05 Mehrschichtenarchitekturen und Enterprise Java Beans
 
Modellierung integrierter SAP System Landschaften
Modellierung integrierter SAP System LandschaftenModellierung integrierter SAP System Landschaften
Modellierung integrierter SAP System Landschaften
 
Jens Bleiholder und Rico Grossmann Unterstützung agiler Vorgehensmodelle du...
Jens Bleiholder und Rico Grossmann   Unterstützung agiler Vorgehensmodelle du...Jens Bleiholder und Rico Grossmann   Unterstützung agiler Vorgehensmodelle du...
Jens Bleiholder und Rico Grossmann Unterstützung agiler Vorgehensmodelle du...
 
V02 02 - weinbrecht - koexistenzmodelle und -erfahrungen
V02 02 - weinbrecht - koexistenzmodelle und -erfahrungenV02 02 - weinbrecht - koexistenzmodelle und -erfahrungen
V02 02 - weinbrecht - koexistenzmodelle und -erfahrungen
 
DNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereDNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_Konferenzbroschuere
 

Más de Carola Lilienthal

Más de Carola Lilienthal (7)

its all about the domain honey! Experiences from 15 years of Domain-Driven De...
its all about the domain honey! Experiences from 15 years of Domain-Driven De...its all about the domain honey! Experiences from 15 years of Domain-Driven De...
its all about the domain honey! Experiences from 15 years of Domain-Driven De...
 
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
its all about the domain, honey! Experiences from 15 years of Domain-Driven D...
 
Improving legacy
Improving legacyImproving legacy
Improving legacy
 
Resolving technical debt in software architecture
Resolving technical debt in software architectureResolving technical debt in software architecture
Resolving technical debt in software architecture
 
DDD Foundation: Improving legacy
DDD Foundation: Improving legacyDDD Foundation: Improving legacy
DDD Foundation: Improving legacy
 
Its all about the domain honey engl
Its all about the domain honey englIts all about the domain honey engl
Its all about the domain honey engl
 
Reducing technical debt in php
Reducing technical debt in phpReducing technical debt in php
Reducing technical debt in php
 

From pair programming to mob architecting

  • 1. WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Vom Pair Programming zur Mob-Architekturverbesserung Dr. Carola Lilienthal, cl@wps.de, @cairolali www.wps.de
  • 2.
  • 3. 10.04.2017 //// Seite 4WPS - Workplace Solutions GmbH Software- Architektur Anforderungs- ermittlung Leitstand und Interaktion Individual- software Business-Software, die Spaß macht! WPS – Workplace Solutions GmbH
  • 4.
  • 5. 10.04.2017 //// Seite 6WPS - Workplace Solutions GmbH Dr. Carola Lilienthal Geschäftsführerin cl@wps.de www.wps.de +49 40 229 499-0 +49 40 229 499-299 +49 170 184 77 11 Diplom-Informatikerin @cairolali a @cairolali cl@wps.de www.llsa.de
  • 6. 10.04.2017 //// Seite 7WPS - Workplace Solutions GmbH Software-Entwicklung/Einführung = Expedition Entscheidungs- spielraum Projektbeginn Zu Projektbeginn geplante Lösung Anvisiertes Ziel der 1. Iteration Unschärfe, im Projektverlauf abnehmend Zwischenergebnisse zum Überprüfen der Richtung Tatsächliche Lösung am Projektende © Gernot Starke
  • 7. 10.04.2017 //// Seite 8WPS - Workplace Solutions GmbH Aus klein wird groß, und jede Teillösung funktioniert! © Frank Düsterbeck
  • 8. 10.04.2017 //// Seite 9WPS - Workplace Solutions GmbH
  • 9. 10.04.2017 //// Seite 10WPS - Workplace Solutions GmbH Änderungen Backlog
  • 10. 10.04.2017 //// Seite 11WPS - Workplace Solutions GmbH Pair Programming
  • 11. 10.04.2017 //// Seite 12WPS - Workplace Solutions GmbH Pair-Programming
  • 12. 10.04.2017 //// Seite 13WPS - Workplace Solutions GmbH Beweise, Beweise, Beweise
  • 13. 10.04.2017 //// Seite 14WPS - Workplace Solutions GmbH Beweise, Beweise, Beweise
  • 14. 10.04.2017 //// Seite 15WPS - Workplace Solutions GmbH Verteiltes Pair Programming
  • 15. 10.04.2017 //// Seite 16WPS - Workplace Solutions GmbH Verteiltes Pair Programming
  • 16. 10.04.2017 //// Seite 17WPS - Workplace Solutions GmbH Mob Programming
  • 17. 10.04.2017 //// Seite 21WPS - Workplace Solutions GmbH Mob Architecting – Architekturanalyse im Team
  • 18. 10.04.2017 //// Seite 22WPS - Workplace Solutions GmbH Architekturanalyse: Was ist das? Findet sich die geplante Architektur (Soll-Architektur) in der Strukturen der implementierten Software (Ist-Architektur) wieder? Soll-Architektur Ist-Architektur ≠ Sourcecode Plan mit Klassen = Directories Packages Namespaces Subsysteme Komponenten Module Schichten
  • 19. 10.04.2017 //// Seite 23WPS - Workplace Solutions GmbH Architekturziele für Langlebigkeit Architekturziel 1: Erweiterbarkeit • schnelle Anpassungen • schnelle Fehleranalyse • Handlungssicherheit • Stabilität Architekturziel 2: Flexibilität • Varianten von Geschäftsprozessen • Geänderte Anforderungen • Serviceorientierung und Skalierbarkeit • Baukastenprinzip
  • 20. 10.04.2017 //// Seite 24WPS - Workplace Solutions GmbH Ausmaß an technischen Schulden Funktionalität pro ZeiteinheitArchitekturerneuerungWartung und Erweiterung hohe Schulden geringe Schulden Gleichbleibender Aufwand für Wartung
  • 21. 10.04.2017 //// Seite 25WPS - Workplace Solutions GmbH Ausmaß an technischen Schulden Funktionalität pro ZeiteinheitArchitekturerneuerung Architekturerosion Wartung und Erweiterung hohe Schulden geringe Schulden Gleichbleibender Aufwand für Wartung
  • 22. 10.04.2017 //// Seite 26WPS - Workplace Solutions GmbH Ausmaß an technischen Schulden Funktionalität pro Zeiteinheit Refactorings Architekturerneuerung Architekturerosion Wartung und Erweiterung hohe Schulden geringe Schulden Gleichbleibender Aufwand für Wartung
  • 23. 10.04.2017 //// Seite 27WPS - Workplace Solutions GmbH Ausmaß an technischen Schulden Funktionalität pro Zeiteinheit Refactorings Architekturerneuerung Architekturerosion Wartung und Erweiterung hohe Schulden geringe Schulden Gleichbleibender Aufwand für Wartung Hoher, unplanbarer Aufwand für Wartung
  • 24. 10.04.2017 //// Seite 28WPS - Workplace Solutions GmbH Ausmaß an technischen Schulden Funktionalität pro Zeiteinheit Refactorings Architekturerneuerung Architekturerosion Wartung und Erweiterung hohe Schulden geringe Schulden Gleichbleibender Aufwand für Wartung Hoher, unplanbarer Aufwand für Wartung
  • 25. 10.04.2017 //// Seite 30WPS - Workplace Solutions GmbH 70% 20% 10% Code verstehen Problem lösen Code schreiben Womit verbringen wir unsere Zeit?
  • 26. 10.04.2017 //// Seite 33WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata
  • 27. 10.04.2017 //// Seite 34WPS - Workplace Solutions GmbH
  • 28. 10.04.2017 //// Seite 37WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur Modularität
  • 29. 10.04.2017 //// Seite 39WPS - Workplace Solutions GmbH Modularität Hohe Kohäsion und lose Kopplung Separation of Concerns Single Responsibility Principle
  • 30. 10.04.2017 //// Seite 40WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur Modularität
  • 31. 10.04.2017 //// Seite 41WPS - Workplace Solutions GmbH Hierarchien  
  • 32. 10.04.2017 //// Seite 42WPS - Workplace Solutions GmbH
  • 33. 10.04.2017 //// Seite 43WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität
  • 34. 10.04.2017 //// Seite 44WPS - Workplace Solutions GmbH
  • 35. 10.04.2017 //// Seite 45WPS - Workplace Solutions GmbH
  • 36. 10.04.2017 //// Seite 46WPS - Workplace Solutions GmbH Säumer Schema @ Daniel Rihs
  • 37. 10.04.2017 //// Seite 47WPS - Workplace Solutions GmbH
  • 38. 10.04.2017 //// Seite 48WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität Musterkonsistenz
  • 39. 10.04.2017 //// Seite 49WPS - Workplace Solutions GmbH User Interface Domain Application Hierarchien in Architekturebene: Schichten und Module Fachliches Modul B Fachliches Modul A Fachliche Schichtung TechnischeSchichtung Fachliches Modul C
  • 40. 10.04.2017 //// Seite 50WPS - Workplace Solutions GmbH Typische Architektur bei jungen Systemen Gute technische Schichtung Unfertige fachliche Struktur  Technische Struktur  Fachliche Struktur ist unklar
  • 41. 10.04.2017 //// Seite 51WPS - Workplace Solutions GmbH Zwei Dimensionen einer Architektur Technische Schichtung Fachliche Schichtung Leicht zu behebende Verletzungen Schwer zu behebende Verletzungen Eine Komponente verursacht die Probleme Eine Komponente verursacht die Probleme
  • 42. 10.04.2017 //// Seite 53WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität Musterkonsistenz
  • 43. 10.04.2017 //// Seite 54WPS - Workplace Solutions GmbH Uneven Modules 9 Komponenten = 17 Subsysteme
  • 44. 10.04.2017 //// Seite 55WPS - Workplace Solutions GmbH Uneven Modules Ein großer Monolith mit vielen kleinen Satelliten 950.860 LOC 84.808 LOC
  • 45. 10.04.2017 //// Seite 56WPS - Workplace Solutions GmbH 128 Build Units mit Anzahl Klassen  3 Mio von 9 Mio LOC  1/3 des Systems
  • 46. 10.04.2017 //// Seite 57WPS - Workplace Solutions GmbH 5.270 Klassen in einem Zyklus in einer BuildUnit
  • 47. 10.04.2017 //// Seite 58WPS - Workplace Solutions GmbH
  • 48. 10.04.2017 //// Seite 61WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität Musterkonsistenz
  • 49. 10.04.2017 //// Seite 65WPS - Workplace Solutions GmbH Muster auf Klassenebene: Entwurfsmuster und Mustersprachen User Interface Domain Application Fachliches Modul Window GUI Model View C o n t r o l ValueObject Service BusinessObject SchichtungdurchMuster
  • 50. 10.04.2017 //// Seite 66WPS - Workplace Solutions GmbH Kaputte Muster führen zu Zyklen
  • 51. 10.04.2017 //// Seite 67WPS - Workplace Solutions GmbH 119 Klassen aus 4 Komponenten + 28 weitere Klassen
  • 52. 10.04.2017 //// Seite 68WPS - Workplace Solutions GmbH Große Zyklen sichtbar machen 327 Klassen aus 8 Komponenten brauchen sich gegenseitig
  • 53. 10.04.2017 //// Seite 69WPS - Workplace Solutions GmbH
  • 54. 10.04.2017 //// Seite 74WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata HierarchisierungModularität Musterkonsistenz  Einheitliche und durchgängige Muster  Zyklenfreiheit auf allen Ebenen  Zuständigkeit  Kopplung  Größenverhältnisse  Schnittstellen
  • 55. 10.04.2017 //// Seite 75WPS - Workplace Solutions GmbH Kostenfreie Werkzeuge • SonarQube: • Leitstand für Qualitätsmetriken • Plattform für vielfältige Plugins • JDepend: • wenige Metriken • einfache Abhängigkeitsanalyse • JDepend + Google Architecture Rules: • einfache Architekturbeschreibung • Ndepend/CDepend: • Metriken • Abhängigkeitsanalyse • XRadar: • Analyse von Java-Projekten via maven • Reports bezüglich Komplexität und Architekturverletzungen • Moose • Code City • Degraph • jQAssistant
  • 56. 10.04.2017 //// Seite 76WPS - Workplace Solutions GmbH Kommerzielle Produkte  Axivion Bauhaus: Java, C#, C/C++, Ada, VB und Cobol  Lattix: Java, .Net, C/C++, Ada, Delphi und DB-Systeme  Structure101: Java, C++, Ada  SotoArc und Sonargraph: Java, C#, C/C++, ABAP, PHP  Teamscale: C#, Java  Seerene: Java, C#, C/C++, ABAP
  • 57. 10.04.2017 //// Seite 78WPS - Workplace Solutions GmbH Modularität von Softwarearchitekturen - Java, C#, C++, ABAP, PHP - Modularität (0-10)
  • 58. 10.04.2017 //// Seite 79WPS - Workplace Solutions GmbH Vielen Dank für Ihre Aufmerksamkeit!
  • 59. Schulungen zu Architektur und Domain-Driven Design wps.de/schulung
  • 60. 10.04.2017 //// Seite 81WPS - Workplace Solutions GmbH Dr. Carola Lilienthal Geschäftsführerin cl@wps.de www.wps.de +49 40 229 499-0 +49 40 229 499-299 +49 170 184 77 11 Diplom-Informatikerin @cairolali a @cairolali cl@wps.de www.llsa.de Vielen Dank für Ihre Aufmerksamkeit!