SlideShare a Scribd company logo
The Value of
Software Design
How can you tell if a code is good or bad?
What would Robert C. Martin (Uncle Bob) tell you if he
finds out you are doing bad code?
Software Craftsmanship
Why bothering doing good quality code?
“If software design is worth doing, there got to be an
economic reason, not a moral reason” - Martin Fowler
“We need to put less effort on quality so we can build
more features for our next release”
Have you heard this phrase before?
Tradable Quality
Why would a client ignore or
not value software quality?
The Land that Scrum Forgot
https://www.scrumalliance.org/community/articles/2010/december/the-land-that-
scrum-forgot
The ‘debt’ metaphor
Ward Cunningham coined the term
http://c2.com/cgi/wiki?WardExplainsDebtMetaphor
Technical Debt
Design Stamina Hypothesis (Martin Fowler)
http://martinfowler.com/bliki/DesignStaminaHypothesis.html
Technical Debt is inevitable… yes, inevitable
http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
IRRESPONSABLE
“A mess is not a technical debt” - Uncle Bob
https://sites.google.com/site/unclebobconsultingllc/a-mess-is-not-a-technical-debt
Agile Manifesto
Agile Principle:
“Continuous attention to technical excellence and good design enhances agility”
Most of the agile manifesto signers were already XP practitioners
Thanks!
Diego Alonso Gil Aguilar, @diegogil1989
Software Engineer at Avantica Technologies
CSM, CSD and survivor of Alistair Cockburn Agile
Advanced Class
Join your local agile community:
Agile Perú: http://bit.ly/agileperu
Agile Costa Rica: http://bit.ly/agilecostarica
References
- The Value of Software Design - Martin Fowler
https://www.youtube.com/watch?v=8kotnF6hfd8#t=2694
- The Land that Scrum Forgot - Robert C. Martin
https://www.scrumalliance.org/community/articles/2010/december/the-land-that-scrum-forgot
- Ward Explains Debt Metaphor - Ward Cunningham
http://c2.com/cgi/wiki?WardExplainsDebtMetaphor
- Design Stamina Hypothesis - Martin Fowler
http://martinfowler.com/bliki/DesignStaminaHypothesis.html
- Technical Debt Quadrant - Martin Fowler
http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
- A mess is not a Technical Debt - Robert C. Martin

More Related Content

Similar to The Value of Software Design

Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard WorkTaming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Joseph Yoder
 
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Skills Matter
 

Similar to The Value of Software Design (20)

Introduction to IBM UrbanCode Deploy and Release
Introduction to IBM UrbanCode Deploy and ReleaseIntroduction to IBM UrbanCode Deploy and Release
Introduction to IBM UrbanCode Deploy and Release
 
Ti 1217 extend and surround your Adobe DX solutions with IBM Software
Ti 1217 extend and surround your Adobe DX solutions with IBM SoftwareTi 1217 extend and surround your Adobe DX solutions with IBM Software
Ti 1217 extend and surround your Adobe DX solutions with IBM Software
 
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
FFWD.PRO - It's not you, It's me (or how to avoid being coupled with a Javasc...
 
How to (not) become a Digital Enterprise by Jakob Freund
How to (not) become a Digital Enterprise by Jakob FreundHow to (not) become a Digital Enterprise by Jakob Freund
How to (not) become a Digital Enterprise by Jakob Freund
 
Embo++2022 Unembedding Embedded Systems with TDD Benefits of going beyond the...
Embo++2022 Unembedding Embedded Systems with TDD Benefits of going beyond the...Embo++2022 Unembedding Embedded Systems with TDD Benefits of going beyond the...
Embo++2022 Unembedding Embedded Systems with TDD Benefits of going beyond the...
 
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard WorkTaming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
Taming Big Balls of Mud with Diligence, Agile Practices, and Hard Work
 
Lean roots to grow, wings to fly!
Lean roots to grow, wings to fly!Lean roots to grow, wings to fly!
Lean roots to grow, wings to fly!
 
Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08Usability Speech (Jens Hoffmann) - T3CON08
Usability Speech (Jens Hoffmann) - T3CON08
 
Software Craftsmanship
Software CraftsmanshipSoftware Craftsmanship
Software Craftsmanship
 
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
Sandro Mancuso and David Green: London Software Craftsmanship Community: What...
 
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
JsDay - It's not you, It's me (or how to avoid being coupled with a Javascrip...
 
Software Design and Technical Debts
Software Design and Technical DebtsSoftware Design and Technical Debts
Software Design and Technical Debts
 
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 ...
 
Perfect product architecture in a non-stop start-up
Perfect product architecture in a non-stop start-upPerfect product architecture in a non-stop start-up
Perfect product architecture in a non-stop start-up
 
Product Management - pitfalls of Data Driven Development
Product Management - pitfalls of Data Driven DevelopmentProduct Management - pitfalls of Data Driven Development
Product Management - pitfalls of Data Driven Development
 
Approaching risk management with your head in the cloud
Approaching risk management with your head in the cloudApproaching risk management with your head in the cloud
Approaching risk management with your head in the cloud
 
The Cost of Quick and Dirty
The Cost of Quick and DirtyThe Cost of Quick and Dirty
The Cost of Quick and Dirty
 
2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...
2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...
2018-10-18 J2 5A - Professional dev low code no code dev and citizen develope...
 
UX Design in 2030 | CLEVER°FRANKE
UX Design in 2030 | CLEVER°FRANKEUX Design in 2030 | CLEVER°FRANKE
UX Design in 2030 | CLEVER°FRANKE
 
The Technical Debt Trap
The Technical Debt TrapThe Technical Debt Trap
The Technical Debt Trap
 

More from Diego A. Gil Aguilar

More from Diego A. Gil Aguilar (8)

Beyond Scaling Models
Beyond Scaling ModelsBeyond Scaling Models
Beyond Scaling Models
 
Systems Thinking & Growth Hacking
Systems Thinking & Growth HackingSystems Thinking & Growth Hacking
Systems Thinking & Growth Hacking
 
Product increment "potentially" releasable every sprint... IS NOT ENOUGH
Product increment  "potentially"  releasable every sprint... IS NOT ENOUGHProduct increment  "potentially"  releasable every sprint... IS NOT ENOUGH
Product increment "potentially" releasable every sprint... IS NOT ENOUGH
 
Entreguemos menos, generemos más resultados, más impacto
Entreguemos menos, generemos más resultados, más impactoEntreguemos menos, generemos más resultados, más impacto
Entreguemos menos, generemos más resultados, más impacto
 
Introducción a Agile
Introducción a AgileIntroducción a Agile
Introducción a Agile
 
Un Perú Guerrero
Un Perú GuerreroUn Perú Guerrero
Un Perú Guerrero
 
Hacer Ágil vs Ser Ágil
Hacer Ágil vs Ser ÁgilHacer Ágil vs Ser Ágil
Hacer Ágil vs Ser Ágil
 
Kanban Workshop
Kanban WorkshopKanban Workshop
Kanban Workshop
 

Recently uploaded

Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 

Recently uploaded (20)

Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.ILBeyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
Beyond Event Sourcing - Embracing CRUD for Wix Platform - Java.IL
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Designing for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web ServicesDesigning for Privacy in Amazon Web Services
Designing for Privacy in Amazon Web Services
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
De mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FMEDe mooiste recreatieve routes ontdekken met RouteYou en FME
De mooiste recreatieve routes ontdekken met RouteYou en FME
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by Skilrock
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
Crafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM IntegrationCrafting the Perfect Measurement Sheet with PLM Integration
Crafting the Perfect Measurement Sheet with PLM Integration
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 

The Value of Software Design

  • 2. How can you tell if a code is good or bad?
  • 3. What would Robert C. Martin (Uncle Bob) tell you if he finds out you are doing bad code? Software Craftsmanship
  • 4. Why bothering doing good quality code? “If software design is worth doing, there got to be an economic reason, not a moral reason” - Martin Fowler
  • 5. “We need to put less effort on quality so we can build more features for our next release” Have you heard this phrase before? Tradable Quality
  • 6. Why would a client ignore or not value software quality?
  • 7. The Land that Scrum Forgot https://www.scrumalliance.org/community/articles/2010/december/the-land-that- scrum-forgot
  • 8. The ‘debt’ metaphor Ward Cunningham coined the term http://c2.com/cgi/wiki?WardExplainsDebtMetaphor
  • 10. Design Stamina Hypothesis (Martin Fowler) http://martinfowler.com/bliki/DesignStaminaHypothesis.html
  • 11. Technical Debt is inevitable… yes, inevitable http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
  • 12. IRRESPONSABLE “A mess is not a technical debt” - Uncle Bob https://sites.google.com/site/unclebobconsultingllc/a-mess-is-not-a-technical-debt
  • 13. Agile Manifesto Agile Principle: “Continuous attention to technical excellence and good design enhances agility” Most of the agile manifesto signers were already XP practitioners
  • 14. Thanks! Diego Alonso Gil Aguilar, @diegogil1989 Software Engineer at Avantica Technologies CSM, CSD and survivor of Alistair Cockburn Agile Advanced Class Join your local agile community: Agile Perú: http://bit.ly/agileperu Agile Costa Rica: http://bit.ly/agilecostarica
  • 15. References - The Value of Software Design - Martin Fowler https://www.youtube.com/watch?v=8kotnF6hfd8#t=2694 - The Land that Scrum Forgot - Robert C. Martin https://www.scrumalliance.org/community/articles/2010/december/the-land-that-scrum-forgot - Ward Explains Debt Metaphor - Ward Cunningham http://c2.com/cgi/wiki?WardExplainsDebtMetaphor - Design Stamina Hypothesis - Martin Fowler http://martinfowler.com/bliki/DesignStaminaHypothesis.html - Technical Debt Quadrant - Martin Fowler http://martinfowler.com/bliki/TechnicalDebtQuadrant.html - A mess is not a Technical Debt - Robert C. Martin