The Value of Software Design

15
The Value of Software Design

Transcript of The Value of Software Design

Page 1: The Value of Software Design

The Value ofSoftware Design

Page 2: The Value of Software Design

How can you tell if a code is good or bad?

Page 3: The Value of Software Design

What would Robert C. Martin (Uncle Bob) tell you if he finds out you are doing bad code?

Software Craftsmanship

Page 4: The Value of Software Design

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

Page 5: The Value of Software Design

“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

Page 6: The Value of Software Design

Why would a client ignore or not value software

quality?

Page 7: The Value of Software Design

The Land that Scrum Forgot

https://www.scrumalliance.org/community/articles/2010/december/the-land-that-scrum-forgot

Page 8: The Value of Software Design

The ‘debt’ metaphor

Ward Cunningham coined the termhttp://c2.com/cgi/wiki?

WardExplainsDebtMetaphor

Page 9: The Value of Software Design

Technical Debt

Page 10: The Value of Software Design

Design Stamina Hypothesis (Martin Fowler)

http://martinfowler.com/bliki/DesignStaminaHypothesis.html

Page 11: The Value of Software Design

Technical Debt is inevitable… yes, inevitable

http://martinfowler.com/bliki/TechnicalDebtQuadrant.html

Page 12: The Value of Software Design

IRRESPONSABLE

“A mess is not a technical debt” - Uncle Bob

IRRESPONSABLE

INCOMPETENT

TECHNICAL

DEBT

https://sites.google.com/site/unclebobconsultingllc/a-mess-is-not-a-technical-debt

Page 13: The Value of Software Design

Agile Manifesto

Agile Principle:

“Continuous attention to technical excellence and good design enhances agility”

Most of the agile manifesto signers were already XP practitioners

Page 14: The Value of Software Design

Thanks!Diego Alonso Gil Aguilar, @diegogil1989

Software Engineer at Avantica Technologies

CSM, CSD and survivor of Alistair Cockburn’sAgile Advanced Class

Join your local agile community:

Agile Perú: http://bit.ly/agileperu

Agile Costa Rica: http://bit.ly/agilecostarica

Page 15: The Value of Software Design

References- The Value of Software Design - Martin Fowler

https://www.youtube.com/watch?v=8kotnF6hfd8#t=2694

- The Land that Scrum Forgot - Robert C. Martinhttps://www.scrumalliance.org/community/articles/2010/december/the-land-that-scrum-forgot

- Ward Explains Debt Metaphor - Ward Cunninghamhttp://c2.com/cgi/wiki?WardExplainsDebtMetaphor

- Design Stamina Hypothesis - Martin Fowlerhttp://martinfowler.com/bliki/DesignStaminaHypothesis.html

- Technical Debt Quadrant - Martin Fowlerhttp://martinfowler.com/bliki/TechnicalDebtQuadrant.html

- A mess is not a Technical Debt - Robert C. Martinhttps://sites.google.com/site/unclebobconsultingllc/a-mess-is-not-a-technical-debt