SlideShare a Scribd company logo
1 of 41
Download to read offline
WPS - Workplace Solutions GmbH //// Hans-Henny-Jahnn-Weg 29 //// 22085 HAMBURG
Resolving technical debt in software architecture
Dr. Carola Lilienthal
Carola.Lilienthal@wps.de, @cairolali
www.wps.de
@cairolali
@cairolali
7 41
63
128
72 bis 15 Mio
bis 5 Mio
bis 1 Mio
bis 500.000
bis 100.000
@cairolali
HOW DO WE SPEND OUR TIME?
70%
20%
10%
Code verstehen
Problem lösen
Code schreiben
Code comprehension
Problem solving
Writing code
@cairolali
WELL-FORMED COMPLEX STRUCTURES = SAVING TIME!
Cognitive Mechanisms
HierarchiesChunking Schemata
@cairolali
@cairolali
WELL-FORMED COMPLEX STRUCTURES = SAVING TIME!
Cognitive Mechanisms
HierarchiesChunking Schemata
Well-formed
architecture
Modularity
@cairolali
MODULARITY
▪High Cohesion and lose Coupling
▪Responsibility Driven Design
▪Separation of Concerns
▪Single Responsibility Principle
@cairolali
WELL-FORMED COMPLEX STRUCTURES = SAVING TIME!
Cognitive Mechanisms
HierarchiesChunking Schemata
Well-formed
architecture
Modularity
@cairolali
HIERARCHIES
 
@cairolali
WELL-FORMED COMPLEX STRUCTURES = SAVING TIME!
Cognitive Mechanisms
HierarchiesChunking Schemata
Well-formed
architecture
Modularity
Hierarchical
Layerng
@cairolali
@cairolali
WELL-FORMED COMPLEX STRUCTURES = SAVING TIME!
Cognitive Mechanisms
HierarchiesChunking Schemata
Well-formed
architecture
Modularity
Hierarchical
Layerng
Pattern
Consistency
@cairolali
WRONG PATTERN STOP THE FLOW
Domain Module
Model
View
Con
trol
ValueObject
Service
BusinessObject
Factory
✓ createBusinessObject()
✓ createValueObject()
× calculate(BO)
× process(BO)
@cairolali
WELL-FORMED COMPLEX STRUCTURES = SAVING TIME!
Cognitive Mechanisms
HierarchiesChunking Schemata
Well-formed
architecture
Modularity
Hierarchical
Layerng
Pattern
Consistency
@cairolali
@cairolali
TWO DIMENSIONS IN ON ARCHITECTURE
Technical layering Domain layering
Tree violations
that are easy to
resolve
Difficult
violations
One component
cuasing several
problems
One component
causing a
problem
@cairolali
DOMAIN LAYERING IS MISSING
Technical layering No domain layering
Some violations
of the technical
layering
Allmost all
domain
components
need each other
@cairolali
119 classes from 4 components
+ 28 other classes
@cairolali
327 classes from 8 components
That all need each other
@cairolali
WELL-FORMED COMPLEX STRUCTURES = SAVING TIME!
Cognitive Mechanisms
HierarchiesChunking Schemata
Well-formed
architecture
Modularity
Hierarchical
Layerng
Pattern
Consistency
@cairolali
MICROSERVICES
@cairolali
DOMAIN MODULES?
UseCase-Driven
@cairolali
DOMAIN MODULES?
Models integrated in UseCasesUseCase-Driven
@cairolali
UNEVEN MODULES
9 Components = 17 Subsystems
@cairolali
128 BUILD UNITS WITH NUMBER OF CLASSES
▪ 3 Mio of
9 Mio LOC
▪ 1/3 of the
system
@cairolali
5.270 CLASSES IN ONE CYCLE IN ONE BUILDUNIT
@cairolali
WELL-FORMED COMPLEX STRUCTURES = SAVING TIME!
Cognitive Mechanisms
HierarchiesChunking Schemata
Well-formed
architecture
Modularity
Hierarchical
Layering
Pattern
Consistency
@cairolali
User
Interface
Domain
Application
Domain
Module
Domain
Module
Domain Module
Window
GUI
Model
View C
o
n
tr
ol
ValueObject
Service
BusinessObject
Layeringbypattern
@cairolali
PATTERN CONFORMITY: GOOD EXAMPLE
☺ 90% of the source code can be assigned to pattern
☺ 0,1% violations between the pattern
Eventer
Processes
Service
@cairolali
463 tangled classes belonging to
10 different components
@cairolali
entities
valueObjects
@cairolali
entities
valueObjects
@cairolali184 tangled classes left
@cairolali
@cairolali
WELL-FORMED COMPLEX STRUCTURES = SAVING TIME!
Cognitive Mechanisms
HierarchiesChunking Schemata
Modularity
Hierarchical
Layerng
Pattern
Consistency
→ Consistent and
integrated pattern
→ Use a pattern
language
→ No cycles neither
on architectural
level nor on class
level
→ responsibility
→ coupling
→ size
→ interfaces
@cairolali
612.869 LOC
14.756.435 LOC
252.062 LOC
804.093 LOC
543.388 LOC
1.035.668 LOC
486.358 LOC
175.258 LOC
42.311 LOC
193.383 LOC
643.466 LOC
245.754 LOC
2.890.204 LOC
141.696 LOC
512.086 LOC
9.988.363 LOC
200.591 LOC
922.949 LOC
22.658 LOC
663.862 LOC
3.270.188 LOC
1.521.357 LOC
0
2
4
6
8
10
MODULARITY MATURITY INDEX (MMI)
@cairolali
@cairolali
cl@wps.de
Available in English Summer 2019
www.langlebige-softwarearchitekturen.de www.sustainable-software-architecture.com
THANK YOU FOR YOUR ATTENTION!

More Related Content

Similar to Resolving technical debt in software architecture

Michele_Brun-Final
Michele_Brun-FinalMichele_Brun-Final
Michele_Brun-Final
Michele Brun
 
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
marksimpsongw
 
The CIOs Guide to NoSQL
The CIOs Guide to NoSQLThe CIOs Guide to NoSQL
The CIOs Guide to NoSQL
DATAVERSITY
 
Cocoa encyclopedia
Cocoa encyclopediaCocoa encyclopedia
Cocoa encyclopedia
Alex Ali
 

Similar to Resolving technical debt in software architecture (20)

Michele_Brun-Final
Michele_Brun-FinalMichele_Brun-Final
Michele_Brun-Final
 
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
Mark Simpson - UKOUG23 - Refactoring Monolithic Oracle Database Applications ...
 
Shapeblue BACD Amsterdam
Shapeblue BACD AmsterdamShapeblue BACD Amsterdam
Shapeblue BACD Amsterdam
 
Logic Apps reuse with microservices design
Logic Apps reuse with microservices designLogic Apps reuse with microservices design
Logic Apps reuse with microservices design
 
FAISAL SULEMAN_CV
FAISAL SULEMAN_CVFAISAL SULEMAN_CV
FAISAL SULEMAN_CV
 
Agile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for SuccessAgile, Automated, Aware: How to Model for Success
Agile, Automated, Aware: How to Model for Success
 
Production machine learning: Managing models, workflows and risk at scale
Production machine learning: Managing models, workflows and risk at scaleProduction machine learning: Managing models, workflows and risk at scale
Production machine learning: Managing models, workflows and risk at scale
 
Machine Learning for Product Managers
Machine Learning for Product ManagersMachine Learning for Product Managers
Machine Learning for Product Managers
 
Modern Architecture in the Cloud of 2018 (IT Camp 2018)
Modern Architecture in the Cloud of 2018 (IT Camp 2018)Modern Architecture in the Cloud of 2018 (IT Camp 2018)
Modern Architecture in the Cloud of 2018 (IT Camp 2018)
 
System Architect and Rhapsody
System Architect and RhapsodySystem Architect and Rhapsody
System Architect and Rhapsody
 
The CIOs Guide to NoSQL
The CIOs Guide to NoSQLThe CIOs Guide to NoSQL
The CIOs Guide to NoSQL
 
Sterling Order Management System on PureApplication
Sterling Order Management System on PureApplicationSterling Order Management System on PureApplication
Sterling Order Management System on PureApplication
 
Oracle Cloudday - the future of retail
Oracle Cloudday - the future of retailOracle Cloudday - the future of retail
Oracle Cloudday - the future of retail
 
Steve_Allen's_Resume
Steve_Allen's_ResumeSteve_Allen's_Resume
Steve_Allen's_Resume
 
Smartscale Executive Summary
Smartscale Executive SummarySmartscale Executive Summary
Smartscale Executive Summary
 
frog IoT Big Design IoT World Congress 2015
frog IoT Big Design IoT World Congress 2015frog IoT Big Design IoT World Congress 2015
frog IoT Big Design IoT World Congress 2015
 
Dimensional Building V3 Interdimensional Positions
Dimensional Building   V3 Interdimensional PositionsDimensional Building   V3 Interdimensional Positions
Dimensional Building V3 Interdimensional Positions
 
Orchestration layer positioning 2014
Orchestration layer positioning 2014Orchestration layer positioning 2014
Orchestration layer positioning 2014
 
Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...
Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...
Simplifying the Creation of Machine Learning Workflow Pipelines for IoT Appli...
 
Cocoa encyclopedia
Cocoa encyclopediaCocoa encyclopedia
Cocoa encyclopedia
 

More from Carola Lilienthal

More from Carola Lilienthal (13)

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...
 
DDD Foundation: Improving legacy
DDD Foundation: Improving legacyDDD Foundation: Improving legacy
DDD Foundation: Improving legacy
 
Monolithen mit ddd zerlegen
Monolithen mit ddd zerlegenMonolithen mit ddd zerlegen
Monolithen mit ddd zerlegen
 
The joy of multiple models
The joy of multiple modelsThe joy of multiple models
The joy of multiple models
 
Technische Schulden tun weh! Wie man sie erkennt und beseitigt
Technische Schulden tun weh! Wie man sie erkennt und beseitigtTechnische Schulden tun weh! Wie man sie erkennt und beseitigt
Technische Schulden tun weh! Wie man sie erkennt und beseitigt
 
Its all about the domain honey
Its all about the domain honeyIts all about the domain honey
Its all about the domain honey
 
From pair programming to mob architecting
From pair programming to mob architecting From pair programming to mob architecting
From pair programming to mob architecting
 
Its all about the domain honey
Its all about the domain honeyIts all about the domain honey
Its all about the domain honey
 
Technische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigenTechnische Schulden in Architekturen erkennen und beseitigen
Technische Schulden in Architekturen erkennen und beseitigen
 
Langlebige architekturen
Langlebige architekturenLanglebige architekturen
Langlebige architekturen
 
Große ziele kleine schritte
Große ziele kleine schritteGroße ziele kleine schritte
Große ziele kleine schritte
 
Technische schulden abbauen
Technische schulden abbauenTechnische schulden abbauen
Technische schulden abbauen
 
Langlebige Softwarearchitekturen - Der Umgang mit technischen Schulden
Langlebige Softwarearchitekturen - Der Umgang mit technischen SchuldenLanglebige Softwarearchitekturen - Der Umgang mit technischen Schulden
Langlebige Softwarearchitekturen - Der Umgang mit technischen Schulden
 

Recently uploaded

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Recently uploaded (20)

Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 

Resolving technical debt in software architecture