60
WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Vom Pair Programming zur Mob-Architekturverbesserung Dr. Carola Lilienthal, [email protected], @cairolali www.wps.de

From pair programming to mob architecting

Embed Size (px)

Citation preview

WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG

Vom Pair Programming zur Mob-Architekturverbesserung

Dr. Carola Lilienthal, [email protected], @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

[email protected]

www.wps.de

+49 40 229 499-0

+49 40 229 499-299

+49 170 184 77 11

Diplom-Informatikerin

@cairolali

a @cairolali

[email protected]

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 ZeiteinheitArchitekturerneuerung Wartung 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

HierarchienChunking

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

HierarchienChunking

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

HierarchienChunking

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

HierarchienChunking

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

HierarchienChunking

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

Te

ch

nis

ch

e S

ch

ich

tun

gFachliches

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

HierarchienChunking

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

HierarchienChunking

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

ViewControl

ValueObject

Service

BusinessObject

Sc

hic

htu

ng

du

rch

Mu

ste

r

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

HierarchienChunking

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

[email protected]

www.wps.de

+49 40 229 499-0

+49 40 229 499-299

+49 170 184 77 11

Diplom-Informatikerin

@cairolali

a @cairolali

[email protected]

www.llsa.de

Vielen Dank für Ihre Aufmerksamkeit!