SlideShare a Scribd company logo
Software Design
and “Technical Debts”
“TECHNICAL DEBT”
Software Design and Technical Debts
“With borrowed money you can do something sooner than
you might otherwise, but then until you pay back that money
you'll be paying interest.”
-- Ward Cunningham
“Like a financial debt, the technical debt incurs interest
payments, which come in the form of the extra effort that
we have to do in future development because of the quick
and dirty design choice.”
-- Martin Fowler
“A Mess is not a Technical Debt!”
-- Robert C. Martin
SOFTWARE QUALITY
WHAT IS WRONG WITH
The distance ...
Structural Problem/Defect
Schedule pressure
Trade-off
By design
Lack of knowledge
Laziness;
Unprofessionalism
Techinical Debt Design Flaw Mess
Software Structural Problems
Software Design and Technical Debts
Development speed
Predictability
Customer satisfaction
Software Design and Technical Debts
Cost of Change
VIOLATIONS MONETIZE
Tracking
Monetize
Schedule pressure
Trade-off
By design
Lack of knowledge
Laziness
Unprofessionalism
Techinical Debt Design Flaw Mess
Software Structural Problems
HOW
AND
WHEN
Repayment Plan
Budgeting
Schedule pressure
Trade-off
By design
Lack of knowledge
Laziness
Unprofessionalism
Techinical Debt Design Flaw Mess
Software Structural Problems
Software Design and Technical Debts
Software Design and Technical Debts
Software Design and Technical Debts
Software Design and Technical Debts
Schedule pressure
Trade-off
By design
Lack of knowledge
Laziness
Unprofessionalism
Techinical Debt Design Flaw Mess
Software Structural Problems
Software Design and Technical Debts
If I had an hour to solve a problem, I’d spend 55 minutes
thinking about the problem and 5 minutes thinking about
solutions.
Problem (Context)
Software Design and Technical Debts
Requirements
Information (Nature)
Dependencies
Personas
Inputs/Outputs
Solution
Software Design and Technical Debts
SOC
Software Design and Technical Debts
SOLID
Package Principles
Algorithm
Software Design and Technical Debts
Compositions
Design Patterns
Software Design and Technical Debts
1. Runs all the tests;
2 . Has no duplicated logic. Be wary of hidden duplication
like parallel class hierarchies;
3. States every intention important to the
programmer;
4. Has the fewest possible classes and methods.
Simplicity Rules
1. Passes the tests;
2. Reveals intention;
3. No duplication;
4. Fewest elements.
Simplicity Rules
Software Design and Technical Debts
WAY
OF
CHANGE
Rigidity, Fragility, Immobility,
Viscosity, Opacity,
Nedless Complexity,
Needless Repetition
Design Session
Just Enough
Who asked knows what was asked
I know what was asked
The constraints are known
Definition of done
Conceptual integrity
Constraints
Technology choices
SoC
Simplicity Rules
Expertise
THANKS!
Rafael Souza
rafaelsouza.eng.br
rafael_psouza
rafaelpsouza

More Related Content

PPTX
Business Intelligence Strategy
PPT
Enterprise mobile applications
PPTX
Managing Technical Debt
DOC
Software Architectural And Detailed Design Description Template
PDF
Software Architecture Document Final
DOC
Software Design Description (SDD) sample
PDF
Example for SDS document in Software engineering
PPT
Solution Architecture Concept Workshop
Business Intelligence Strategy
Enterprise mobile applications
Managing Technical Debt
Software Architectural And Detailed Design Description Template
Software Architecture Document Final
Software Design Description (SDD) sample
Example for SDS document in Software engineering
Solution Architecture Concept Workshop

Similar to Software Design and Technical Debts (20)

PDF
How to deal with tech debt: Lessons learned from the best engineering teams
PDF
What scrum masters and product owners should know about software quality and ...
PPTX
Slowing down to Speed up: Agile & Technical Debt - SGPRG 2015
PPTX
Tackling technical debt
PDF
Why care about technical debt?
PPTX
The Value of Software Design
PPTX
Technical Debt a detail oriented approach.pptx
PPTX
Technical Debt a detail oriented approach.pptx
PPTX
Managing Technical Debt
PDF
From Technical Debt to Technical Health
PDF
Technical Debt 101
PDF
The mythical technical debt. (Brooks, please, forgive me)
PDF
Taming technical debt
PDF
calculate-business-costs-of-technical-debt.pdf
PPTX
Андрій Татчин "Software Project Estimation: Theory and Reality"
PDF
Technical debt in cyber ark [agile practitioners-2015]
PDF
Technical Debt: Do Not Underestimate The Danger
PDF
Working with Technical Debt
PDF
7 Steps to Pay Down the Interest on Your IT Technical Debt
PPT
DTC Primavera Integration
How to deal with tech debt: Lessons learned from the best engineering teams
What scrum masters and product owners should know about software quality and ...
Slowing down to Speed up: Agile & Technical Debt - SGPRG 2015
Tackling technical debt
Why care about technical debt?
The Value of Software Design
Technical Debt a detail oriented approach.pptx
Technical Debt a detail oriented approach.pptx
Managing Technical Debt
From Technical Debt to Technical Health
Technical Debt 101
The mythical technical debt. (Brooks, please, forgive me)
Taming technical debt
calculate-business-costs-of-technical-debt.pdf
Андрій Татчин "Software Project Estimation: Theory and Reality"
Technical debt in cyber ark [agile practitioners-2015]
Technical Debt: Do Not Underestimate The Danger
Working with Technical Debt
7 Steps to Pay Down the Interest on Your IT Technical Debt
DTC Primavera Integration
Ad

More from Rafael de Paula Souza (13)

PDF
Desenvolvendo chatbots com e xtreme programming
PDF
Testes de UI (para não especialisas) com CodeceptJS
PDF
NLP e Chatbots
PDF
Coleta, armazenamento e visualização de métricas em uma arquitetura de micros...
PDF
Migração de legado - Seniortec 2015
PDF
API management: um aliado para construção de APIs
PDF
Migrando um legado para micro serviços
PDF
Introduction to SaltStack
PPTX
Creating a blog like a hacker
PPTX
Antlr rafaelpsouza
PPTX
PicoContainer
Desenvolvendo chatbots com e xtreme programming
Testes de UI (para não especialisas) com CodeceptJS
NLP e Chatbots
Coleta, armazenamento e visualização de métricas em uma arquitetura de micros...
Migração de legado - Seniortec 2015
API management: um aliado para construção de APIs
Migrando um legado para micro serviços
Introduction to SaltStack
Creating a blog like a hacker
Antlr rafaelpsouza
PicoContainer
Ad

Recently uploaded (20)

PDF
Designing Intelligence for the Shop Floor.pdf
PPT
Introduction Database Management System for Course Database
PDF
Digital Strategies for Manufacturing Companies
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
System and Network Administration Chapter 2
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
System and Network Administraation Chapter 3
PPTX
L1 - Introduction to python Backend.pptx
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Computer Software and OS of computer science of grade 11.pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Introduction to Artificial Intelligence
PDF
PTS Company Brochure 2025 (1).pdf.......
Designing Intelligence for the Shop Floor.pdf
Introduction Database Management System for Course Database
Digital Strategies for Manufacturing Companies
Understanding Forklifts - TECH EHS Solution
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Navsoft: AI-Powered Business Solutions & Custom Software Development
VVF-Customer-Presentation2025-Ver1.9.pptx
System and Network Administration Chapter 2
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Odoo Companies in India – Driving Business Transformation.pdf
System and Network Administraation Chapter 3
L1 - Introduction to python Backend.pptx
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Computer Software and OS of computer science of grade 11.pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Upgrade and Innovation Strategies for SAP ERP Customers
Introduction to Artificial Intelligence
PTS Company Brochure 2025 (1).pdf.......

Software Design and Technical Debts