SlideShare a Scribd company logo
1 of 58
Download to read offline
Why change code
that works?
On Technical Debt & Refactoring
Carsten Windler, 23.01.2020
Carsten Windler
Web Developer
Global Head of Software Development
@ HolidayPirates
https://www.linkedin.com/in/cwindler/
https://www.xing.com/profile/Carsten_Windler
Meeting with C-Level...
"Why is there still technical debt?"
On Technical Debt and Refactoring
1. Technical Debt explained
2. Why you want to avoid it
3. How to deal with existing debt
4. Avoid piling up new debt
1. Technical Debt explained
Technical debt is a concept
in software development that
reflects the implied cost of
additional rework caused by
choosing an easy or limited
solution now instead of using
a better approach that would
take longer.
tl;dr
https://en.wikipedia.org/wiki/Technical_debt
Example: Build a house
Photo by Hossein Ghaem on Unsplash
Photo by Binjamin Mellish on Pexels
Technical Debt
● Work not done properly now
● Has to be done later
Why chose the simple solution?
● Time-to-market
● Deadlines
● Ignorance
Technical Debt Quadrant (Fowler 2009)
“We don’t have to time for design”
“We must ship now and deal
with consequences”
“What’s layering?”
“Now we know how we
should have done it”
https://martinfowler.com/bliki/TechnicalDebtQuadrant.html
Reckless Prudent
DeliberateInadvertent
Time
QualityCost
DONE
QUICKLY
HIGH
QUALITY
LOW
COST
Cheap
&
Quick
=
Low
Quality
Fast&
Good
=
Expensive
Cheap & High Quality
= Low Priority
● Prototype/POC
● Interim solution
● One single purpose
● Deliver fast
Technical Debt can be ok
Photo by Hossein Ghaem on Unsplash
The many forms of Technical Debt
● Bad code quality (e.g. usage of Antipatterns)
● Delayed updates (Framework, Packages, Language…)
● No automated tests
● No/outdated/insufficient documentation
● Issues with infrastructure
● Cumbersome workflows (e.g. no CI/CD)
● Wrong decisions (e.g. chose an abandoned package)
2. Why you want to avoid it
Problems with Technical Debt
1. Low development speed
2. Security issues
3. Performance problems
4. Employee satisfaction
Low development speed
???
Photo by Bruce Mars on Pexels
Technical debt slows down
● Code is hard to understand
● New bugs get introduced easily
● Redundant work necessary (C&P
programming)
● Manual testing needed
Security issues
LOL
We got hacked again
Photo by Bruce Mars on Pexels
No updates, no security fixes
It’s actually that simple
Performance problems
Why is this so slow???
Photo by Christina Morillo on Pexels
Performance problems
● Dead code
● Unused assets / 3rd party code
● Missing performance optimisations
● Outdated technologies
Web page speed matters
https://blog.hubspot.com/marketing/page-load-time-conversion-rates
Employee satisfaction
Why am I even wasting
my time on this?
Photo by Tim Gouw on Pexels
Employee satisfaction
● Constant problems & slow development speed
cause frustration
● Many developers get unhappy if they can’t evolve
Interest on Technical Debt
Illustration by Carsten Windler
Technical Debt is sneaky
Features Architecture
Bugs Technical Debt
Visible Invisible
PositiveValueNegativeValue
3. How to deal with existing debt
Make Technical Debt visible!
Dealing with Technical Debt
Illustration by Carsten Windler
1. Reveal & Document
● Developers document technical debt (e.g. tickets)
● Properly tagged so it’s easy to find
● Do estimates for value & effort (if possible)
Drawbacks
● Developers are lazy, writing tickets is no fun
● Takes time until this is established
○ Set up regular workshops
○ Constantly chase it
2. Analyze & Prioritize
● Team discusses the tickets
● Final assessment of value/effort
● Prioritization based on value/effort
Illustration by Carsten Windler
Refactoring != Overengineering
Drawbacks
● Additional time needed for team discussions
● Prepare for lengthy discussions
3. Payback
● Debt gets decreased on as prioritized
● Aka Refactoring
Code Refactoring is the
process of improving existing
code without changing the
actual behaviour of the
application.
In other words:
If we do our job right, nobody will
notice anything!*
* except a performance increase maybe
2 MONTH OF REFACTORING
APP LOOKS EXACTLY LIKE BEFORE
Photo by Negan Scofield on Unsplash
Refactoring in Web Development
Drawbacks
● Negotiate with stakeholders on
time available for refactoring
4. Avoid piling up new debt
Training & Education
● Establish a sense for Code Quality
● E.g. internal workshops
● Conferences for new inspiration
● Online courses, Tutorials
● Code Reviews
Guidelines
● Coding Guidelines
○ Code Style
○ Best practices
○ Antipatterns
● Agreed upon by the teams
● The Twelve-Factor App
● Ensure guidelines are met
○ Code Reviews
○ Automated checks
Tools
● Static code analysis
○ Linter
○ Code Sniffer
○ Mess detectors / Metrics on Code Quality
■ Complexity, Coupling, Cohesion…
● Run them on pre-commit hook or in the IDE
● Automated security analysis
Automated Tests
● Reckless refactoring requires good code coverage
Refactor vs. Rewrite
"I'll setup a new webservice for this
in 2 days, no problem"*
* dramatization, not a real story
One Eternity Later...
"It’s done, just a few bugs
to fix and, oh, that one feature
I wasn’t aware of..."
Why does that happen?
● Unknown requirements
● Bugs
● Amount of communication underestimated
● Documentation effort
● Automated tests (yikes!)
● Sickness, holidays
● Other important projects
● More unknown requirements
#offeatures
time
Replacing an existing application - the plan
Existing application
New application
#offeatures
time
Replacing an existing application - reality
Existing application
New application
Back to the
Meeting with C-Level
“Refactoring is an ongoing progress.
There will always be technical debt.”
Thank you!

More Related Content

What's hot

Managing technical debt notes
Managing technical debt notesManaging technical debt notes
Managing technical debt notesFadi Stephan
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st CenturyHenry Jacob
 
Technical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The DangerTechnical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The DangerLemi Orhan Ergin
 
Pair Programming (2014)
Pair Programming (2014)Pair Programming (2014)
Pair Programming (2014)Peter Kofler
 
Pair programming demystified
Pair programming demystifiedPair programming demystified
Pair programming demystifiedMarek Kirejczyk
 
Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021DicodingEvent
 
Notes On Agile Development
Notes On Agile DevelopmentNotes On Agile Development
Notes On Agile DevelopmentMatt Griffin
 
Fixing Continuous Delivery For Mobile
Fixing Continuous Delivery For MobileFixing Continuous Delivery For Mobile
Fixing Continuous Delivery For MobileEvan Schultz
 
Introduction to bdd
Introduction to bddIntroduction to bdd
Introduction to bddSeb Rose
 
Pair Programming: overview and concepts
Pair Programming: overview and conceptsPair Programming: overview and concepts
Pair Programming: overview and conceptsLior Kirshner-Shalom
 
One trunk one pipeline one truth
One trunk one pipeline one truthOne trunk one pipeline one truth
One trunk one pipeline one truthPaul Boocock
 
How to Write an Efficient Defect Case & Save Money
How to Write an Efficient Defect Case & Save MoneyHow to Write an Efficient Defect Case & Save Money
How to Write an Efficient Defect Case & Save MoneyMediacurrent
 
Software engineering for CEOs
Software engineering for CEOsSoftware engineering for CEOs
Software engineering for CEOsGabriel Hamilton
 
Teamleader testcon 2019
Teamleader testcon 2019Teamleader testcon 2019
Teamleader testcon 2019Thomas Noë
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software DevelopmentSaqib Raza
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software DevelopmentAstrails
 

What's hot (20)

Tester vs Developer
Tester vs DeveloperTester vs Developer
Tester vs Developer
 
Managing technical debt notes
Managing technical debt notesManaging technical debt notes
Managing technical debt notes
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
 
Technical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The DangerTechnical Debt: Do Not Underestimate The Danger
Technical Debt: Do Not Underestimate The Danger
 
Pair Programming (2014)
Pair Programming (2014)Pair Programming (2014)
Pair Programming (2014)
 
Pair programming demystified
Pair programming demystifiedPair programming demystified
Pair programming demystified
 
Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021Tips sukses berkarir sebagai developer dan programmer 2021
Tips sukses berkarir sebagai developer dan programmer 2021
 
Notes On Agile Development
Notes On Agile DevelopmentNotes On Agile Development
Notes On Agile Development
 
Selenium as a trend
Selenium as a trendSelenium as a trend
Selenium as a trend
 
Fixing Continuous Delivery For Mobile
Fixing Continuous Delivery For MobileFixing Continuous Delivery For Mobile
Fixing Continuous Delivery For Mobile
 
Introduction to bdd
Introduction to bddIntroduction to bdd
Introduction to bdd
 
Pair Programming: overview and concepts
Pair Programming: overview and conceptsPair Programming: overview and concepts
Pair Programming: overview and concepts
 
One trunk one pipeline one truth
One trunk one pipeline one truthOne trunk one pipeline one truth
One trunk one pipeline one truth
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
How to Write an Efficient Defect Case & Save Money
How to Write an Efficient Defect Case & Save MoneyHow to Write an Efficient Defect Case & Save Money
How to Write an Efficient Defect Case & Save Money
 
Let trust our estimates
Let trust our estimatesLet trust our estimates
Let trust our estimates
 
Software engineering for CEOs
Software engineering for CEOsSoftware engineering for CEOs
Software engineering for CEOs
 
Teamleader testcon 2019
Teamleader testcon 2019Teamleader testcon 2019
Teamleader testcon 2019
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 

Similar to Why change code that works - On Technical Debt and Refactoring

What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...STX Next
 
Technical Debt
Technical DebtTechnical Debt
Technical DebtGary Short
 
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike BursellDevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike BursellDevSecCon
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringAndré Agostinho
 
Technical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PMTechnical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PMProduct School
 
Technical debt a Business Perspective
Technical debt a Business PerspectiveTechnical debt a Business Perspective
Technical debt a Business PerspectiveMichael Vax
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with GradleAll Things Open
 
Why Do So Many Software Projects Fail?
Why Do So Many Software Projects Fail?Why Do So Many Software Projects Fail?
Why Do So Many Software Projects Fail?Phil Comelio
 
Balancing Technical Debt and Clean Code
Balancing Technical Debt and Clean CodeBalancing Technical Debt and Clean Code
Balancing Technical Debt and Clean CodeDave Hulbert
 
Ahead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance EdgeAhead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance EdgeOptimizely
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous IntegrationPreetam Palwe
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategyMasas Dani
 
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ..."Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...Fwdays
 
How can agile help you in clearing the technical debt
How can agile help you in clearing the technical debtHow can agile help you in clearing the technical debt
How can agile help you in clearing the technical debtManu Pk
 
Legacy code - Taming The Beast
Legacy code  - Taming The BeastLegacy code  - Taming The Beast
Legacy code - Taming The BeastSARCCOM
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoVMware Tanzu
 

Similar to Why change code that works - On Technical Debt and Refactoring (20)

Technical Debt
Technical DebtTechnical Debt
Technical Debt
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Technical debt
Technical debtTechnical debt
Technical debt
 
Technical Debt
Technical DebtTechnical Debt
Technical Debt
 
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike BursellDevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
DevSecCon Boston 2018: Technical debt - why I love it by Mike Bursell
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
 
Technical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PMTechnical Debt for Product Managers by Square Sr PM
Technical Debt for Product Managers by Square Sr PM
 
Technical debt a Business Perspective
Technical debt a Business PerspectiveTechnical debt a Business Perspective
Technical debt a Business Perspective
 
Developer Productivity Engineering with Gradle
Developer Productivity Engineering with GradleDeveloper Productivity Engineering with Gradle
Developer Productivity Engineering with Gradle
 
Why Do So Many Software Projects Fail?
Why Do So Many Software Projects Fail?Why Do So Many Software Projects Fail?
Why Do So Many Software Projects Fail?
 
Balancing Technical Debt and Clean Code
Balancing Technical Debt and Clean CodeBalancing Technical Debt and Clean Code
Balancing Technical Debt and Clean Code
 
Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1
 
Ahead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance EdgeAhead of the Curve: How 23andMe Improved UX with Performance Edge
Ahead of the Curve: How 23andMe Improved UX with Performance Edge
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Technical debt strategy
Technical debt strategyTechnical debt strategy
Technical debt strategy
 
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ..."Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
"Quality Assurance: Achieving Excellence in startup without a Dedicated QA", ...
 
How can agile help you in clearing the technical debt
How can agile help you in clearing the technical debtHow can agile help you in clearing the technical debt
How can agile help you in clearing the technical debt
 
Legacy code - Taming The Beast
Legacy code  - Taming The BeastLegacy code  - Taming The Beast
Legacy code - Taming The Beast
 
Evolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand RaoEvolving to Cloud-Native - Anand Rao
Evolving to Cloud-Native - Anand Rao
 

Recently uploaded

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
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.pdfkalichargn70th171
 
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...SelfMade bd
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
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 insideshinachiaurasa2
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in sowetomasabamasaba
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
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-...Steffen Staab
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 

Recently uploaded (20)

WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
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
 
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...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
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
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
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-...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 

Why change code that works - On Technical Debt and Refactoring