info card - techical debt management
TRANSCRIPT
2
•Metaphor proposed by Ward Cunningham in 1992 to explain problems caused by “developing not in the right way” and non-technical project stakeholders.
What is Technical Debt?
! !! !!! !!!!
•Similar to Financial Debt •Dangerous if the incurred interest and the debt
are not payed
3
!
Analysis + Design Architecture
Design, Patterns,
Prototyping,
Technical Maturity
Best Practices and Tools Review, Tests,
Documentation,
Staging
Environments
"
l
(A) Clean and Smart (B) Quick and DirtyMake it work Deliver it as soon as
possible, lower cost
on current release
Postpone Enhancements Increased maintenance cost, Risk that debt gets out of control
#
$
Takes longer to implement, make the maintenance easier
Delivers features sooner, make the maintenance harder
How to deliver the Software Product?
4How to deliver the Software Product?
•There is "no right answer" here… •Sometimes rapid prototyping is enough •Time-to-Market is critical •Business contracts and deadlines are critical•The goal is to make conscious decisions and
being able to deal with consequences •Avoid unexpected surprises
5
•Decreasing of team speed •Missed deadlines •Estimation errors •Cumulative defects •Many production defects•Team stress and instability •Low trust in the results•Inaccurate problem analysis•Blaming others instead taking of responsibility •Being scared of change anything (side-effects)
Symptoms
6
•"Code smells…” •“It works”for now, I will refactor it later…” • “Only John understands how to change this
code" • “Lets do the testing later…”. •“Just do it now, the deadline is coming up…” •“The code is unreadable” •“X is related to the problem cause… otherwise
we would be able to do better” (X != Me, always)
Common quotes
The Relative Cost of a Fixing a Defect 7
Reference: [1] http://www.astqb.org/press-room/ISTQB_Certification_News_2015_1.html
Rela
tive
Cos
t of F
ixin
g a
Def
ect
Reqs Design Code Unit Test System Test UAT Post-Release
150x
50x40x
20x10x5x1x
8Technical Debt Management
•Types of Debt•Inadvertent •Deliberate
Reference: [1] http://martinfowler.com/bliki/TechnicalDebt.html
9Technical Debt Quadrant
Inadvertent
Deliberate
Reckless PrudentReference: [1] Martin Fowler’s technical debt quadrant
"What’s Layering?" "What’s design?”
"We don’t have time for Design"
"We must ship now and deal with consequences"
“Now we know how we should have done it"
11Notes: Common situations
•A beginner technical team implements an immature solution that impacts the future of the product.
•The Product Owner neglects the risk management and does not evaluate the technical team arguments, he does not understand the short and long term consequences.
•Stakeholders who do not understand the investment value in the internal product quality
•The unpredictable, some cases are harder to predict the results: Innovation, R&D projects
12
•Goal: Consciously Manage the Debt. •It is not a methodology or metric, it is a
metaphor •Create Action Plans (Plan-Do-Check-Act) for
continuous improvement • Immediate (Short Term)• Medium Term• Long Term
•Pay the interest and avoid the debt increasing•Manage the risk, do not ignore it
Notas: Technical Debt Management
See more…
& fabricioepa.wordpress.com
• References: [1] http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
[2] http://www.infoq.com/articles/managing-technical-debt
ContactFABRICIO EPAMINONDAS ' linkedin.com/in/fabricioepa
& fabricioepa.wordpress.com
( @fabricioepa