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

The Value of Software Design

  • 1.
  • 2.
    How can youtell if a code is good or bad?
  • 3.
    What would RobertC. Martin (Uncle Bob) tell you if he finds out you are doing bad code? Software Craftsmanship
  • 4.
    Why bothering doinggood quality code? “If software design is worth doing, there got to be an economic reason, not a moral reason” - Martin Fowler
  • 5.
    “We need toput 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 aclient ignore or not value software quality?
  • 7.
    The Land thatScrum Forgot https://www.scrumalliance.org/community/articles/2010/december/the-land-that- scrum-forgot
  • 8.
    The ‘debt’ metaphor WardCunningham coined the term http://c2.com/cgi/wiki?WardExplainsDebtMetaphor
  • 9.
  • 10.
    Design Stamina Hypothesis(Martin Fowler) http://martinfowler.com/bliki/DesignStaminaHypothesis.html
  • 11.
    Technical Debt isinevitable… yes, inevitable http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
  • 12.
    IRRESPONSABLE “A mess isnot a technical debt” - Uncle Bob https://sites.google.com/site/unclebobconsultingllc/a-mess-is-not-a-technical-debt
  • 13.
    Agile Manifesto Agile Principle: “Continuousattention to technical excellence and good design enhances agility” Most of the agile manifesto signers were already XP practitioners
  • 14.
    Thanks! Diego Alonso GilAguilar, @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 Valueof 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