SlideShare a Scribd company logo
1 of 37
Download to read offline
!
!
T1#
Session!
6/25/2015! !
10:15!AM!
!
!
!
!
“Managing#Technical#Debt”##
Presented#by:#
Philippe#Kruchten#
Kruchten#Engineering#Services,#Ltd.#
#
#
#
#
#
Brought#to#you#by:#
#
#
#
#
#
#
340!Corporate!Way,!Suite!300,!Orange!Park,!FL!32073!
888D268D8770!E!904D278D0524!E!sqeinfo@sqe.com!E!www.sqe.com!
!
!
!
!
!
!!!!! !
!!!!
Philippe Kruchten is professor of software engineering at the University of British Columbia,
in Vancouver, Canada, where he holds an NSERC chair in design engineering. He joined UBC
in 2004 after a thirty-year career in industry, where he worked mostly with large software-
intensive systems design in the domains of telecommunication, defense, aerospace, and
transportation. Philippe’s current research interests are in software architecture (in particular,
architectural decisions and the decision-making process), the evolution of large software and
technical debt, and agile software development practices. He is the founder of Agile
Vancouver.
Philippe Kruchten
Kruchten Engineering Services, Ltd.
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 1&
Managing&Technical&Debt&
&
Philippe&Kruchten&&
&
June&25,&2015&
@&StarCanada&
&
&
Philippe&Kruchten,&Ph.D.,&P.Eng.,&CSDP&
Professor'of'So)ware'Engineering'
NSERC'Chair'in'Design'Engineering'
Department&of&Electrical&and&Computer&Engineering&
University&of&BriJsh&Columbia&
Vancouver,&BC&Canada&
pbk@ece.ubc.ca&&&&&
&& &&
Founder'and'president&
Kruchten&Engineering&Services&Ltd&
Vancouver,&BC&Canada &&
philippe@kruchten.com&&&&&&&&@pbpk&
&
Copyright&©&KESL&2015& 2
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 2&
Outline&
•  What&is&technical&debt?&&
•  The&technical&debt&landscape&
•  Limits&of&the&metaphor&
•  Managing&technical&debt&
•  Tools&and&techniques&
•  Research&on&technical&debt&
June&25,&2015& Copyright&©&KESL&2015& 3&
Technical&Debt&
•  Concept&introduced&by&Ward&Cunningham&
•  OTen&menJoned,&rarely&studied&
•  All&experienced&soTware&developers&“feel”&it.&
•  Drags&longZlived&projects&and&products&down&
June&25,&2015& Copyright&©&KESL&2015& 4&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 3&
Origin&of&the&metaphor&
•  Ward&Cunningham,&at&OOPSLA&1992&
&“Shipping&first&Jme&code&is&like&going&
into&debt.&A&li_le&debt&speeds&development&&
so&long&as&it&is&paid&back&promptly&with&a&&
rewrite…&
The&danger&occurs&when&the&debt&is&not&&
repaid.&Every&minute&spent&on&notZquiteZright&code&
counts&as&interest&on&that&debt.&EnJre&engineering&
organizaJons&can&be&brought&to&a&standZsJll&under&the&
debt&load&of&an&unconsolidated&implementaJon,&
objectZoriented&or&otherwise.”&
Cunningham,*OOPSLA*1992*
June&25,&2015& Copyright&©&KESL&2015& 5&
Technical&Debt&(S.&McConnell)&
•  Implemented&features&(visible&and&&
invisible)&=&assets&=&nonZdebt&
•  Type&1:&unintenJonal,&nonZstrategic;&&
poor&design&decisions,&poor&coding&
•  Type&2:&intenJonal&and&strategic:&&
opJmize&for&the&present,&not&for&the&&
future.&
–  2.A&shortZterm:&paid&off&quickly&(refactorings,&etc.)&
•  Large&chunks:&easy&to&track&
•  Many&small&bits:&cannot&track&
–  2.B&longZterm&
McConnell*2007*
June&25,&2015& Copyright&©&KESL&2015& 6&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 4&
Technical&Debt&(M.&&Fowler)&
Fowler*2009,*2010*
June&25,&2015& Copyright&©&KESL&2015& 7&
First&more&capabiliJes&
First&more&infrastructure&
Then,&more&infrastructure&
Then,&more&capabiliJes&
underesJmated&&
reZarchitecJng&costs&
neglected&cost&of&delay&
to&market&
need&to&monitor&technical&
debt&to&gain&insight&into&
lifeZcycle&efficiency&
Example&
Ozkaya,&SEI,2010&June&25,&2015& Copyright&©&KESL&2015& 8&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 5&
Technical&Debt&(S.&McConnell)&
•  TD:&A&design&or&construcJon&
approach&that&is&expedient&in&the&
short&term&but&that&creates&a&
technical&context&in&which&the&
same&work&will&cost&more&to&do&
later&than&it&would&cost&to&do&now&
McConnell*2011*
June&25,&2015& Copyright&©&KESL&2015& 9&
Time&is&Money&(I.&Gat)&
•  Convert&this&in&monetary&terms:&&
&“Think&of&the&amount&of&money&the&&
borrowed&Jme&represents&–&the&&
grand&total&required&to&eliminate&&
all&issues&found&in&the&code”&
Gat*2010*
June&25,&2015& Copyright&©&KESL&2015& 10&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 6&
Example:&TD&is&the&sum&of…&
•  Code&smells & &167&person&days&
•  Missing&tests & &298&person&days&
•  Design & & & &670&&person&days&
•  DocumentaJon &&&67&person&days&&
&
Totals'
&Work& & & & &1,202&person&x&days&
&Cost & & & & &$577,000&
June&25,&2015& Copyright&©&KESL&2015& 11&
Israel&Gat,&2010&
h_p://theagileexecuJve.com/2010/09/20/howZtoZbreakZtheZviciousZcycleZofZtechnicalZdebt/&
(more)&
Relentless&
Pressure&
Take&
Technical&
Debt&
Fail&to&Pay&
back&
Technical&
debt&
Technical&
Debt&Accrues&
Reduced&
Development&
Team&
Velocity&
June&25,&2015& Copyright&©&KESL&2015& 12&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 7&
Tech&Debt&(Jim&Highsmith)&
Source:*Highsmith,*2009*June&25,&2015& Copyright&©&KESL&2015& 13&
Value,&Quality,&Constraints&
•  Value&=&extrinsic&quality&
–  Metric:&Net&present&
value&
•  Quality&=&intrinsic&
quality&
–  Metric:&Technical&debt&
•  Constraints&=&cost,&
schedule,&scope&
–  Metric:&Cost&
Value&
Quality&
&&&
Cost&
&Highsmith*2010&
June&25,&2015& Copyright&©&KESL&2015& 14&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 8&
State&of&affairs&
•  Opinions,&posturing,&proclamaJons&
•  Li_le&objecJve&facts&
“...there&is&a&plethora&of&a_enJonZgrabbing&
pronouncements&in&cyberspace&that&have&not&
been&evaluated&before&they&were&published,&
oTen&reflecJng&the&authors’&guesses&and&
experience&on&the&subject&of&Technical&Debt.”&
Spinola*et*al.*2013*
June&25,&2015& Copyright&©&KESL&2015& 15&
Causes&of&Technical&Debt&
TECHNOLOGY
• Technology limitations
• Legacy code
• COTS
• Changes in technology
• Project maturity
PROCESS
• Little consideration of code maintenance
• Unclear requirements
• Cutting back on process (code reviews)
• Little or no history of design decisions
• Not knowing or adopting best practices
PEOPLE
• Postpone work until needed
• Making bad assumptions
• Inexperience
• Poor leadership/team dynamics
• No push-back against customers
• “Superstars” – egos get in the way
• Little knowledge transfer
• Know-how to safely change code
• Subcontractors
PRODUCT
• Schedule and budget constraints
• Poor communication between
developers and management
• Changing priorities (market information)
• Lack of vision, plan, strategy
• Unclear goals, objectives and priorities
• Trying to make every customer happy
• Consequences of decisions not clear
Lim*et*al.*2012*
June&25,&2015& Copyright&©&KESL&2015& 16&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 9&
Tensions&/&Factors&to&Consider&
•  Engineers&don’t&like&technical&debt&
& &they'want'to'be'technically'flawless''
•  Project&managers&or&business&people&don’t&mind&
technical&debt&
& &they'want'to'capture'market'share'
•  However,&tolerance&for&TD&changes&over&the&
system&lifeJme&of&the&system&
Lim*et*al.*2012*
June&25,&2015& Copyright&©&KESL&2015& 17&
WTF/min&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 10&
Visible&
New&features&
Technological&gap&
Architectural&debt&
Structural&debt& Code&smells&
Defects&Low&internal&quality&
AddiJonal&funcJonality& Low&external&quality&
Mostly&invisible&
Test&debt&
DocumentaJon&debt&
EvoluJon&issues:&evolvability& Quality&issues:&maintainability&
Visible&
architecture' code'
Code&complexity&
Coding&style&violaJons&
Zürich,&May&2012&
June&25,&2015& Copyright&©&KESL&2015& 19&
Technical&Debt&(1)&
12&
12&
a*
$15*
$5*
12&
b*
$16*
$3*
12& $18*
$20* $19* $18*
June&25,&2015& Copyright&©&KESL&2015& 20&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 11&
Technical&Debt&(2)&
12&
12&
a*
$15*
$5*
12&
b*
$16*
$3*
12& $18*
8& 8& $5* 8& $8* 8& $10*
$25* $27* $28*
June&25,&2015& Copyright&©&KESL&2015& 21&
Technical&Debt&(3)&
12&
12&
a*
+$2*
$5*
12& $18*
8& 8& $5*
$30*
June&25,&2015& Copyright&©&KESL&2015& 22&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 12&
Technical&Debt&
•  Defect&=&Visible&feature&with&negaJve&value&
•  Technical&debt&=&Invisible&feature&with&
negaJve&value&
•  Cost&….&&&of&fixing&&
•  Value&….&of&repaying&technical&debt,&interests&
loss&of&producJvity,&etc.&
June&25,&2015& Copyright&©&KESL&2015& 23&
TD:&negaJve&value,&invisible&
New*features*
Added*
funcNonality*
Architectural,*
Structural*
features*
Defects* Technical*
Debt*
Visible& Invisible&
PosiJve&
Value&
NegaJve&
Value&
June&25,&2015& Copyright&©&KESL&2015& 24&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 13&
Interests&
•  In&presence&of&technical&debt,&
&cost&of&adding&new&features&is&higher;&
&velocity&is&lower.&
•  When&repaying&(fixing),&addiJonal&cost&for&
retrofixng&already&implemented&features&
•  Technical&debt&not&repaid&=>&lead&to&increased&
cost,&forever&
•  Cost&of&fixing&(repaying)&increases&over&Jme&
M.*Fowler,*2009*
June&25,&2015& Copyright&©&KESL&2015& 25&
Deferring&implementaJon:&
Value&decreases&
Time&
R1& R2& R3& R4&
8&
8& 7.5& 7& 6&
June&25,&2015& Copyright&©&KESL&2015& 26&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 14&
But&technical&debt&increases&over&
Jme&
Time&
R1& R2& R3& R4&
Z8&
Z8& Z8.5& Z9& Z10&
June&25,&2015& Copyright&©&KESL&2015& 27&
It’s&only&a&Metaphor!&
•  Metaphors&give&meaning&to&form,&help&ground&
our&conceptual&systems.&
•  CogniJve&transfer:&source&domain&to&target&
domain&
– &the&<target>&is&the&<source>&
•  Do'not'push'any'metaphor'too'far….'
Lakoff*and*Johnson*(1980)*Metaphors*we*live*by**
June&25,&2015& Copyright&©&KESL&2015& 28&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 15&
Where&the&metaphor&breaks&
•  Technical&debt&does&not&always&have&to&be&
repaid&
•  What&does&it&mean&to&be&“debt&free”?&
– TD&has&a&large&part&of&subjecJvity&
•  NegaJve&connotaJon&
•  May&increase&the&value&of&a&project&for&a&Jme&
•  Tech&Debt&as&Investment?&
June&25,&2015& Copyright&©&KESL&2015& 29&
Where&the&metaphor&breaks&
•  IniJal&investment&at&T0&in&an&environment&E0.&
Now&in&T2,&E&has&changed&to&E2,&a&mismatch,&
has&occurred,&which&creates&a&debt.&&
– The&debt&is&created&by&the&change&of&environment.&
The&right&decision&in&the&right&environment&at&
some&Jme&may&lead&to&technical&debt.&
•  Prudent,&inadvertent&
June&25,&2015& Copyright&©&KESL&2015& 30&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 16&
Where&the&metaphor&breaks…&
•  Technical&debt&depends&on&the&future&
•  Technical&debt&cannot&be&measured&
•  You&can&walk&away&from&technical&debt&
•  Technical&debt&should&not&be&completely&
eliminated&
•  Technical&debt&cannot&be&handled&in&isolaJon&
•  Technical&debt&can&be&a&wise&investment&
June&25,&2015& Copyright&©&KESL&2015& 31&
PotenJal&vs.&actual&debt&
•  PotenJal&debt&
– Type&1:OK&to&do&with&tools&(see&Gat&&&co.&
approach)&
– Type&2:&structural,&architectural,&or&technological&
gap:&Much&harder&
•  Actual&debt&
– When&you&know&the&way&forward&
K.Schmid*2013*
June&25,&2015& Copyright&©&KESL&2015& 32&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 17&
TD&litmus&test&
•  If&you&are&not&incurring&any&interest,&then&it&
probably&is&not&a&debt&
McConnell*2013*
June&25,&2015& Copyright&©&KESL&2015& 33&
Technical&debt&
as&an&investment&?&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 18&
TD&and&Real&OpJons&
P1:& S0&
Market&loves&it&
+&$4M&
Market&hates&it&
+&$1M&
S1&
NPV&(P1)&=&Z2M&+&0.5x4M&+&0.5x1M&=&0.5M&
Z2M&
p=0.5&
p=0.5&
Source:*K.*Sullivan,*2010*
at&&TD&Workshop&SEI&6/2Z3&
June&25,&2015& Copyright&©&KESL&2015& 35&
TD&and&Real&OpJons&(2)&
P2:& S0&
Market&loves&it&
Market&hates&it&
+&$1M&
Sd&
NPV&(P2)&=&Z1M&+&0.5x3M&+&0.5x1M&=&1M&
Z1M&
Source:&K.&Sullivan,&2010&
p=0.5&
p=0.5&
Z1M&
S1& +4M&
Taking&Technical&Debt&has&increased&system&value.&
June&25,&2015& Copyright&©&KESL&2015& 36&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 19&
TD&and&Real&OpJons&(3)&
P2:& S0&
Market&loves&it&
Market&hates&it&
+&$1M&
Sd&
NPV&(P3)&=&Z1M&+&0.67&x&2.5M&+&0.33&x&1M&=&1M&
Z1M&
p=0.33&
p=0.67&
Z1.5M&
S1& +4M&
More&realisJcally:&
Debt&+&interest&
High&chances&of&success&
Take&Debt&
Repay&debt&
June&25,&2015& Copyright&©&KESL&2015& 37&
TD&and&Real&OpJons&(3)&
P2:& S0&
Market&loves&it&
Market&hates&it&
+&$1M&
Sd&
NPV&(P3)&=&Z1M&+&0.67&x&2.5M&+&0.33&x&1M&=&1M&
Z1M&
p=0.33&
p=0.67&
Z1.5M&
S1& +4M&
More&realisJcally:&
Debt&+&interest&
High&chances&of&success&
Higher&chance&
of&success&
Repay&debt&+&
50%&interest&
June&25,&2015& Copyright&©&KESL&2015& 38&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 20&
TD&and&Real&OpJons&(4)&
S0&
Favourable&
Unfavourable&
Sd&
p=?&
p=?&
S1& S2&
S2d&
…..&
…..&
Not*debt*really,*but*opNons*with*different*values…**
Do*we*want*to*invest*in*architecture,*in*test,*etc…*
Refactor&
Add&feature&
Add&feature&
?&
Source:&K.&Sullivan,&2010&
June&25,&2015& Copyright&©&KESL&2015& 39&
How&do&people&“tackle”&
technical&debt&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 21&
Tackling&Technical&Debt&
Axtude,&approaches&found:&
1.  Ignorance&is&bliss&
2.  The&elephant&in&the&room&
3.  Big&scary&$$$$&numbers&
4.  Five&star&ranking&
5.  Constant&reducJon&
6.  We’re&agile,&so&we&are&immune!&
June&25,&2015& Copyright&©&KESL&2015& 41&
Ignorance&is&bliss&
You’re&just&slower,&and&slower,&but&you&do&not&
know&it,&or&do&not&know&why&
0&
2&
4&
6&
8&
10&
12&
1& 2& 3& 4& 5& 6& 7&
FuncNonal*requirement*delivered*
IteraNons*
Velocity* accumulated&technical&debt&
impacts&ability&to&deliver&
June&25,&2015& Copyright&©&KESL&2015& 42&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 22&
The&elephant&in&the&room&
•  Many&in&the&org.&know&
about&technical&tech.&
•  Indifference:&it’s&
someone&else’s&problem&
•  OrganizaJon&broken&
down&in&small&silos&
•  No&real&whole&product&
mentality&
•  ShortZterm&focus&
June&25,&2015& Copyright&©&KESL&2015& 43&
Big&scary&$$$$&numbers&
•  Code&smells & &167&person&days&
•  Missing&test & &298&person&days&
•  Design & & & &670&&person&days&
•  DocumentaJon &&&67&person&days&&
&
Totals'
&Work& & & & &1,202&person&x&days&
&Cost & & & & &$577,000&
June&25,&2015& Copyright&©&KESL&2015& 44&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 23&
StaJc&analysis&+&ConsulJng&
•  Cu_er&ConsorJum:&Gat,&et&al.&
– Use&of&Sonar,&etc.&
– Focused&on&code&analysis&
– TD&=&total&value&of&fixing&the&code&base&
•  CAST&soTware&
•  ThoughtWorks&&
Debt&analysis&engagements&
Debt&reducJon&engagements&
June&25,&2015& Copyright&©&KESL&2015& 45&
Issues&
•  Fits&the&metaphor,&indeed.&&
•  Looks&very&objecJve…&but…&
•  SubjecJve&in:&
–  What&is&counted&
–  What&tool&to&use&
–  Cost&to&fix&
&&
Not&all&fixes&have&the&same&resulJng&value.&
Sunk&cost&are&irrelevant,&look&into&the&future&only.&
What&does&it&mean&to&be&“Debt&free”??&
June&25,&2015& Copyright&©&KESL&2015& 46&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 24&
Five&star&ranking&
•  Define&some&maintainability'index&
•  Benchmark&relaJve&to&other&soTware&in&the&same&
category&
•  ReZassess&regularly&(e.g.,&weekly)&
•  Look&at&trends,&correlate&changes&with&recent&
changes&in&code&base&
•  SIG&(SoTware&Improvement&Group),&Amsterdam&
•  Powerful&tool&behind&
June&25,&2015& Copyright&©&KESL&2015& 47&
Constant&debt&reducJon&
•  Make&technical&debt&a&visible&item&on&the&
backlog&
•  Make&it&visible&outside&of&the&soTware&dev.&
organizaJon&
•  Incorporate&debt&reducJon&as&a&regular&
acJvity&
•  Use&buffer&in&longer&term&planning&for&yet&
unidenJfied&technical&debt&
•  Lie&(?)&
June&25,&2015& Copyright&©&KESL&2015& 48&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 25&
We&are&agile,&so&we’re&immune!&
In&some&cases&we&are&agile&and&therefore&we&run&faster&into&technical&debt&
June&25,&2015& Copyright&©&KESL&2015& 49&
Agile&mo_os&
•  “Defer&decision&to&the&last&responsible&moment”&
•  “YAGNI”&=&You&Ain’t&Gonna&Need&It&
–  But&when&you&do,&it&is&technical&debt&
–  Technical&debt&oTen&is&the&accumulaJon&of&too&many&
YAGNI&decisions&
•  “We’ll&refactor&this&later”&
•  “Deliver&value,&early”&
•  Again'the'tension'between'the'yellow'stuff'and'
the'green'stuff'
•  You’re'sHll'agile'because'you'aren’t'slowed'down'
by'TD'yet.'June&25,&2015& Copyright&©&KESL&2015& 50&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 26&
Story&of&a&failure&
•  Large&reZengineering&of&
&a&complex&distributed&&
worldZwide&system;&&
2&millions&LOC&in&C,&&
C++,&Cobol&and&VB&
•  MulJple&sites,&dozens&of&data&repositories,&hundreds&
of&users,&24&hours&operaJon,&missionZcriJcal&
($billions)&
•  xP+Scrum,&1Zweek&iteraJons,&30&then&up&to&50&
developers&
•  Rapid&progress,&early&success,&features&are&demoZable&
•  Direct&access&to&“customer”,&etc.&
•  A'poster'project'for'scalable'agile'development'
June&25,&2015& Copyright&©&KESL&2015& 51&
Hixng&the&wall&
•  ATer&4&½&&months,&difficulJes&&
to&keep&with&the&1Zweek&&
iteraJons&
•  Refactoring&takes&longer&&
than&one&iteraJon&
•  Scrap&and&rework&raJo&&
increases&dramaJcally&
•  No&externally&visible&progress&anymore&
•  IteraJons&stretched&to&3&weeks&
•  Staff&turnZover&increases&&
•  Project&comes&to&a&halt&
•  Lots&of&code,&no&clear&architecture,&no&obvious&way&forward&
June&25,&2015& Copyright&©&KESL&2015& 52&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 27&
MulJple&Component&Defects&
•  MCD&=&A&defect&whose&fix&requires&changes&to&
mulJple&components&(large&systems)&
•  MCD:&6Z10%&of&all&defects&
•  20&Jmes&more&modificaJons;&50%&more&effort&
•  Fixes&2Z3&Jmes&more&likely&to&span&mulJple&
iteraJons&or&releases&
•  20%&of&components&hit&by&80%&of&MCD&
Li*et*al,*2011*
June&25,&2015& Copyright&©&KESL&2015& 53&
CogniJve&biases&and&TD&
•  EscalaJon&of&commitment&
– Aka,&too&much&invested&to&quit&
•  Sunk&cost&fallacy&
– aka.&throwing&good&money&aTer&
bad&
•  Anchoring&
•  Confirmatory&bias&
June&25,&2015& Copyright&©&KESL&2015& 54&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 28&
Tools&and&Techniques&
Some&examples&
Tools&for&Technical&Debt&Analysis&
•  Vendors&include&
•  CAST&
•  Inspearit&
•  SonarSource&(Sonarqube)&
•  Thoughtworks&
•  SoTware&Improvement&Group&(SIG)&
•  Laxx&
•  Hello2morrow&
•  Tocéa&(ScerJfy)&
•  Xdepend&
•  Klocwork&
•  JetBrains&
June&25,&2015& Copyright&©&KESL&2015& 56&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 29&
PropagaJon&cost&
•  “Density”&of&the&DSM&&
– Proposed&by&McCormack&et&al.&in&2006&
– Several&limitaJons&as&a&tool&to&measure&T.D.&
•  Improved&PC:&
– Boolean&to&conJnuous&value&(=dependency&
“strength”)&
– Changes&not&uniformly&spread&throughout&the&
code&
– Less&sensiJve&to&size&of&code&
McCormack*et*al.*2006*
June&25,&2015& Copyright&©&KESL&2015& 57&
Example&of&PC:&EvoluJon&of&Ant&
Technical'debt'reducHon'
Release&number&
June&25,&2015& Copyright&©&KESL&2015& 58&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 30&
Tech&Debt&(mis)ZconcepJons&
•  Technical&debt&reifies&an&abstract&concept&
•  Technical&debt&does&not&equate&to&bad&quality&
•  Technical&debt&can&be&induces&by&a&shiT&in&
context&
•  Defects&are&not&technical&debt&
•  Lack&of&progress&is&not&technical&debt&
•  New&features&yet&to&be&implemented&is&not&
technical&debt&
June&25,&2015& Copyright&©&KESL&2015& 59&
Technical&Debt&DefiniJon&(2013)&
•  A&design&or&construcJon&approach&
that&is&expedient&in&the&short&
term,&but&that&creates&a&technical&
context&in&which&the&same&work&
will&cost&more&to&do&later&than&it&
would&cost&to&do&now&(including&
increased&cost&over&Jme).&
McConnell*2013*
June&25,&2015& Copyright&©&KESL&2015& 60&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 31&
Visible&
New&features&
Technological&gap&
Architectural&debt&
Structural&debt& Code&smells&
Defects&Low&internal&quality&
AddiJonal&funcJonality& Low&external&quality&
Mostly&invisible&
Test&debt&
DocumentaJon&debt&
EvoluJon&issues:&evolvability& Quality&issues:&maintainability&
Visible&
architecture' code'
Code&complexity&
Coding&style&violaJons&
Technical&debt&landscape&
Kruchten*et*al*2012*
June&25,&2015& Copyright&©&KESL&2015& 61&
Conclusion&
•  Technical&debt&is&sJll&more&a&rhetorical'category&
than&a&technical'or&ontological&category.&&
•  The&concept&&resonates&well&with&the&
development&community,&and&someJmes&also&
with&management.&
•  It&bridges&the&gap&between&business&decision&
makers&and&technical&implementers.&
•  It’s&only&a&metaphor;&do&not&push&it&too&far.&
•  It’s&not&all&bad:&maybe&an&investment&
June&25,&2015& Copyright&©&KESL&2015& 62&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 32&
Visible&
New&features&
Technological&gap&
Architectural&debt&
Structural&debt& Code&smells&
Defects&Low&internal&quality&
AddiJonal&funcJonality& Low&external&quality&
Mostly&invisible&
Test&debt&
DocumentaJon&debt&
EvoluJon&issues:&evolvability& Quality&issues:&maintainability&
Visible&
architecture' code'
Code&complexity&
Coding&style&violaJons&
June&25,&2015& Copyright&©&KESL&2015& 63&
June&25,&2015& Copyright&©&KESL&2015& 64&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 33&
References&
!  Brown,&N.,&Cai,&Y.,&Guo,&Y.,&Kazman,&R.,&Kim,&M.,&Kruchten,&P.,&et&al.&(2010).&Managing'
Technical'Debt'in'So)wareLIntensive'Systems.&Paper&presented&at&the&Future&of&soTware&
engineering&research&(FoSER)&workshop,&part&of&FoundaJons&of&SoTware&Engineering&(FSE&
2010)&conference.&&
!  Brown,&N.,&Nord,&R.,&Ozkaya,&I.,&Kruchten,&P.,&&&Lim,&E.&(2011).&Hard&Choice:&A&game&for&
balancing&strategy&for&agility.&Paper&presented&at&the&24th&IEEE&CS&Conference&on&SoTware&
Engineering&EducaJon&and&Training&(CSEE&T&2011),&Honolulu,&HI,&USA.&
!  Cunningham,&W.&(1992).&The'WyCash'PorOolio'Management'System.'Paper&presented&at&the&
OOPSLA'92&conference,&ACM.&Retrieved&from&h_p://c2.com/doc/oopsla92.html&
!  CurJs,&B.,&Sappidi,&J.,&&&Szynkarski,&A.&(2012).&EsJmaJng&the&Principal&of&an&ApplicaJon’s&
Technical&Debt.&IEEE&&SoTware,&29(6).&
!  Denne,&M.,&&&ClelandZHuang,&J.&(2004).&So)ware'by'Numbers:'LowLRisk,'HighLReturn'
Development,'PrenJce&Hall.&
!  Denne,&M.,&&&ClelandZHuang,&J.&(2004).&The&Incremental&Funding&Method:&DataZDriven&
SoTware&Development,&IEEE'So)ware,&21(3),&39Z47.&
!  Fowler,&M.&(2009),&Technical'debt'quadrant,'Blog&post&at:&
h_p://www.marJnfowler.com/bliki/TechnicalDebtQuadrant.html&&
!  Gat,&I.&(ed.).&(2010).&How'to'seUle'your'technical'debtLLa'manager's'guide.&Arlington&Mass:&
Cu_er&ConsorJum.&
!  Kruchten,&Ph.&(2010)&Contextualizing&Agile&SoTware&Development,”&Paper&presented&at&the&
EuroSPI&2010&conference&in&Grenoble,&Sept.1Z3,&2010&&&
June&25,&2015& Copyright&©&KESL&2015& 65&
References&
!  Kruchten,&P.,&Nord,&R.,&&&Ozkaya,&I.&(2012).&Technical&debt:&from&metaphor&to&theory&and&pracJce.&
IEEE''So)ware,&29(6).&&
!  Kruchten,&P.,&Nord,&R.,&Ozkaya,&I.,&&&Visser,&J.&(2012).&Technical&Debt&in&SoTware&Development:&from&
Metaphor&to&TheoryZZReport&on&the&Third&InternaJonal&Workshop&on&Managing&Technical&Debt,&
held&at&ICSE&2012&ACM'SIGSOFT'So)ware'Engineering'Notes,&37(5).&&
!  Li,&Z.,&Madhavji,&N.,&Murtaza,&S.,&Gi_ens,&M.,&Miranskyy,&A.,&Godwin,&D.,&&&Cialini,&E.&(2011).&
CharacterisJcs&of&mulJpleZcomponent&defects&and&architectural&hotspots:&a&large&system&case&
study.&Empirical'So)ware'Engineering,&16(5),&667Z702.&doi:&10.1007/s10664Z011Z9155Zy&
!  Lim,&E.&(2012).&Technical'Debt:'What'So)ware'PracHHoners'Have'to'Say.'(Master's&thesis),&
University&of&BriJsh&Columbia,&Vancouver,&Canada.&&&&
!  Lim,&E.,&Taksande,&N.,&&&Seaman,&C.&B.&(2012).&A&Balancing&Act:&What&SoTware&PracJJoners&Have&to&
Say&about&Technical&Debt.&IEEE''So)ware,&29(6).&
!  MacCormack,&A.,&Rusnak,&J.,&&&Baldwin,&C.&Y.&(2006).&Exploring&the&structure&of&complex&soTware&
designs:&An&empirical&study&of&open&source&and&proprietary&code.&Management'Science,'52(7),&
1015Z1030.&&
!  Nord,&R.,&Ozkaya,&I.,&Kruchten,&P.,&&&Gonzalez,&M.&(2012).&In&search&of&a&metric&for&managing&
architectural&technical&debt.&Paper&presented&at&the&Working'IEEE/IFIP'Conference'on'So)ware'
Architecture'(WICSA'2012),&Helsinki,&Finland.&
!  McConnell,&S.&(2007)&Notes'on'Technical'Debt,&Blog&post&at:&h_p://blogs.construx.com/blogs/
stevemcc/archive/2007/11/01/technicalZdebtZ2.aspx&
!  Special&issue&of&CuUer'IT'Journal&on&Technical&Debt,&edited&by&I.&Gat&(October&2010)&Cu_er&IT&
Journal,&23&(10).&
!  Sterling,&C.&(2010)&Managing'So)ware'Debt,&AddisonZWesley.&
June&25,&2015& Copyright&©&KESL&2015& 66&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 34&
References&(cont.)&
!  R.&O.&Spinola,&N.&Zazworka,&A.&Vetrò,&C.&B.&Seaman,&and&F.&Shull,&"InvesJgaJng&Technical&Debt&
Folklore:&Shedding&Some&Light&on&Technical&Debt&Opinion,"&in&Proceedings&of&the&4th&
Workshop&on&Managing&Technical&Debt,&at&ICSE&2013,&P.&Kruchten,&I.&Ozkaya,&and&R.&Nord,&
Eds.,&IEEE,&2013.&
!  K.&Schmid,&"On&the&Limits&of&the&Technical&Debt&Metaphor,"&in&&Proceedings&of&the&4th&
Workshop&on&Managing&Technical&Debt,&at&ICSE&2013,&P.&Kruchten,&I.&Ozkaya,&and&R.&Nord,&
Eds.,&IEEE,&2013,&pp.&63Z66.&
!  K.&Schmid,&"A&Formal&Approach&to&Technical&Debt&Decision&Making,"&in&Proceedings&of&the&
Conference&on&Quality&of&SoTware&Architecture&QoSA'2013,&Vancouver,&2013,&ACM.&
June&25,&2015& Copyright&©&KESL&2015& 67&
Other&sources&(Talks/slides)&
•  Gat,&I.,&Heintz,&J.&(Aug.&19,&2010)&Webinar:'Reining'in'Technical'Debt,&
Cu_er&ConsorJum.&
•  McConnell,&S.&(October&2011)&Managing&technical&debt.&(Webinar)&&
•  Kniberg,&H.&(2008)&Technical'debtLHow'not'to'ignore'it,&at&Agile&2008&
conference.&
•  Kruchten,&P.&(2009)&What'colour'is'your'backlog?'Agile&Vancouver&
Conference.&h_p://philippe.kruchten.com/talks&
•  Sterling,&C.&(2009)&h_p://www.slideshare.net/csterwa/managingZ
soTwareZdebtZpnsqcZ2009&
•  Short,&G.&(2009)&h_p://www.slideshare.net/garyshort/technicalZ
debtZ2985889&
•  West,&D.&(January&2011),&Balancing'agility'and'technical'debt,&Forrester&&&
Cast&SoTware&
June&25,&2015& Copyright&©&KESL&2015& 68&
Managing&Technical&Debt& February&2015&
Copyright&©&2015&by&Philippe&Kruchten& 35&
Other&sources&
•  Slides&on&Sonar,&from&Olivier&Gaudin,&CEO&of&Sonarqube'
•  Slides&on&SQALE&from&JeanZLouis&Letouzey,'Inspearit'
•  Slides&on&DSM&from&Ipek&Ozkaya&and&Robert&Nord,&SEI'
June&25,&2015& Copyright&©&KESL&2015& 69&
June&25,&2015& Copyright&©&KESL&2015& 70&

More Related Content

Viewers also liked

Agile Hacks: Creative Solutions for Common Agile Issues
Agile Hacks: Creative Solutions for Common Agile IssuesAgile Hacks: Creative Solutions for Common Agile Issues
Agile Hacks: Creative Solutions for Common Agile IssuesTechWell
 
Large-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in PracticeLarge-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in PracticeTechWell
 
Create Brainstorming Commandos for Creative Problem Solving
Create Brainstorming Commandos for Creative Problem SolvingCreate Brainstorming Commandos for Creative Problem Solving
Create Brainstorming Commandos for Creative Problem SolvingTechWell
 
Using DevOps to Drive the Agile ALM
Using DevOps to Drive the Agile ALMUsing DevOps to Drive the Agile ALM
Using DevOps to Drive the Agile ALMTechWell
 
The Issues Agile Exposes and What To Do about Them
The Issues Agile Exposes and What To Do about ThemThe Issues Agile Exposes and What To Do about Them
The Issues Agile Exposes and What To Do about ThemTechWell
 
Use Business Analysts for User Interface Design
Use Business Analysts for User Interface DesignUse Business Analysts for User Interface Design
Use Business Analysts for User Interface DesignTechWell
 
Developing a Rugged DevOps Approach to Cloud Security
Developing a Rugged DevOps Approach to Cloud SecurityDeveloping a Rugged DevOps Approach to Cloud Security
Developing a Rugged DevOps Approach to Cloud SecurityTechWell
 
Testing in a Super-Agile Software Development Environment
Testing in a Super-Agile Software Development EnvironmentTesting in a Super-Agile Software Development Environment
Testing in a Super-Agile Software Development EnvironmentTechWell
 
From Unclear and Unrealistic Requirements to Achievable User Stories
From Unclear and Unrealistic Requirements to Achievable User StoriesFrom Unclear and Unrealistic Requirements to Achievable User Stories
From Unclear and Unrealistic Requirements to Achievable User StoriesTechWell
 

Viewers also liked (9)

Agile Hacks: Creative Solutions for Common Agile Issues
Agile Hacks: Creative Solutions for Common Agile IssuesAgile Hacks: Creative Solutions for Common Agile Issues
Agile Hacks: Creative Solutions for Common Agile Issues
 
Large-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in PracticeLarge-Scale Agile Test Automation Strategies in Practice
Large-Scale Agile Test Automation Strategies in Practice
 
Create Brainstorming Commandos for Creative Problem Solving
Create Brainstorming Commandos for Creative Problem SolvingCreate Brainstorming Commandos for Creative Problem Solving
Create Brainstorming Commandos for Creative Problem Solving
 
Using DevOps to Drive the Agile ALM
Using DevOps to Drive the Agile ALMUsing DevOps to Drive the Agile ALM
Using DevOps to Drive the Agile ALM
 
The Issues Agile Exposes and What To Do about Them
The Issues Agile Exposes and What To Do about ThemThe Issues Agile Exposes and What To Do about Them
The Issues Agile Exposes and What To Do about Them
 
Use Business Analysts for User Interface Design
Use Business Analysts for User Interface DesignUse Business Analysts for User Interface Design
Use Business Analysts for User Interface Design
 
Developing a Rugged DevOps Approach to Cloud Security
Developing a Rugged DevOps Approach to Cloud SecurityDeveloping a Rugged DevOps Approach to Cloud Security
Developing a Rugged DevOps Approach to Cloud Security
 
Testing in a Super-Agile Software Development Environment
Testing in a Super-Agile Software Development EnvironmentTesting in a Super-Agile Software Development Environment
Testing in a Super-Agile Software Development Environment
 
From Unclear and Unrealistic Requirements to Achievable User Stories
From Unclear and Unrealistic Requirements to Achievable User StoriesFrom Unclear and Unrealistic Requirements to Achievable User Stories
From Unclear and Unrealistic Requirements to Achievable User Stories
 

Similar to Managing Technical Debt

201210611 danish delegation
201210611 danish delegation201210611 danish delegation
201210611 danish delegationMartijn Kriens
 
Spatial data web application in Suppliy Chain Management
Spatial data web application in Suppliy Chain ManagementSpatial data web application in Suppliy Chain Management
Spatial data web application in Suppliy Chain Managementgeoknow
 
Ernest Kyle Oliver Resume Final PDF
Ernest Kyle Oliver Resume Final PDFErnest Kyle Oliver Resume Final PDF
Ernest Kyle Oliver Resume Final PDFErnest Oliver
 
Community IT Webinar - Cloud Migration Planning
Community IT Webinar - Cloud Migration PlanningCommunity IT Webinar - Cloud Migration Planning
Community IT Webinar - Cloud Migration PlanningCommunity IT Innovators
 
McrFRED talk 25/09/2014
McrFRED talk 25/09/2014McrFRED talk 25/09/2014
McrFRED talk 25/09/2014Jake Smith
 
An Architects Guide to Construction 141204-2 copy
An Architects Guide to Construction 141204-2 copyAn Architects Guide to Construction 141204-2 copy
An Architects Guide to Construction 141204-2 copyBrian Palmquist
 
Craig Allison Piping Designer CV
Craig Allison Piping Designer CVCraig Allison Piping Designer CV
Craig Allison Piping Designer CVCraig Allison
 
TelCyte - 2019 brochure
TelCyte - 2019 brochureTelCyte - 2019 brochure
TelCyte - 2019 brochureJon Boutilier
 
Tel cyte 2019 brochure
Tel cyte 2019 brochureTel cyte 2019 brochure
Tel cyte 2019 brochureJon Boutilier
 
Chili solutions - Presentatie
Chili solutions - PresentatieChili solutions - Presentatie
Chili solutions - PresentatieFarhad Andalibi
 
Practical Project Management for Engineers and Technicians
Practical Project Management for Engineers and TechniciansPractical Project Management for Engineers and Technicians
Practical Project Management for Engineers and TechniciansLiving Online
 
Digital self defense iia isaca it audit seminar
Digital self defense iia isaca it audit seminarDigital self defense iia isaca it audit seminar
Digital self defense iia isaca it audit seminarBen Woelk, CISSP, CPTC
 
Ernest Kyle Oliver Resume Final
Ernest Kyle Oliver Resume FinalErnest Kyle Oliver Resume Final
Ernest Kyle Oliver Resume FinalErnest Oliver
 
Ernest Kyle Oliver Resume Final
Ernest Kyle Oliver Resume FinalErnest Kyle Oliver Resume Final
Ernest Kyle Oliver Resume FinalErnest Oliver
 
2016: Applying AI Innovation in Business
2016: Applying AI Innovation in Business2016: Applying AI Innovation in Business
2016: Applying AI Innovation in BusinessLeandro de Castro
 
Practical Project Management for Engineers & Technicians
Practical Project Management for Engineers & TechniciansPractical Project Management for Engineers & Technicians
Practical Project Management for Engineers & TechniciansLiving Online
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2
 

Similar to Managing Technical Debt (20)

201210611 danish delegation
201210611 danish delegation201210611 danish delegation
201210611 danish delegation
 
Spatial data web application in Suppliy Chain Management
Spatial data web application in Suppliy Chain ManagementSpatial data web application in Suppliy Chain Management
Spatial data web application in Suppliy Chain Management
 
JAT-CV-ShortE²_032015
JAT-CV-ShortE²_032015JAT-CV-ShortE²_032015
JAT-CV-ShortE²_032015
 
Ernest Kyle Oliver Resume Final PDF
Ernest Kyle Oliver Resume Final PDFErnest Kyle Oliver Resume Final PDF
Ernest Kyle Oliver Resume Final PDF
 
Community IT Webinar - Cloud Migration Planning
Community IT Webinar - Cloud Migration PlanningCommunity IT Webinar - Cloud Migration Planning
Community IT Webinar - Cloud Migration Planning
 
McrFRED talk 25/09/2014
McrFRED talk 25/09/2014McrFRED talk 25/09/2014
McrFRED talk 25/09/2014
 
David Potts - Digital Services for the new Library of Birmingham
David Potts - Digital Services for the new Library of BirminghamDavid Potts - Digital Services for the new Library of Birmingham
David Potts - Digital Services for the new Library of Birmingham
 
My presentation to sponsors
My presentation to sponsorsMy presentation to sponsors
My presentation to sponsors
 
An Architects Guide to Construction 141204-2 copy
An Architects Guide to Construction 141204-2 copyAn Architects Guide to Construction 141204-2 copy
An Architects Guide to Construction 141204-2 copy
 
Craig Allison Piping Designer CV
Craig Allison Piping Designer CVCraig Allison Piping Designer CV
Craig Allison Piping Designer CV
 
TelCyte - 2019 brochure
TelCyte - 2019 brochureTelCyte - 2019 brochure
TelCyte - 2019 brochure
 
Tel cyte 2019 brochure
Tel cyte 2019 brochureTel cyte 2019 brochure
Tel cyte 2019 brochure
 
Chili solutions - Presentatie
Chili solutions - PresentatieChili solutions - Presentatie
Chili solutions - Presentatie
 
Practical Project Management for Engineers and Technicians
Practical Project Management for Engineers and TechniciansPractical Project Management for Engineers and Technicians
Practical Project Management for Engineers and Technicians
 
Digital self defense iia isaca it audit seminar
Digital self defense iia isaca it audit seminarDigital self defense iia isaca it audit seminar
Digital self defense iia isaca it audit seminar
 
Ernest Kyle Oliver Resume Final
Ernest Kyle Oliver Resume FinalErnest Kyle Oliver Resume Final
Ernest Kyle Oliver Resume Final
 
Ernest Kyle Oliver Resume Final
Ernest Kyle Oliver Resume FinalErnest Kyle Oliver Resume Final
Ernest Kyle Oliver Resume Final
 
2016: Applying AI Innovation in Business
2016: Applying AI Innovation in Business2016: Applying AI Innovation in Business
2016: Applying AI Innovation in Business
 
Practical Project Management for Engineers & Technicians
Practical Project Management for Engineers & TechniciansPractical Project Management for Engineers & Technicians
Practical Project Management for Engineers & Technicians
 
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...masabamasaba
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxalwaysnagaraju26
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 

Recently uploaded (20)

%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptxBUS PASS MANGEMENT SYSTEM USING PHP.pptx
BUS PASS MANGEMENT SYSTEM USING PHP.pptx
 
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 

Managing Technical Debt

  • 2. ! ! !!!!! ! !!!! Philippe Kruchten is professor of software engineering at the University of British Columbia, in Vancouver, Canada, where he holds an NSERC chair in design engineering. He joined UBC in 2004 after a thirty-year career in industry, where he worked mostly with large software- intensive systems design in the domains of telecommunication, defense, aerospace, and transportation. Philippe’s current research interests are in software architecture (in particular, architectural decisions and the decision-making process), the evolution of large software and technical debt, and agile software development practices. He is the founder of Agile Vancouver. Philippe Kruchten Kruchten Engineering Services, Ltd.
  • 4. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 2& Outline& •  What&is&technical&debt?&& •  The&technical&debt&landscape& •  Limits&of&the&metaphor& •  Managing&technical&debt& •  Tools&and&techniques& •  Research&on&technical&debt& June&25,&2015& Copyright&©&KESL&2015& 3& Technical&Debt& •  Concept&introduced&by&Ward&Cunningham& •  OTen&menJoned,&rarely&studied& •  All&experienced&soTware&developers&“feel”&it.& •  Drags&longZlived&projects&and&products&down& June&25,&2015& Copyright&©&KESL&2015& 4&
  • 5. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 3& Origin&of&the&metaphor& •  Ward&Cunningham,&at&OOPSLA&1992& &“Shipping&first&Jme&code&is&like&going& into&debt.&A&li_le&debt&speeds&development&& so&long&as&it&is&paid&back&promptly&with&a&& rewrite…& The&danger&occurs&when&the&debt&is&not&& repaid.&Every&minute&spent&on&notZquiteZright&code& counts&as&interest&on&that&debt.&EnJre&engineering& organizaJons&can&be&brought&to&a&standZsJll&under&the& debt&load&of&an&unconsolidated&implementaJon,& objectZoriented&or&otherwise.”& Cunningham,*OOPSLA*1992* June&25,&2015& Copyright&©&KESL&2015& 5& Technical&Debt&(S.&McConnell)& •  Implemented&features&(visible&and&& invisible)&=&assets&=&nonZdebt& •  Type&1:&unintenJonal,&nonZstrategic;&& poor&design&decisions,&poor&coding& •  Type&2:&intenJonal&and&strategic:&& opJmize&for&the&present,&not&for&the&& future.& –  2.A&shortZterm:&paid&off&quickly&(refactorings,&etc.)& •  Large&chunks:&easy&to&track& •  Many&small&bits:&cannot&track& –  2.B&longZterm& McConnell*2007* June&25,&2015& Copyright&©&KESL&2015& 6&
  • 6. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 4& Technical&Debt&(M.&&Fowler)& Fowler*2009,*2010* June&25,&2015& Copyright&©&KESL&2015& 7& First&more&capabiliJes& First&more&infrastructure& Then,&more&infrastructure& Then,&more&capabiliJes& underesJmated&& reZarchitecJng&costs& neglected&cost&of&delay& to&market& need&to&monitor&technical& debt&to&gain&insight&into& lifeZcycle&efficiency& Example& Ozkaya,&SEI,2010&June&25,&2015& Copyright&©&KESL&2015& 8&
  • 7. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 5& Technical&Debt&(S.&McConnell)& •  TD:&A&design&or&construcJon& approach&that&is&expedient&in&the& short&term&but&that&creates&a& technical&context&in&which&the& same&work&will&cost&more&to&do& later&than&it&would&cost&to&do&now& McConnell*2011* June&25,&2015& Copyright&©&KESL&2015& 9& Time&is&Money&(I.&Gat)& •  Convert&this&in&monetary&terms:&& &“Think&of&the&amount&of&money&the&& borrowed&Jme&represents&–&the&& grand&total&required&to&eliminate&& all&issues&found&in&the&code”& Gat*2010* June&25,&2015& Copyright&©&KESL&2015& 10&
  • 8. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 6& Example:&TD&is&the&sum&of…& •  Code&smells & &167&person&days& •  Missing&tests & &298&person&days& •  Design & & & &670&&person&days& •  DocumentaJon &&&67&person&days&& & Totals' &Work& & & & &1,202&person&x&days& &Cost & & & & &$577,000& June&25,&2015& Copyright&©&KESL&2015& 11& Israel&Gat,&2010& h_p://theagileexecuJve.com/2010/09/20/howZtoZbreakZtheZviciousZcycleZofZtechnicalZdebt/& (more)& Relentless& Pressure& Take& Technical& Debt& Fail&to&Pay& back& Technical& debt& Technical& Debt&Accrues& Reduced& Development& Team& Velocity& June&25,&2015& Copyright&©&KESL&2015& 12&
  • 9. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 7& Tech&Debt&(Jim&Highsmith)& Source:*Highsmith,*2009*June&25,&2015& Copyright&©&KESL&2015& 13& Value,&Quality,&Constraints& •  Value&=&extrinsic&quality& –  Metric:&Net&present& value& •  Quality&=&intrinsic& quality& –  Metric:&Technical&debt& •  Constraints&=&cost,& schedule,&scope& –  Metric:&Cost& Value& Quality& &&& Cost& &Highsmith*2010& June&25,&2015& Copyright&©&KESL&2015& 14&
  • 10. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 8& State&of&affairs& •  Opinions,&posturing,&proclamaJons& •  Li_le&objecJve&facts& “...there&is&a&plethora&of&a_enJonZgrabbing& pronouncements&in&cyberspace&that&have&not& been&evaluated&before&they&were&published,& oTen&reflecJng&the&authors’&guesses&and& experience&on&the&subject&of&Technical&Debt.”& Spinola*et*al.*2013* June&25,&2015& Copyright&©&KESL&2015& 15& Causes&of&Technical&Debt& TECHNOLOGY • Technology limitations • Legacy code • COTS • Changes in technology • Project maturity PROCESS • Little consideration of code maintenance • Unclear requirements • Cutting back on process (code reviews) • Little or no history of design decisions • Not knowing or adopting best practices PEOPLE • Postpone work until needed • Making bad assumptions • Inexperience • Poor leadership/team dynamics • No push-back against customers • “Superstars” – egos get in the way • Little knowledge transfer • Know-how to safely change code • Subcontractors PRODUCT • Schedule and budget constraints • Poor communication between developers and management • Changing priorities (market information) • Lack of vision, plan, strategy • Unclear goals, objectives and priorities • Trying to make every customer happy • Consequences of decisions not clear Lim*et*al.*2012* June&25,&2015& Copyright&©&KESL&2015& 16&
  • 11. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 9& Tensions&/&Factors&to&Consider& •  Engineers&don’t&like&technical&debt& & &they'want'to'be'technically'flawless'' •  Project&managers&or&business&people&don’t&mind& technical&debt& & &they'want'to'capture'market'share' •  However,&tolerance&for&TD&changes&over&the& system&lifeJme&of&the&system& Lim*et*al.*2012* June&25,&2015& Copyright&©&KESL&2015& 17& WTF/min&
  • 12. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 10& Visible& New&features& Technological&gap& Architectural&debt& Structural&debt& Code&smells& Defects&Low&internal&quality& AddiJonal&funcJonality& Low&external&quality& Mostly&invisible& Test&debt& DocumentaJon&debt& EvoluJon&issues:&evolvability& Quality&issues:&maintainability& Visible& architecture' code' Code&complexity& Coding&style&violaJons& Zürich,&May&2012& June&25,&2015& Copyright&©&KESL&2015& 19& Technical&Debt&(1)& 12& 12& a* $15* $5* 12& b* $16* $3* 12& $18* $20* $19* $18* June&25,&2015& Copyright&©&KESL&2015& 20&
  • 13. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 11& Technical&Debt&(2)& 12& 12& a* $15* $5* 12& b* $16* $3* 12& $18* 8& 8& $5* 8& $8* 8& $10* $25* $27* $28* June&25,&2015& Copyright&©&KESL&2015& 21& Technical&Debt&(3)& 12& 12& a* +$2* $5* 12& $18* 8& 8& $5* $30* June&25,&2015& Copyright&©&KESL&2015& 22&
  • 14. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 12& Technical&Debt& •  Defect&=&Visible&feature&with&negaJve&value& •  Technical&debt&=&Invisible&feature&with& negaJve&value& •  Cost&….&&&of&fixing&& •  Value&….&of&repaying&technical&debt,&interests& loss&of&producJvity,&etc.& June&25,&2015& Copyright&©&KESL&2015& 23& TD:&negaJve&value,&invisible& New*features* Added* funcNonality* Architectural,* Structural* features* Defects* Technical* Debt* Visible& Invisible& PosiJve& Value& NegaJve& Value& June&25,&2015& Copyright&©&KESL&2015& 24&
  • 15. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 13& Interests& •  In&presence&of&technical&debt,& &cost&of&adding&new&features&is&higher;& &velocity&is&lower.& •  When&repaying&(fixing),&addiJonal&cost&for& retrofixng&already&implemented&features& •  Technical&debt&not&repaid&=>&lead&to&increased& cost,&forever& •  Cost&of&fixing&(repaying)&increases&over&Jme& M.*Fowler,*2009* June&25,&2015& Copyright&©&KESL&2015& 25& Deferring&implementaJon:& Value&decreases& Time& R1& R2& R3& R4& 8& 8& 7.5& 7& 6& June&25,&2015& Copyright&©&KESL&2015& 26&
  • 16. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 14& But&technical&debt&increases&over& Jme& Time& R1& R2& R3& R4& Z8& Z8& Z8.5& Z9& Z10& June&25,&2015& Copyright&©&KESL&2015& 27& It’s&only&a&Metaphor!& •  Metaphors&give&meaning&to&form,&help&ground& our&conceptual&systems.& •  CogniJve&transfer:&source&domain&to&target& domain& – &the&<target>&is&the&<source>& •  Do'not'push'any'metaphor'too'far….' Lakoff*and*Johnson*(1980)*Metaphors*we*live*by** June&25,&2015& Copyright&©&KESL&2015& 28&
  • 17. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 15& Where&the&metaphor&breaks& •  Technical&debt&does&not&always&have&to&be& repaid& •  What&does&it&mean&to&be&“debt&free”?& – TD&has&a&large&part&of&subjecJvity& •  NegaJve&connotaJon& •  May&increase&the&value&of&a&project&for&a&Jme& •  Tech&Debt&as&Investment?& June&25,&2015& Copyright&©&KESL&2015& 29& Where&the&metaphor&breaks& •  IniJal&investment&at&T0&in&an&environment&E0.& Now&in&T2,&E&has&changed&to&E2,&a&mismatch,& has&occurred,&which&creates&a&debt.&& – The&debt&is&created&by&the&change&of&environment.& The&right&decision&in&the&right&environment&at& some&Jme&may&lead&to&technical&debt.& •  Prudent,&inadvertent& June&25,&2015& Copyright&©&KESL&2015& 30&
  • 18. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 16& Where&the&metaphor&breaks…& •  Technical&debt&depends&on&the&future& •  Technical&debt&cannot&be&measured& •  You&can&walk&away&from&technical&debt& •  Technical&debt&should&not&be&completely& eliminated& •  Technical&debt&cannot&be&handled&in&isolaJon& •  Technical&debt&can&be&a&wise&investment& June&25,&2015& Copyright&©&KESL&2015& 31& PotenJal&vs.&actual&debt& •  PotenJal&debt& – Type&1:OK&to&do&with&tools&(see&Gat&&&co.& approach)& – Type&2:&structural,&architectural,&or&technological& gap:&Much&harder& •  Actual&debt& – When&you&know&the&way&forward& K.Schmid*2013* June&25,&2015& Copyright&©&KESL&2015& 32&
  • 19. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 17& TD&litmus&test& •  If&you&are&not&incurring&any&interest,&then&it& probably&is&not&a&debt& McConnell*2013* June&25,&2015& Copyright&©&KESL&2015& 33& Technical&debt& as&an&investment&?&
  • 20. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 18& TD&and&Real&OpJons& P1:& S0& Market&loves&it& +&$4M& Market&hates&it& +&$1M& S1& NPV&(P1)&=&Z2M&+&0.5x4M&+&0.5x1M&=&0.5M& Z2M& p=0.5& p=0.5& Source:*K.*Sullivan,*2010* at&&TD&Workshop&SEI&6/2Z3& June&25,&2015& Copyright&©&KESL&2015& 35& TD&and&Real&OpJons&(2)& P2:& S0& Market&loves&it& Market&hates&it& +&$1M& Sd& NPV&(P2)&=&Z1M&+&0.5x3M&+&0.5x1M&=&1M& Z1M& Source:&K.&Sullivan,&2010& p=0.5& p=0.5& Z1M& S1& +4M& Taking&Technical&Debt&has&increased&system&value.& June&25,&2015& Copyright&©&KESL&2015& 36&
  • 21. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 19& TD&and&Real&OpJons&(3)& P2:& S0& Market&loves&it& Market&hates&it& +&$1M& Sd& NPV&(P3)&=&Z1M&+&0.67&x&2.5M&+&0.33&x&1M&=&1M& Z1M& p=0.33& p=0.67& Z1.5M& S1& +4M& More&realisJcally:& Debt&+&interest& High&chances&of&success& Take&Debt& Repay&debt& June&25,&2015& Copyright&©&KESL&2015& 37& TD&and&Real&OpJons&(3)& P2:& S0& Market&loves&it& Market&hates&it& +&$1M& Sd& NPV&(P3)&=&Z1M&+&0.67&x&2.5M&+&0.33&x&1M&=&1M& Z1M& p=0.33& p=0.67& Z1.5M& S1& +4M& More&realisJcally:& Debt&+&interest& High&chances&of&success& Higher&chance& of&success& Repay&debt&+& 50%&interest& June&25,&2015& Copyright&©&KESL&2015& 38&
  • 22. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 20& TD&and&Real&OpJons&(4)& S0& Favourable& Unfavourable& Sd& p=?& p=?& S1& S2& S2d& …..& …..& Not*debt*really,*but*opNons*with*different*values…** Do*we*want*to*invest*in*architecture,*in*test,*etc…* Refactor& Add&feature& Add&feature& ?& Source:&K.&Sullivan,&2010& June&25,&2015& Copyright&©&KESL&2015& 39& How&do&people&“tackle”& technical&debt&
  • 23. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 21& Tackling&Technical&Debt& Axtude,&approaches&found:& 1.  Ignorance&is&bliss& 2.  The&elephant&in&the&room& 3.  Big&scary&$$$$&numbers& 4.  Five&star&ranking& 5.  Constant&reducJon& 6.  We’re&agile,&so&we&are&immune!& June&25,&2015& Copyright&©&KESL&2015& 41& Ignorance&is&bliss& You’re&just&slower,&and&slower,&but&you&do&not& know&it,&or&do&not&know&why& 0& 2& 4& 6& 8& 10& 12& 1& 2& 3& 4& 5& 6& 7& FuncNonal*requirement*delivered* IteraNons* Velocity* accumulated&technical&debt& impacts&ability&to&deliver& June&25,&2015& Copyright&©&KESL&2015& 42&
  • 24. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 22& The&elephant&in&the&room& •  Many&in&the&org.&know& about&technical&tech.& •  Indifference:&it’s& someone&else’s&problem& •  OrganizaJon&broken& down&in&small&silos& •  No&real&whole&product& mentality& •  ShortZterm&focus& June&25,&2015& Copyright&©&KESL&2015& 43& Big&scary&$$$$&numbers& •  Code&smells & &167&person&days& •  Missing&test & &298&person&days& •  Design & & & &670&&person&days& •  DocumentaJon &&&67&person&days&& & Totals' &Work& & & & &1,202&person&x&days& &Cost & & & & &$577,000& June&25,&2015& Copyright&©&KESL&2015& 44&
  • 25. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 23& StaJc&analysis&+&ConsulJng& •  Cu_er&ConsorJum:&Gat,&et&al.& – Use&of&Sonar,&etc.& – Focused&on&code&analysis& – TD&=&total&value&of&fixing&the&code&base& •  CAST&soTware& •  ThoughtWorks&& Debt&analysis&engagements& Debt&reducJon&engagements& June&25,&2015& Copyright&©&KESL&2015& 45& Issues& •  Fits&the&metaphor,&indeed.&& •  Looks&very&objecJve…&but…& •  SubjecJve&in:& –  What&is&counted& –  What&tool&to&use& –  Cost&to&fix& && Not&all&fixes&have&the&same&resulJng&value.& Sunk&cost&are&irrelevant,&look&into&the&future&only.& What&does&it&mean&to&be&“Debt&free”??& June&25,&2015& Copyright&©&KESL&2015& 46&
  • 26. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 24& Five&star&ranking& •  Define&some&maintainability'index& •  Benchmark&relaJve&to&other&soTware&in&the&same& category& •  ReZassess&regularly&(e.g.,&weekly)& •  Look&at&trends,&correlate&changes&with&recent& changes&in&code&base& •  SIG&(SoTware&Improvement&Group),&Amsterdam& •  Powerful&tool&behind& June&25,&2015& Copyright&©&KESL&2015& 47& Constant&debt&reducJon& •  Make&technical&debt&a&visible&item&on&the& backlog& •  Make&it&visible&outside&of&the&soTware&dev.& organizaJon& •  Incorporate&debt&reducJon&as&a&regular& acJvity& •  Use&buffer&in&longer&term&planning&for&yet& unidenJfied&technical&debt& •  Lie&(?)& June&25,&2015& Copyright&©&KESL&2015& 48&
  • 27. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 25& We&are&agile,&so&we’re&immune!& In&some&cases&we&are&agile&and&therefore&we&run&faster&into&technical&debt& June&25,&2015& Copyright&©&KESL&2015& 49& Agile&mo_os& •  “Defer&decision&to&the&last&responsible&moment”& •  “YAGNI”&=&You&Ain’t&Gonna&Need&It& –  But&when&you&do,&it&is&technical&debt& –  Technical&debt&oTen&is&the&accumulaJon&of&too&many& YAGNI&decisions& •  “We’ll&refactor&this&later”& •  “Deliver&value,&early”& •  Again'the'tension'between'the'yellow'stuff'and' the'green'stuff' •  You’re'sHll'agile'because'you'aren’t'slowed'down' by'TD'yet.'June&25,&2015& Copyright&©&KESL&2015& 50&
  • 28. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 26& Story&of&a&failure& •  Large&reZengineering&of& &a&complex&distributed&& worldZwide&system;&& 2&millions&LOC&in&C,&& C++,&Cobol&and&VB& •  MulJple&sites,&dozens&of&data&repositories,&hundreds& of&users,&24&hours&operaJon,&missionZcriJcal& ($billions)& •  xP+Scrum,&1Zweek&iteraJons,&30&then&up&to&50& developers& •  Rapid&progress,&early&success,&features&are&demoZable& •  Direct&access&to&“customer”,&etc.& •  A'poster'project'for'scalable'agile'development' June&25,&2015& Copyright&©&KESL&2015& 51& Hixng&the&wall& •  ATer&4&½&&months,&difficulJes&& to&keep&with&the&1Zweek&& iteraJons& •  Refactoring&takes&longer&& than&one&iteraJon& •  Scrap&and&rework&raJo&& increases&dramaJcally& •  No&externally&visible&progress&anymore& •  IteraJons&stretched&to&3&weeks& •  Staff&turnZover&increases&& •  Project&comes&to&a&halt& •  Lots&of&code,&no&clear&architecture,&no&obvious&way&forward& June&25,&2015& Copyright&©&KESL&2015& 52&
  • 29. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 27& MulJple&Component&Defects& •  MCD&=&A&defect&whose&fix&requires&changes&to& mulJple&components&(large&systems)& •  MCD:&6Z10%&of&all&defects& •  20&Jmes&more&modificaJons;&50%&more&effort& •  Fixes&2Z3&Jmes&more&likely&to&span&mulJple& iteraJons&or&releases& •  20%&of&components&hit&by&80%&of&MCD& Li*et*al,*2011* June&25,&2015& Copyright&©&KESL&2015& 53& CogniJve&biases&and&TD& •  EscalaJon&of&commitment& – Aka,&too&much&invested&to&quit& •  Sunk&cost&fallacy& – aka.&throwing&good&money&aTer& bad& •  Anchoring& •  Confirmatory&bias& June&25,&2015& Copyright&©&KESL&2015& 54&
  • 30. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 28& Tools&and&Techniques& Some&examples& Tools&for&Technical&Debt&Analysis& •  Vendors&include& •  CAST& •  Inspearit& •  SonarSource&(Sonarqube)& •  Thoughtworks& •  SoTware&Improvement&Group&(SIG)& •  Laxx& •  Hello2morrow& •  Tocéa&(ScerJfy)& •  Xdepend& •  Klocwork& •  JetBrains& June&25,&2015& Copyright&©&KESL&2015& 56&
  • 31. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 29& PropagaJon&cost& •  “Density”&of&the&DSM&& – Proposed&by&McCormack&et&al.&in&2006& – Several&limitaJons&as&a&tool&to&measure&T.D.& •  Improved&PC:& – Boolean&to&conJnuous&value&(=dependency& “strength”)& – Changes&not&uniformly&spread&throughout&the& code& – Less&sensiJve&to&size&of&code& McCormack*et*al.*2006* June&25,&2015& Copyright&©&KESL&2015& 57& Example&of&PC:&EvoluJon&of&Ant& Technical'debt'reducHon' Release&number& June&25,&2015& Copyright&©&KESL&2015& 58&
  • 32. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 30& Tech&Debt&(mis)ZconcepJons& •  Technical&debt&reifies&an&abstract&concept& •  Technical&debt&does&not&equate&to&bad&quality& •  Technical&debt&can&be&induces&by&a&shiT&in& context& •  Defects&are&not&technical&debt& •  Lack&of&progress&is&not&technical&debt& •  New&features&yet&to&be&implemented&is&not& technical&debt& June&25,&2015& Copyright&©&KESL&2015& 59& Technical&Debt&DefiniJon&(2013)& •  A&design&or&construcJon&approach& that&is&expedient&in&the&short& term,&but&that&creates&a&technical& context&in&which&the&same&work& will&cost&more&to&do&later&than&it& would&cost&to&do&now&(including& increased&cost&over&Jme).& McConnell*2013* June&25,&2015& Copyright&©&KESL&2015& 60&
  • 33. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 31& Visible& New&features& Technological&gap& Architectural&debt& Structural&debt& Code&smells& Defects&Low&internal&quality& AddiJonal&funcJonality& Low&external&quality& Mostly&invisible& Test&debt& DocumentaJon&debt& EvoluJon&issues:&evolvability& Quality&issues:&maintainability& Visible& architecture' code' Code&complexity& Coding&style&violaJons& Technical&debt&landscape& Kruchten*et*al*2012* June&25,&2015& Copyright&©&KESL&2015& 61& Conclusion& •  Technical&debt&is&sJll&more&a&rhetorical'category& than&a&technical'or&ontological&category.&& •  The&concept&&resonates&well&with&the& development&community,&and&someJmes&also& with&management.& •  It&bridges&the&gap&between&business&decision& makers&and&technical&implementers.& •  It’s&only&a&metaphor;&do&not&push&it&too&far.& •  It’s&not&all&bad:&maybe&an&investment& June&25,&2015& Copyright&©&KESL&2015& 62&
  • 34. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 32& Visible& New&features& Technological&gap& Architectural&debt& Structural&debt& Code&smells& Defects&Low&internal&quality& AddiJonal&funcJonality& Low&external&quality& Mostly&invisible& Test&debt& DocumentaJon&debt& EvoluJon&issues:&evolvability& Quality&issues:&maintainability& Visible& architecture' code' Code&complexity& Coding&style&violaJons& June&25,&2015& Copyright&©&KESL&2015& 63& June&25,&2015& Copyright&©&KESL&2015& 64&
  • 35. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 33& References& !  Brown,&N.,&Cai,&Y.,&Guo,&Y.,&Kazman,&R.,&Kim,&M.,&Kruchten,&P.,&et&al.&(2010).&Managing' Technical'Debt'in'So)wareLIntensive'Systems.&Paper&presented&at&the&Future&of&soTware& engineering&research&(FoSER)&workshop,&part&of&FoundaJons&of&SoTware&Engineering&(FSE& 2010)&conference.&& !  Brown,&N.,&Nord,&R.,&Ozkaya,&I.,&Kruchten,&P.,&&&Lim,&E.&(2011).&Hard&Choice:&A&game&for& balancing&strategy&for&agility.&Paper&presented&at&the&24th&IEEE&CS&Conference&on&SoTware& Engineering&EducaJon&and&Training&(CSEE&T&2011),&Honolulu,&HI,&USA.& !  Cunningham,&W.&(1992).&The'WyCash'PorOolio'Management'System.'Paper&presented&at&the& OOPSLA'92&conference,&ACM.&Retrieved&from&h_p://c2.com/doc/oopsla92.html& !  CurJs,&B.,&Sappidi,&J.,&&&Szynkarski,&A.&(2012).&EsJmaJng&the&Principal&of&an&ApplicaJon’s& Technical&Debt.&IEEE&&SoTware,&29(6).& !  Denne,&M.,&&&ClelandZHuang,&J.&(2004).&So)ware'by'Numbers:'LowLRisk,'HighLReturn' Development,'PrenJce&Hall.& !  Denne,&M.,&&&ClelandZHuang,&J.&(2004).&The&Incremental&Funding&Method:&DataZDriven& SoTware&Development,&IEEE'So)ware,&21(3),&39Z47.& !  Fowler,&M.&(2009),&Technical'debt'quadrant,'Blog&post&at:& h_p://www.marJnfowler.com/bliki/TechnicalDebtQuadrant.html&& !  Gat,&I.&(ed.).&(2010).&How'to'seUle'your'technical'debtLLa'manager's'guide.&Arlington&Mass:& Cu_er&ConsorJum.& !  Kruchten,&Ph.&(2010)&Contextualizing&Agile&SoTware&Development,”&Paper&presented&at&the& EuroSPI&2010&conference&in&Grenoble,&Sept.1Z3,&2010&&& June&25,&2015& Copyright&©&KESL&2015& 65& References& !  Kruchten,&P.,&Nord,&R.,&&&Ozkaya,&I.&(2012).&Technical&debt:&from&metaphor&to&theory&and&pracJce.& IEEE''So)ware,&29(6).&& !  Kruchten,&P.,&Nord,&R.,&Ozkaya,&I.,&&&Visser,&J.&(2012).&Technical&Debt&in&SoTware&Development:&from& Metaphor&to&TheoryZZReport&on&the&Third&InternaJonal&Workshop&on&Managing&Technical&Debt,& held&at&ICSE&2012&ACM'SIGSOFT'So)ware'Engineering'Notes,&37(5).&& !  Li,&Z.,&Madhavji,&N.,&Murtaza,&S.,&Gi_ens,&M.,&Miranskyy,&A.,&Godwin,&D.,&&&Cialini,&E.&(2011).& CharacterisJcs&of&mulJpleZcomponent&defects&and&architectural&hotspots:&a&large&system&case& study.&Empirical'So)ware'Engineering,&16(5),&667Z702.&doi:&10.1007/s10664Z011Z9155Zy& !  Lim,&E.&(2012).&Technical'Debt:'What'So)ware'PracHHoners'Have'to'Say.'(Master's&thesis),& University&of&BriJsh&Columbia,&Vancouver,&Canada.&&&& !  Lim,&E.,&Taksande,&N.,&&&Seaman,&C.&B.&(2012).&A&Balancing&Act:&What&SoTware&PracJJoners&Have&to& Say&about&Technical&Debt.&IEEE''So)ware,&29(6).& !  MacCormack,&A.,&Rusnak,&J.,&&&Baldwin,&C.&Y.&(2006).&Exploring&the&structure&of&complex&soTware& designs:&An&empirical&study&of&open&source&and&proprietary&code.&Management'Science,'52(7),& 1015Z1030.&& !  Nord,&R.,&Ozkaya,&I.,&Kruchten,&P.,&&&Gonzalez,&M.&(2012).&In&search&of&a&metric&for&managing& architectural&technical&debt.&Paper&presented&at&the&Working'IEEE/IFIP'Conference'on'So)ware' Architecture'(WICSA'2012),&Helsinki,&Finland.& !  McConnell,&S.&(2007)&Notes'on'Technical'Debt,&Blog&post&at:&h_p://blogs.construx.com/blogs/ stevemcc/archive/2007/11/01/technicalZdebtZ2.aspx& !  Special&issue&of&CuUer'IT'Journal&on&Technical&Debt,&edited&by&I.&Gat&(October&2010)&Cu_er&IT& Journal,&23&(10).& !  Sterling,&C.&(2010)&Managing'So)ware'Debt,&AddisonZWesley.& June&25,&2015& Copyright&©&KESL&2015& 66&
  • 36. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 34& References&(cont.)& !  R.&O.&Spinola,&N.&Zazworka,&A.&Vetrò,&C.&B.&Seaman,&and&F.&Shull,&"InvesJgaJng&Technical&Debt& Folklore:&Shedding&Some&Light&on&Technical&Debt&Opinion,"&in&Proceedings&of&the&4th& Workshop&on&Managing&Technical&Debt,&at&ICSE&2013,&P.&Kruchten,&I.&Ozkaya,&and&R.&Nord,& Eds.,&IEEE,&2013.& !  K.&Schmid,&"On&the&Limits&of&the&Technical&Debt&Metaphor,"&in&&Proceedings&of&the&4th& Workshop&on&Managing&Technical&Debt,&at&ICSE&2013,&P.&Kruchten,&I.&Ozkaya,&and&R.&Nord,& Eds.,&IEEE,&2013,&pp.&63Z66.& !  K.&Schmid,&"A&Formal&Approach&to&Technical&Debt&Decision&Making,"&in&Proceedings&of&the& Conference&on&Quality&of&SoTware&Architecture&QoSA'2013,&Vancouver,&2013,&ACM.& June&25,&2015& Copyright&©&KESL&2015& 67& Other&sources&(Talks/slides)& •  Gat,&I.,&Heintz,&J.&(Aug.&19,&2010)&Webinar:'Reining'in'Technical'Debt,& Cu_er&ConsorJum.& •  McConnell,&S.&(October&2011)&Managing&technical&debt.&(Webinar)&& •  Kniberg,&H.&(2008)&Technical'debtLHow'not'to'ignore'it,&at&Agile&2008& conference.& •  Kruchten,&P.&(2009)&What'colour'is'your'backlog?'Agile&Vancouver& Conference.&h_p://philippe.kruchten.com/talks& •  Sterling,&C.&(2009)&h_p://www.slideshare.net/csterwa/managingZ soTwareZdebtZpnsqcZ2009& •  Short,&G.&(2009)&h_p://www.slideshare.net/garyshort/technicalZ debtZ2985889& •  West,&D.&(January&2011),&Balancing'agility'and'technical'debt,&Forrester&&& Cast&SoTware& June&25,&2015& Copyright&©&KESL&2015& 68&
  • 37. Managing&Technical&Debt& February&2015& Copyright&©&2015&by&Philippe&Kruchten& 35& Other&sources& •  Slides&on&Sonar,&from&Olivier&Gaudin,&CEO&of&Sonarqube' •  Slides&on&SQALE&from&JeanZLouis&Letouzey,'Inspearit' •  Slides&on&DSM&from&Ipek&Ozkaya&and&Robert&Nord,&SEI' June&25,&2015& Copyright&©&KESL&2015& 69& June&25,&2015& Copyright&©&KESL&2015& 70&