SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG
Technische Schulden tun weh!
Wie man sie erkennt und beseitigt.
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
Expertise zu Architekturanalyse
10.04.2017 //// Seite 8WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 10WPS - Workplace Solutions GmbH
Architekturziele für Langlebigkeit
Architekturziel 1: Wartbarkeit
• schnelle Fehleranalyse
• schnelle Anpassungen
• Handlungssicherheit
• Stabilität
Architekturziel 2: Flexibilität
• Varianten von Geschäftsprozessen
• Geänderte Anforderungen
• Serviceorientierung und Skalierbarkeit
• Baukastenprinzip
10.04.2017 //// Seite 11WPS - Workplace Solutions GmbH
70%
20%
10%
Code verstehen
Problem lösen
Code schreiben
Womit verbringen wir unsere Zeit?
10.04.2017 //// Seite 12WPS - 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 13WPS - Workplace Solutions GmbH
Mob Architecting – Architekturanalyse im Team
10.04.2017 //// Seite 18WPS - Workplace Solutions GmbH
Komplexe Strukturen verstehen = Zeitgewinn!
Kognitive Mechanismen
Bildung von
Hierarchien
Chunking
Aufbau von
Schemata
10.04.2017 //// Seite 19WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 23WPS - Workplace Solutions GmbH
class XYManager
{
function register_service($service) {…}
function get_service : Service {…}
function initialize_service_registry() {…}
function send_event($event) {…}
function initialize_printer_queue() {…}
function print_document($doc) {…}
}
10.04.2017 //// Seite 24WPS - 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 26WPS - Workplace Solutions GmbH
Modularität
Hohe Kohäsion und
lose Kopplung
Separation of Concerns
Single Responsibility Principle
10.04.2017 //// Seite 27WPS - 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 28WPS - Workplace Solutions GmbH
Hierarchien
 
10.04.2017 //// Seite 30WPS - 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 35WPS - 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 36WPS - 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 37WPS - Workplace Solutions GmbH
Typische bei jungen Systemen
Gute technische Schichtung Unfertige fachliche Struktur
 Technische Struktur
 Fachliche Struktur ist unklar
10.04.2017 //// Seite 38WPS - 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 40WPS - 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 41WPS - Workplace Solutions GmbH
Uneven Modules
9 Komponenten = 17 Subsysteme
10.04.2017 //// Seite 42WPS - Workplace Solutions GmbH
Uneven Modules
Ein großer Monolith mit vielen kleinen Satelliten
950.860 LOC
84.808 LOC
Häufige Ursache: Build-System, das Zyklen verbietet
10.04.2017 //// Seite 43WPS - Workplace Solutions GmbH
128 Build Units mit Anzahl Klassen
 3 Mio von
9 Mio LOC
 1/3 des
Systems
10.04.2017 //// Seite 44WPS - Workplace Solutions GmbH
5.270 Klassen in einem Zyklus
in einer BuildUnit
10.04.2017 //// Seite 47WPS - 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 48WPS - Workplace Solutions GmbH
Muster auf Architekturebene: Vier Module
Modul
Grün
Modul
Lila
Modul
Orange
Modul
Blau
10.04.2017 //// Seite 49WPS - Workplace Solutions GmbH
Musterkonsistenz: Was finden wir?
 Ist die Abbildung der Architektur in der Struktur des Codes zu erkennen?
10.04.2017 //// Seite 50WPS - Workplace Solutions GmbH
Muster sinnvoll eingesetzt
10.04.2017 //// Seite 51WPS - Workplace Solutions GmbH
Muster auf Klassenebene: Entwurfsmuster und Mustersprachen
User
Interface
Domain
Application
Fachliches
Modul A
Fachliche Schichtung
Fachliches
Modul C
Fachliches Modul B
Window
GUI
Model
View
C
o
n
t
r
o
l
ValueObject
Service
BusinessObject
SchichtungdurchMuster
10.04.2017 //// Seite 52WPS - Workplace Solutions GmbH
Kaputte Muster führen zu Zyklen
10.04.2017 //// Seite 53WPS - Workplace Solutions GmbH
119 Klassen aus 4 Komponenten
+ 28 weitere Klassen
10.04.2017 //// Seite 54WPS - Workplace Solutions GmbH
Große Zyklen sichtbar machen
327 Klassen aus 8 Komponenten
brauchen sich gegenseitig
10.04.2017 //// Seite 55WPS - Workplace Solutions GmbH
10.04.2017 //// Seite 56WPS - Workplace Solutions GmbH
Gute umgesetzte Mustersprache
 90% des Sourcecodes lässt sich den Mustern zuordnen
 0,1% Verletzungen in den Mustern
Eventer
Processes
Service
10.04.2017 //// Seite 60WPS - 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 64WPS - Workplace Solutions GmbH
Qualität von Softwarearchitekturen
- Java, C#, C++, ABAP, PHP -
10.04.2017 //// Seite 65WPS - Workplace Solutions GmbH
Vielen Dank für Ihre Aufmerksamkeit!
Schulungen zu
Architektur und Domain-Driven Design
wps.de/schulung
10.04.2017 //// Seite 67WPS - 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!

Weitere ähnliche Inhalte

Was ist angesagt?

Search Engine Strategies 2008 - Keyword-Recherche im Web2.0
Search Engine Strategies 2008 - Keyword-Recherche im Web2.0Search Engine Strategies 2008 - Keyword-Recherche im Web2.0
Search Engine Strategies 2008 - Keyword-Recherche im Web2.0trafficmaxx c/o construktiv GmbH
 
Geomapping am Bahnhof
Geomapping am BahnhofGeomapping am Bahnhof
Geomapping am Bahnhofbrandmanager
 
trafficmaxx - Content Marketing Workshop - Medienforum Mittweida 2013
trafficmaxx - Content Marketing Workshop - Medienforum Mittweida 2013trafficmaxx - Content Marketing Workshop - Medienforum Mittweida 2013
trafficmaxx - Content Marketing Workshop - Medienforum Mittweida 2013trafficmaxx c/o construktiv GmbH
 
ITB 2012 Spezial: Online Marketing für die Tourismus-Branche
ITB 2012 Spezial: Online Marketing für die Tourismus-BrancheITB 2012 Spezial: Online Marketing für die Tourismus-Branche
ITB 2012 Spezial: Online Marketing für die Tourismus-Branchetrafficmaxx c/o construktiv GmbH
 
Bildungskonferenz 2010 - Online Marketing - Der effiziente Weg zum Erfolg
Bildungskonferenz 2010 - Online Marketing - Der effiziente Weg zum ErfolgBildungskonferenz 2010 - Online Marketing - Der effiziente Weg zum Erfolg
Bildungskonferenz 2010 - Online Marketing - Der effiziente Weg zum Erfolgtrafficmaxx c/o construktiv GmbH
 
SMX 2009 - Reputation und Social Media Management für Unternehmen
SMX 2009 - Reputation und Social Media Management für UnternehmenSMX 2009 - Reputation und Social Media Management für Unternehmen
SMX 2009 - Reputation und Social Media Management für Unternehmentrafficmaxx c/o construktiv GmbH
 
Search Engine Strategies 2010 - Erfolgreiche Webseiten-Architektur
Search Engine Strategies 2010 - Erfolgreiche Webseiten-ArchitekturSearch Engine Strategies 2010 - Erfolgreiche Webseiten-Architektur
Search Engine Strategies 2010 - Erfolgreiche Webseiten-Architekturtrafficmaxx c/o construktiv GmbH
 
Marketing on Tour 2010 - Suchmaschinenoptimierung der Universal Search
Marketing on Tour 2010 - Suchmaschinenoptimierung der Universal SearchMarketing on Tour 2010 - Suchmaschinenoptimierung der Universal Search
Marketing on Tour 2010 - Suchmaschinenoptimierung der Universal Searchtrafficmaxx c/o construktiv GmbH
 
Collaboration day 2016 - Connections - Apps
Collaboration day 2016 - Connections - AppsCollaboration day 2016 - Connections - Apps
Collaboration day 2016 - Connections - AppsBelsoft
 
DevOps im Konzern: Autonomie vs Betriebssicherheit
DevOps im Konzern: Autonomie vs BetriebssicherheitDevOps im Konzern: Autonomie vs Betriebssicherheit
DevOps im Konzern: Autonomie vs BetriebssicherheitJohannes Dienst
 
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)Georg Eck
 
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEA
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEAtekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEA
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEAGeorg Eck
 
Agile projects with CQ5 - Short time to web using the example of DHL.de: T-Sy...
Agile projects with CQ5 - Short time to web using the example of DHL.de: T-Sy...Agile projects with CQ5 - Short time to web using the example of DHL.de: T-Sy...
Agile projects with CQ5 - Short time to web using the example of DHL.de: T-Sy...Day Software
 
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 xPagesBelsoft
 
iBelieve 2015 IBM i Customer Systembetreuung GmbH - Christoph Lösel
iBelieve 2015 IBM i Customer Systembetreuung GmbH - Christoph LöseliBelieve 2015 IBM i Customer Systembetreuung GmbH - Christoph Lösel
iBelieve 2015 IBM i Customer Systembetreuung GmbH - Christoph LöselFresche Solutions
 

Was ist angesagt? (20)

Technische schulden abbauen
Technische schulden abbauenTechnische schulden abbauen
Technische schulden abbauen
 
Search Engine Strategies 2008 - Keyword-Recherche im Web2.0
Search Engine Strategies 2008 - Keyword-Recherche im Web2.0Search Engine Strategies 2008 - Keyword-Recherche im Web2.0
Search Engine Strategies 2008 - Keyword-Recherche im Web2.0
 
Geomapping am Bahnhof
Geomapping am BahnhofGeomapping am Bahnhof
Geomapping am Bahnhof
 
trafficmaxx - Content Marketing Workshop - Medienforum Mittweida 2013
trafficmaxx - Content Marketing Workshop - Medienforum Mittweida 2013trafficmaxx - Content Marketing Workshop - Medienforum Mittweida 2013
trafficmaxx - Content Marketing Workshop - Medienforum Mittweida 2013
 
Blogs im Unternehmenseinsatz
Blogs im UnternehmenseinsatzBlogs im Unternehmenseinsatz
Blogs im Unternehmenseinsatz
 
ITB 2012 Spezial: Online Marketing für die Tourismus-Branche
ITB 2012 Spezial: Online Marketing für die Tourismus-BrancheITB 2012 Spezial: Online Marketing für die Tourismus-Branche
ITB 2012 Spezial: Online Marketing für die Tourismus-Branche
 
Bildungskonferenz 2010 - Online Marketing - Der effiziente Weg zum Erfolg
Bildungskonferenz 2010 - Online Marketing - Der effiziente Weg zum ErfolgBildungskonferenz 2010 - Online Marketing - Der effiziente Weg zum Erfolg
Bildungskonferenz 2010 - Online Marketing - Der effiziente Weg zum Erfolg
 
SMX 2009 - Reputation und Social Media Management für Unternehmen
SMX 2009 - Reputation und Social Media Management für UnternehmenSMX 2009 - Reputation und Social Media Management für Unternehmen
SMX 2009 - Reputation und Social Media Management für Unternehmen
 
AdWords Days 2009 - Kampagnenoptimierung
AdWords Days 2009 - KampagnenoptimierungAdWords Days 2009 - Kampagnenoptimierung
AdWords Days 2009 - Kampagnenoptimierung
 
Search Engine Strategies 2010 - Erfolgreiche Webseiten-Architektur
Search Engine Strategies 2010 - Erfolgreiche Webseiten-ArchitekturSearch Engine Strategies 2010 - Erfolgreiche Webseiten-Architektur
Search Engine Strategies 2010 - Erfolgreiche Webseiten-Architektur
 
Marketing on Tour 2010 - Suchmaschinenoptimierung der Universal Search
Marketing on Tour 2010 - Suchmaschinenoptimierung der Universal SearchMarketing on Tour 2010 - Suchmaschinenoptimierung der Universal Search
Marketing on Tour 2010 - Suchmaschinenoptimierung der Universal Search
 
Bewerbung
BewerbungBewerbung
Bewerbung
 
Collaboration day 2016 - Connections - Apps
Collaboration day 2016 - Connections - AppsCollaboration day 2016 - Connections - Apps
Collaboration day 2016 - Connections - Apps
 
DevOps im Konzern: Autonomie vs Betriebssicherheit
DevOps im Konzern: Autonomie vs BetriebssicherheitDevOps im Konzern: Autonomie vs Betriebssicherheit
DevOps im Konzern: Autonomie vs Betriebssicherheit
 
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)
Publikationsstrategien im 21. Jahrhundert - Go Mobile (#tekom | TH-Nürnberg)
 
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEA
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEAtekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEA
tekom/tcworld 2013 – T1: 3D-PDF-Tools von Tetra4D im Vergleich mit SAP VEA
 
Agile projects with CQ5 - Short time to web using the example of DHL.de: T-Sy...
Agile projects with CQ5 - Short time to web using the example of DHL.de: T-Sy...Agile projects with CQ5 - Short time to web using the example of DHL.de: T-Sy...
Agile projects with CQ5 - Short time to web using the example of DHL.de: T-Sy...
 
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
 
iBelieve 2015 IBM i Customer Systembetreuung GmbH - Christoph Lösel
iBelieve 2015 IBM i Customer Systembetreuung GmbH - Christoph LöseliBelieve 2015 IBM i Customer Systembetreuung GmbH - Christoph Lösel
iBelieve 2015 IBM i Customer Systembetreuung GmbH - Christoph Lösel
 
[DE] Update Information Management 2017 | Information Management – Auf zu neu...
[DE] Update Information Management 2017 | Information Management – Auf zu neu...[DE] Update Information Management 2017 | Information Management – Auf zu neu...
[DE] Update Information Management 2017 | Information Management – Auf zu neu...
 

Ähnlich wie Technische Schulden tun weh! Wie man sie erkennt und beseitigt

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?Julia Stoff
 
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...Hamid Rahebi
 
05 Mehrschichtenarchitekturen und Enterprise Java Beans
05 Mehrschichtenarchitekturen und Enterprise Java Beans05 Mehrschichtenarchitekturen und Enterprise Java Beans
05 Mehrschichtenarchitekturen und Enterprise Java Beansklickandbau
 
DNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereDNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereFriedel Jonker
 
Abayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaProAbayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaProAdaPro GmbH
 
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...Neo4j
 
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-readybhoeck
 
Tätigkeits- und Beraterprofil Klaus Einecke
Tätigkeits-  und Beraterprofil Klaus EineckeTätigkeits-  und Beraterprofil Klaus Einecke
Tätigkeits- und Beraterprofil Klaus EineckeKlaus Einecke
 
Working, Collaborating and Leading in the Digital Age (blp17)
Working, Collaborating and Leading in the Digital Age (blp17)Working, Collaborating and Leading in the Digital Age (blp17)
Working, Collaborating and Leading in the Digital Age (blp17)Cogneon Akademie
 
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 ...bhoeck
 
Authoring Management
Authoring ManagementAuthoring Management
Authoring Managementvzimmermann
 
Modulare Baukästen, Modularisierung und Produktplattformen:Vorstellung MB Col...
Modulare Baukästen, Modularisierung und Produktplattformen:Vorstellung MB Col...Modulare Baukästen, Modularisierung und Produktplattformen:Vorstellung MB Col...
Modulare Baukästen, Modularisierung und Produktplattformen:Vorstellung MB Col...Daniel Mund
 
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 Excelsolutiontogo
 
V02 02 - weinbrecht - koexistenzmodelle und -erfahrungen
V02 02 - weinbrecht - koexistenzmodelle und -erfahrungenV02 02 - weinbrecht - koexistenzmodelle und -erfahrungen
V02 02 - weinbrecht - koexistenzmodelle und -erfahrungenAndreas Weinbrecht
 
Neo4j GraphTalks - Semantische Netze
Neo4j GraphTalks - Semantische NetzeNeo4j GraphTalks - Semantische Netze
Neo4j GraphTalks - Semantische NetzeNeo4j
 
Enterprise mashups - Remix the Web. Create your own workplace.
Enterprise mashups - Remix the Web. Create your own workplace.Enterprise mashups - Remix the Web. Create your own workplace.
Enterprise mashups - Remix the Web. Create your own workplace.tischmid
 
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 WebinarreiheBeck et al. GmbH
 
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...DNUG e.V.
 

Ähnlich wie Technische Schulden tun weh! Wie man sie erkennt und beseitigt (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?
 
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...
 
05 Mehrschichtenarchitekturen und Enterprise Java Beans
05 Mehrschichtenarchitekturen und Enterprise Java Beans05 Mehrschichtenarchitekturen und Enterprise Java Beans
05 Mehrschichtenarchitekturen und Enterprise Java Beans
 
DNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_KonferenzbroschuereDNUG 36 2012_Konferenzbroschuere
DNUG 36 2012_Konferenzbroschuere
 
Abayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaProAbayoo Netzwerkpartner AdaPro
Abayoo Netzwerkpartner AdaPro
 
[DE] Trends für ECM 2010 | Dr. Ulrich Kampffmeyer | Keynote für COI | 2009
[DE] Trends für ECM 2010 | Dr. Ulrich Kampffmeyer | Keynote für COI | 2009[DE] Trends für ECM 2010 | Dr. Ulrich Kampffmeyer | Keynote für COI | 2009
[DE] Trends für ECM 2010 | Dr. Ulrich Kampffmeyer | Keynote für COI | 2009
 
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...
 
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
 
Tätigkeits- und Beraterprofil Klaus Einecke
Tätigkeits-  und Beraterprofil Klaus EineckeTätigkeits-  und Beraterprofil Klaus Einecke
Tätigkeits- und Beraterprofil Klaus Einecke
 
[DE] "Information Management und digitale Transformation: In fünf Schritten v...
[DE] "Information Management und digitale Transformation: In fünf Schritten v...[DE] "Information Management und digitale Transformation: In fünf Schritten v...
[DE] "Information Management und digitale Transformation: In fünf Schritten v...
 
Working, Collaborating and Leading in the Digital Age (blp17)
Working, Collaborating and Leading in the Digital Age (blp17)Working, Collaborating and Leading in the Digital Age (blp17)
Working, Collaborating and Leading in the Digital Age (blp17)
 
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 ...
 
Authoring Management
Authoring ManagementAuthoring Management
Authoring Management
 
Modulare Baukästen, Modularisierung und Produktplattformen:Vorstellung MB Col...
Modulare Baukästen, Modularisierung und Produktplattformen:Vorstellung MB Col...Modulare Baukästen, Modularisierung und Produktplattformen:Vorstellung MB Col...
Modulare Baukästen, Modularisierung und Produktplattformen:Vorstellung MB Col...
 
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
 
V02 02 - weinbrecht - koexistenzmodelle und -erfahrungen
V02 02 - weinbrecht - koexistenzmodelle und -erfahrungenV02 02 - weinbrecht - koexistenzmodelle und -erfahrungen
V02 02 - weinbrecht - koexistenzmodelle und -erfahrungen
 
Neo4j GraphTalks - Semantische Netze
Neo4j GraphTalks - Semantische NetzeNeo4j GraphTalks - Semantische Netze
Neo4j GraphTalks - Semantische Netze
 
Enterprise mashups - Remix the Web. Create your own workplace.
Enterprise mashups - Remix the Web. Create your own workplace.Enterprise mashups - Remix the Web. Create your own workplace.
Enterprise mashups - Remix the Web. Create your own workplace.
 
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
 
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...
20150611 track3 2_bp23_social pm mit externen activitities in ibm connections...
 

Mehr von Carola Lilienthal

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...Carola Lilienthal
 
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...Carola Lilienthal
 
Resolving technical debt in software architecture
Resolving technical debt in software architectureResolving technical debt in software architecture
Resolving technical debt in software architectureCarola Lilienthal
 
DDD Foundation: Improving legacy
DDD Foundation: Improving legacyDDD Foundation: Improving legacy
DDD Foundation: Improving legacyCarola Lilienthal
 
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 englCarola Lilienthal
 
Reducing technical debt in php
Reducing technical debt in phpReducing technical debt in php
Reducing technical debt in phpCarola Lilienthal
 
Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritteCarola Lilienthal
 

Mehr von Carola Lilienthal (8)

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
 
Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritte
 

Technische Schulden tun weh! Wie man sie erkennt und beseitigt

  • 1. WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG Technische Schulden tun weh! Wie man sie erkennt und beseitigt. 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 Expertise zu Architekturanalyse
  • 7. 10.04.2017 //// Seite 8WPS - Workplace Solutions GmbH
  • 8. 10.04.2017 //// Seite 10WPS - Workplace Solutions GmbH Architekturziele für Langlebigkeit Architekturziel 1: Wartbarkeit • schnelle Fehleranalyse • schnelle Anpassungen • Handlungssicherheit • Stabilität Architekturziel 2: Flexibilität • Varianten von Geschäftsprozessen • Geänderte Anforderungen • Serviceorientierung und Skalierbarkeit • Baukastenprinzip
  • 9. 10.04.2017 //// Seite 11WPS - Workplace Solutions GmbH 70% 20% 10% Code verstehen Problem lösen Code schreiben Womit verbringen wir unsere Zeit?
  • 10. 10.04.2017 //// Seite 12WPS - 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
  • 11. 10.04.2017 //// Seite 13WPS - Workplace Solutions GmbH Mob Architecting – Architekturanalyse im Team
  • 12. 10.04.2017 //// Seite 18WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata
  • 13. 10.04.2017 //// Seite 19WPS - Workplace Solutions GmbH
  • 14. 10.04.2017 //// Seite 23WPS - Workplace Solutions GmbH class XYManager { function register_service($service) {…} function get_service : Service {…} function initialize_service_registry() {…} function send_event($event) {…} function initialize_printer_queue() {…} function print_document($doc) {…} }
  • 15. 10.04.2017 //// Seite 24WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur Modularität
  • 16. 10.04.2017 //// Seite 26WPS - Workplace Solutions GmbH Modularität Hohe Kohäsion und lose Kopplung Separation of Concerns Single Responsibility Principle
  • 17. 10.04.2017 //// Seite 27WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur Modularität
  • 18. 10.04.2017 //// Seite 28WPS - Workplace Solutions GmbH Hierarchien  
  • 19. 10.04.2017 //// Seite 30WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität
  • 20. 10.04.2017 //// Seite 35WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität Musterkonsistenz
  • 21. 10.04.2017 //// Seite 36WPS - 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
  • 22. 10.04.2017 //// Seite 37WPS - Workplace Solutions GmbH Typische bei jungen Systemen Gute technische Schichtung Unfertige fachliche Struktur  Technische Struktur  Fachliche Struktur ist unklar
  • 23. 10.04.2017 //// Seite 38WPS - 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
  • 24. 10.04.2017 //// Seite 40WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität Musterkonsistenz
  • 25. 10.04.2017 //// Seite 41WPS - Workplace Solutions GmbH Uneven Modules 9 Komponenten = 17 Subsysteme
  • 26. 10.04.2017 //// Seite 42WPS - Workplace Solutions GmbH Uneven Modules Ein großer Monolith mit vielen kleinen Satelliten 950.860 LOC 84.808 LOC Häufige Ursache: Build-System, das Zyklen verbietet
  • 27. 10.04.2017 //// Seite 43WPS - Workplace Solutions GmbH 128 Build Units mit Anzahl Klassen  3 Mio von 9 Mio LOC  1/3 des Systems
  • 28. 10.04.2017 //// Seite 44WPS - Workplace Solutions GmbH 5.270 Klassen in einem Zyklus in einer BuildUnit
  • 29. 10.04.2017 //// Seite 47WPS - Workplace Solutions GmbH Komplexe Strukturen verstehen = Zeitgewinn! Kognitive Mechanismen Bildung von Hierarchien Chunking Aufbau von Schemata Einfache, einheitliche Architektur HierarchisierungModularität Musterkonsistenz
  • 30. 10.04.2017 //// Seite 48WPS - Workplace Solutions GmbH Muster auf Architekturebene: Vier Module Modul Grün Modul Lila Modul Orange Modul Blau
  • 31. 10.04.2017 //// Seite 49WPS - Workplace Solutions GmbH Musterkonsistenz: Was finden wir?  Ist die Abbildung der Architektur in der Struktur des Codes zu erkennen?
  • 32. 10.04.2017 //// Seite 50WPS - Workplace Solutions GmbH Muster sinnvoll eingesetzt
  • 33. 10.04.2017 //// Seite 51WPS - Workplace Solutions GmbH Muster auf Klassenebene: Entwurfsmuster und Mustersprachen User Interface Domain Application Fachliches Modul A Fachliche Schichtung Fachliches Modul C Fachliches Modul B Window GUI Model View C o n t r o l ValueObject Service BusinessObject SchichtungdurchMuster
  • 34. 10.04.2017 //// Seite 52WPS - Workplace Solutions GmbH Kaputte Muster führen zu Zyklen
  • 35. 10.04.2017 //// Seite 53WPS - Workplace Solutions GmbH 119 Klassen aus 4 Komponenten + 28 weitere Klassen
  • 36. 10.04.2017 //// Seite 54WPS - Workplace Solutions GmbH Große Zyklen sichtbar machen 327 Klassen aus 8 Komponenten brauchen sich gegenseitig
  • 37. 10.04.2017 //// Seite 55WPS - Workplace Solutions GmbH
  • 38. 10.04.2017 //// Seite 56WPS - Workplace Solutions GmbH Gute umgesetzte Mustersprache  90% des Sourcecodes lässt sich den Mustern zuordnen  0,1% Verletzungen in den Mustern Eventer Processes Service
  • 39. 10.04.2017 //// Seite 60WPS - 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
  • 40. 10.04.2017 //// Seite 64WPS - Workplace Solutions GmbH Qualität von Softwarearchitekturen - Java, C#, C++, ABAP, PHP -
  • 41. 10.04.2017 //// Seite 65WPS - Workplace Solutions GmbH Vielen Dank für Ihre Aufmerksamkeit!
  • 42. Schulungen zu Architektur und Domain-Driven Design wps.de/schulung
  • 43. 10.04.2017 //// Seite 67WPS - 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!