SlideShare a Scribd company logo
Why you should stop
using the generic term
Technical Debt
And start resolving specific problems instead!
by Oleksii Fedorov @ Pivotal
1
Why you should stop using the generic term Technical Debt
2
This code sucks!
Let me rewrite it to this
new JS framework!Is it really that
bad?
Why you should stop using the generic term Technical Debt
3
“We have so much technical debt!
We don’t even know how to start
fixing it!”
Why you should stop using the generic term Technical Debt
4
Why rewrite is 99.99999% a bad idea
• Business valuable features will be put on hold
• If not, then rewrite will have to “race” with the old
system. It is going to end up with more issues.
• Executing a good rewrite requires certain skills.
Are you sure your team has them?
Why you should stop using the generic term Technical Debt
5
Skills needed for a good rewrite
• Good, non-over-engineering, software design skill
• Skill for back-filling of tests for existing code
• Test-driven development skills
• Mastery of clean code
• etc.
Why you should stop using the generic term Technical Debt
6
Developer with such profile
• software design skill
• patient back-filling tests skill
• TDD skills
• Clean code
• etc.
Will not complain about
technical debt
Why you should stop using the generic term Technical Debt
7
They will just refactor code they touch
all the time, bit by bit
WHILE
delivering business-valuable
functionality
Why you should stop using the generic term Technical Debt
8
“So when should we do the rewrite?”
Why you should stop using the generic term Technical Debt
9
Almost never.
Why you should stop using the generic term Technical Debt
10
Make incremental changes towards
the goal all the time.
Why you should stop using the generic term Technical Debt
11
“How?!”
Why you should stop using the generic term Technical Debt
12
Ugh. I don’t
know.
So what is the issue
you are currently
facing?
Why you should stop using the generic term Technical Debt
13
It is just so
outdated
Why you should stop using the generic term Technical Debt
14
It is so
convoluted
Why you should stop using the generic term Technical Debt
15
Hundreds
of tests break on every
change
Why you should stop using the generic term Technical Debt
16
Somebody
else wrote this
Why you should stop using the generic term Technical Debt
17
This library is
taking more time than
saving us
Why you should stop using the generic term Technical Debt
18
I don’t like this
framework
Why you should stop using the generic term Technical Debt
19
<INSERT YOUR
OWN EXCUSE>
Why you should stop using the generic term Technical Debt
20
….
Why is that?
Why you should stop using the generic term Technical Debt
21
What should have
been a “1-pointer” turned out
to be a “3-pointer”
And how is that a
problem for us?
Why you should stop using the generic term Technical Debt
22
Whenever we touch
this module we deliver 10-20
bugs
And how is that a
problem for us?
Why you should stop using the generic term Technical Debt
23
Now we are talking!
bonus points if you could distinguish
complaints from real problems.
Why you should stop using the generic term Technical Debt
24
What just happened?
1. Talk about a specific problem at hand

(instead of a generic complaint/feeling)
2. Figure out the reason behind the problem

(5 WHYs)
3. Talk about real specific impacts of a problem

(e.g., unexpected complexity slowing team
down, screwing with estimates, harming
mental health of team members, etc.)
4. Start tracking all of the above
Why you should stop using the generic term Technical Debt
25
“I know which problems are serious.
Now what?”
Why you should stop using the generic term Technical Debt
26
Identify which problems are worth fixing
Why you should stop using the generic term Technical Debt
27
Wishlist
So this module, to
which product area it
belongs?
No need to fix it
now then
Why you should stop using the generic term Technical Debt
28
Hold on. It also
affects shopping cart
heavily!
Well. This IS a problem!
Let’s decouple them
Why you should stop using the generic term Technical Debt
29
“Product areas?”
Why you should stop using the generic term Technical Debt
30
Yep.

We need to think about these problems
through the lenses of Product as well.
Why you should stop using the generic term Technical Debt
31
Identify product areas that you have
Wishlist
Checkout
Shopping
cart
Offers
search/filter
And more…
Why you should stop using the generic term Technical Debt
32
How much more value business will gain
if it could work in Area X twice as fast?
Wishlist
Checkout
Shopping
cart
Offers
search/filter
And more…
1
4
5
5
Why you should stop using the generic term Technical Debt
33
On a horizon, how frequent business
wants to change Area X?
Wishlist
Checkout
Shopping
cart
Offers
search/filter
And more…
1
4
5
5
frequent
frequent
rare
maintenance
Why you should stop using the generic term Technical Debt
34
What problems do we have in the Area X
and how severe they are?
Offers
search/filter
4
frequent
Shopping
cart
5
frequent Checkout
5
rare
Wishlist
1
maintenance
• bad library Z
• flakey test suite
• etc.
• too coupled

with Wishlist
• low test

coverage
• etc.
• Filtering is
very slow
• Tests are
too coupled
• etc.
• Very long
methods
• etc.
Why you should stop using the generic term Technical Debt
35
Now you should prioritise these problems

And start scheduling them in iterations
Why you should stop using the generic term Technical Debt
36
And one last anecdote
Why you should stop using the generic term Technical Debt
37
BTW, today I’ve been
working on this feature for
checkout product area
Yeah, what’s
up with it?
I’ve split one of
the long methods while working
on it. Everybody on the team is
happy!
Why you should stop using the generic term Technical Debt
38
“And, most importantly

I’ve understood how Checkout works
much more than ever before!”
Why you should stop using the generic term Technical Debt
39
Let’s recap
1. Track specific problems, their WHYs, and
their impacts on team/business
2. Track importance of product areas
3. Be aware of how issues affect product areas
4. Prioritise most impactful problems (max ROI)
and schedule 1-2 for your next iteration
5. Refactor small issues “inline” while delivering
(Campsite rule: “Leave campsite cleaner
than you’ve found it”)
Why you should stop using the generic term Technical Debt
40
Thank you!

Q & A time!
Learn more about technical debt and more at
ThroughLensesOfCTO.com

More Related Content

What's hot

ExumaTech Dev Process
ExumaTech Dev ProcessExumaTech Dev Process
Condensed testing syrup - @OptimiseorDie @sydney sep 2011 - 4 years of testin...
Condensed testing syrup - @OptimiseorDie @sydney sep 2011 - 4 years of testin...Condensed testing syrup - @OptimiseorDie @sydney sep 2011 - 4 years of testin...
Condensed testing syrup - @OptimiseorDie @sydney sep 2011 - 4 years of testin...
Craig Sullivan
 
Top 15 reasons to choose qa testing as career
Top 15 reasons to choose qa testing as career Top 15 reasons to choose qa testing as career
Top 15 reasons to choose qa testing as career
JanBask Training
 
Solution validation best practices
Solution validation best practicesSolution validation best practices
Solution validation best practices
Mahdi Alipour Sakhavi
 
Problem solving overview
Problem solving overviewProblem solving overview
Problem solving overview
LineView Academy (was OFX Academy)
 
SXSW 2016 - Everything you think about A/B testing is wrong
SXSW 2016 - Everything you think about A/B testing is wrongSXSW 2016 - Everything you think about A/B testing is wrong
SXSW 2016 - Everything you think about A/B testing is wrong
Dan Chuparkoff
 
Your A/B Tests are Lying to You
Your A/B Tests are Lying to YouYour A/B Tests are Lying to You
Your A/B Tests are Lying to You
John Clevenger
 
Your A/B Tests are Lying to You
Your A/B Tests are Lying to YouYour A/B Tests are Lying to You
Your A/B Tests are Lying to You
John Clevenger
 
TestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testingTestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testing
Maaret Pyhäjärvi
 
Stop Wasting Time and Become More Productive
Stop Wasting Time and Become More ProductiveStop Wasting Time and Become More Productive
Stop Wasting Time and Become More Productive
Affiliate Summit
 
In-depth problem solving tool
In-depth problem solving toolIn-depth problem solving tool
In-depth problem solving tool
LineView Academy (was OFX Academy)
 
Why do my AB tests suck? measurecamp
Why do my AB tests suck?   measurecampWhy do my AB tests suck?   measurecamp
Why do my AB tests suck? measurecamp
Craig Sullivan
 
Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters DVClub
 
Lean responsive - Expanded
Lean responsive - ExpandedLean responsive - Expanded
Lean responsive - Expanded
Josh Jeffryes
 
Test Driven Development – how it benefits business and teams alike
Test Driven Development – how it benefits business and teams alikeTest Driven Development – how it benefits business and teams alike
Test Driven Development – how it benefits business and teams alike
Scrum Australia Pty Ltd
 
Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014
Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014
Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014
Marketing Festival
 
Mobile presentation - Sydney Online Retailer - 26 Sep 2011
Mobile presentation - Sydney Online Retailer - 26 Sep 2011Mobile presentation - Sydney Online Retailer - 26 Sep 2011
Mobile presentation - Sydney Online Retailer - 26 Sep 2011
Craig Sullivan
 
Neverstop
NeverstopNeverstop
Neverstop
David Hamill
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using Axioms
SQALab
 
Why Your Selenium Tests are so Dang Brittle, and What to Do About It
Why Your Selenium Tests are so Dang Brittle, and What to Do About ItWhy Your Selenium Tests are so Dang Brittle, and What to Do About It
Why Your Selenium Tests are so Dang Brittle, and What to Do About It
Jay Aho
 

What's hot (20)

ExumaTech Dev Process
ExumaTech Dev ProcessExumaTech Dev Process
ExumaTech Dev Process
 
Condensed testing syrup - @OptimiseorDie @sydney sep 2011 - 4 years of testin...
Condensed testing syrup - @OptimiseorDie @sydney sep 2011 - 4 years of testin...Condensed testing syrup - @OptimiseorDie @sydney sep 2011 - 4 years of testin...
Condensed testing syrup - @OptimiseorDie @sydney sep 2011 - 4 years of testin...
 
Top 15 reasons to choose qa testing as career
Top 15 reasons to choose qa testing as career Top 15 reasons to choose qa testing as career
Top 15 reasons to choose qa testing as career
 
Solution validation best practices
Solution validation best practicesSolution validation best practices
Solution validation best practices
 
Problem solving overview
Problem solving overviewProblem solving overview
Problem solving overview
 
SXSW 2016 - Everything you think about A/B testing is wrong
SXSW 2016 - Everything you think about A/B testing is wrongSXSW 2016 - Everything you think about A/B testing is wrong
SXSW 2016 - Everything you think about A/B testing is wrong
 
Your A/B Tests are Lying to You
Your A/B Tests are Lying to YouYour A/B Tests are Lying to You
Your A/B Tests are Lying to You
 
Your A/B Tests are Lying to You
Your A/B Tests are Lying to YouYour A/B Tests are Lying to You
Your A/B Tests are Lying to You
 
TestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testingTestWorksConf: Experience exploratory testing
TestWorksConf: Experience exploratory testing
 
Stop Wasting Time and Become More Productive
Stop Wasting Time and Become More ProductiveStop Wasting Time and Become More Productive
Stop Wasting Time and Become More Productive
 
In-depth problem solving tool
In-depth problem solving toolIn-depth problem solving tool
In-depth problem solving tool
 
Why do my AB tests suck? measurecamp
Why do my AB tests suck?   measurecampWhy do my AB tests suck?   measurecamp
Why do my AB tests suck? measurecamp
 
Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters Validation Missteps Making Us Full Time Firefighters
Validation Missteps Making Us Full Time Firefighters
 
Lean responsive - Expanded
Lean responsive - ExpandedLean responsive - Expanded
Lean responsive - Expanded
 
Test Driven Development – how it benefits business and teams alike
Test Driven Development – how it benefits business and teams alikeTest Driven Development – how it benefits business and teams alike
Test Driven Development – how it benefits business and teams alike
 
Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014
Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014
Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014
 
Mobile presentation - Sydney Online Retailer - 26 Sep 2011
Mobile presentation - Sydney Online Retailer - 26 Sep 2011Mobile presentation - Sydney Online Retailer - 26 Sep 2011
Mobile presentation - Sydney Online Retailer - 26 Sep 2011
 
Neverstop
NeverstopNeverstop
Neverstop
 
Advancing Testing Using Axioms
Advancing Testing Using AxiomsAdvancing Testing Using Axioms
Advancing Testing Using Axioms
 
Why Your Selenium Tests are so Dang Brittle, and What to Do About It
Why Your Selenium Tests are so Dang Brittle, and What to Do About ItWhy Your Selenium Tests are so Dang Brittle, and What to Do About It
Why Your Selenium Tests are so Dang Brittle, and What to Do About It
 

Similar to Why you should stop using the generic term “Technical Debt” and start resolving specific problems instead

Lessons from replatforming and increasing conversion through content testing ...
Lessons from replatforming and increasing conversion through content testing ...Lessons from replatforming and increasing conversion through content testing ...
Lessons from replatforming and increasing conversion through content testing ...
E-Commerce Brasil
 
Manufacturing simulation
Manufacturing simulationManufacturing simulation
Manufacturing simulation
sameer agrawal
 
Startup Operating Systems
Startup Operating SystemsStartup Operating Systems
Startup Operating Systems
Dean Haritos
 
Seven Classic Startup Failure Modes
Seven Classic Startup Failure ModesSeven Classic Startup Failure Modes
Seven Classic Startup Failure Modes
Joe Dunn
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
André Agostinho
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview Guide
Vaco Seattle
 
Mini-Training: Using root-cause analysis for problem management
Mini-Training: Using root-cause analysis for problem managementMini-Training: Using root-cause analysis for problem management
Mini-Training: Using root-cause analysis for problem management
Betclic Everest Group Tech Team
 
Rules of productivity
Rules of productivityRules of productivity
Rules of productivity
katywhit91
 
DevOps Year One
DevOps Year OneDevOps Year One
DevOps Year One
Magnus Hedemark
 
How Software Developers Destroy Business Value.pptx
How Software Developers Destroy Business Value.pptxHow Software Developers Destroy Business Value.pptx
How Software Developers Destroy Business Value.pptx
Aaron Stannard
 
Підтримка легасі-платформи. Погляд менеджера
Підтримка легасі-платформи. Погляд менеджераПідтримка легасі-платформи. Погляд менеджера
Підтримка легасі-платформи. Погляд менеджера
DataArt
 
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptxSOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
Financial Services Innovators
 
Lean Kanban India 2015 | Kanban - Myths or Facts | Mahesh Vardhrajan
Lean Kanban India 2015 | Kanban - Myths or Facts | Mahesh VardhrajanLean Kanban India 2015 | Kanban - Myths or Facts | Mahesh Vardhrajan
Lean Kanban India 2015 | Kanban - Myths or Facts | Mahesh Vardhrajan
LeanKanbanIndia
 
Session 3 - Solution interviews
Session 3 - Solution interviews Session 3 - Solution interviews
Session 3 - Solution interviews
Co-founder Ignitor
 
Clean Code - 5
Clean Code - 5Clean Code - 5
Clean Code - 5
Don Kim
 
Fixing the Problems in Your Operations Problem-Solving Methods
Fixing the Problems in Your Operations Problem-Solving MethodsFixing the Problems in Your Operations Problem-Solving Methods
Fixing the Problems in Your Operations Problem-Solving Methods
SafetyChain Software
 
Failing With Agile
Failing With AgileFailing With Agile
Failing With Agile
lazygolfer
 
Failing @ Scaling Agile? Don’t Panic! & Carry a Towel
Failing @ Scaling Agile? Don’t Panic! & Carry a TowelFailing @ Scaling Agile? Don’t Panic! & Carry a Towel
Failing @ Scaling Agile? Don’t Panic! & Carry a Towel
Em Campbell-Pretty
 
Stop! you're testing too much
Stop!  you're testing too muchStop!  you're testing too much
Stop! you're testing too much
Shawn Wallace
 
STOP! You're Testing Too Much - Shawn Wallace
STOP!  You're Testing Too Much - Shawn WallaceSTOP!  You're Testing Too Much - Shawn Wallace
STOP! You're Testing Too Much - Shawn Wallace
QA or the Highway
 

Similar to Why you should stop using the generic term “Technical Debt” and start resolving specific problems instead (20)

Lessons from replatforming and increasing conversion through content testing ...
Lessons from replatforming and increasing conversion through content testing ...Lessons from replatforming and increasing conversion through content testing ...
Lessons from replatforming and increasing conversion through content testing ...
 
Manufacturing simulation
Manufacturing simulationManufacturing simulation
Manufacturing simulation
 
Startup Operating Systems
Startup Operating SystemsStartup Operating Systems
Startup Operating Systems
 
Seven Classic Startup Failure Modes
Seven Classic Startup Failure ModesSeven Classic Startup Failure Modes
Seven Classic Startup Failure Modes
 
How to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software EngineeringHow to justify technical debt mitigations in Software Engineering
How to justify technical debt mitigations in Software Engineering
 
Greythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview GuideGreythorn Whiteboard Interview Guide
Greythorn Whiteboard Interview Guide
 
Mini-Training: Using root-cause analysis for problem management
Mini-Training: Using root-cause analysis for problem managementMini-Training: Using root-cause analysis for problem management
Mini-Training: Using root-cause analysis for problem management
 
Rules of productivity
Rules of productivityRules of productivity
Rules of productivity
 
DevOps Year One
DevOps Year OneDevOps Year One
DevOps Year One
 
How Software Developers Destroy Business Value.pptx
How Software Developers Destroy Business Value.pptxHow Software Developers Destroy Business Value.pptx
How Software Developers Destroy Business Value.pptx
 
Підтримка легасі-платформи. Погляд менеджера
Підтримка легасі-платформи. Погляд менеджераПідтримка легасі-платформи. Погляд менеджера
Підтримка легасі-платформи. Погляд менеджера
 
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptxSOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
SOFTWARE TESTING TRAFUNDAMENTALS OF SOFTWARE TESTING.pptx
 
Lean Kanban India 2015 | Kanban - Myths or Facts | Mahesh Vardhrajan
Lean Kanban India 2015 | Kanban - Myths or Facts | Mahesh VardhrajanLean Kanban India 2015 | Kanban - Myths or Facts | Mahesh Vardhrajan
Lean Kanban India 2015 | Kanban - Myths or Facts | Mahesh Vardhrajan
 
Session 3 - Solution interviews
Session 3 - Solution interviews Session 3 - Solution interviews
Session 3 - Solution interviews
 
Clean Code - 5
Clean Code - 5Clean Code - 5
Clean Code - 5
 
Fixing the Problems in Your Operations Problem-Solving Methods
Fixing the Problems in Your Operations Problem-Solving MethodsFixing the Problems in Your Operations Problem-Solving Methods
Fixing the Problems in Your Operations Problem-Solving Methods
 
Failing With Agile
Failing With AgileFailing With Agile
Failing With Agile
 
Failing @ Scaling Agile? Don’t Panic! & Carry a Towel
Failing @ Scaling Agile? Don’t Panic! & Carry a TowelFailing @ Scaling Agile? Don’t Panic! & Carry a Towel
Failing @ Scaling Agile? Don’t Panic! & Carry a Towel
 
Stop! you're testing too much
Stop!  you're testing too muchStop!  you're testing too much
Stop! you're testing too much
 
STOP! You're Testing Too Much - Shawn Wallace
STOP!  You're Testing Too Much - Shawn WallaceSTOP!  You're Testing Too Much - Shawn Wallace
STOP! You're Testing Too Much - Shawn Wallace
 

Recently uploaded

TCS AI for Business Study – Key Findings
TCS AI for Business Study – Key FindingsTCS AI for Business Study – Key Findings
TCS AI for Business Study – Key Findings
Tata Consultancy Services
 
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
gcljeuzdu
 
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
CIOWomenMagazine
 
Case Analysis - The Sky is the Limit | Principles of Management
Case Analysis - The Sky is the Limit | Principles of ManagementCase Analysis - The Sky is the Limit | Principles of Management
Case Analysis - The Sky is the Limit | Principles of Management
A. F. M. Rubayat-Ul Jannat
 
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
juniourjohnstone
 
Founder-Game Director Workshop (Session 1)
Founder-Game Director  Workshop (Session 1)Founder-Game Director  Workshop (Session 1)
Founder-Game Director Workshop (Session 1)
Amir H. Fassihi
 
Leadership Ethics and Change, Purpose to Impact Plan
Leadership Ethics and Change, Purpose to Impact PlanLeadership Ethics and Change, Purpose to Impact Plan
Leadership Ethics and Change, Purpose to Impact Plan
Muhammad Adil Jamil
 
Senior Project and Engineering Leader Jim Smith.pdf
Senior Project and Engineering Leader Jim Smith.pdfSenior Project and Engineering Leader Jim Smith.pdf
Senior Project and Engineering Leader Jim Smith.pdf
Jim Smith
 
W.H.Bender Quote 65 - The Team Member and Guest Experience
W.H.Bender Quote 65 - The Team Member and Guest ExperienceW.H.Bender Quote 65 - The Team Member and Guest Experience
W.H.Bender Quote 65 - The Team Member and Guest Experience
William (Bill) H. Bender, FCSI
 
Training- integrated management system (iso)
Training- integrated management system (iso)Training- integrated management system (iso)
Training- integrated management system (iso)
akaash13
 

Recently uploaded (10)

TCS AI for Business Study – Key Findings
TCS AI for Business Study – Key FindingsTCS AI for Business Study – Key Findings
TCS AI for Business Study – Key Findings
 
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
一比一原版杜克大学毕业证(Duke毕业证)成绩单留信认证
 
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
Oprah Winfrey: A Leader in Media, Philanthropy, and Empowerment | CIO Women M...
 
Case Analysis - The Sky is the Limit | Principles of Management
Case Analysis - The Sky is the Limit | Principles of ManagementCase Analysis - The Sky is the Limit | Principles of Management
Case Analysis - The Sky is the Limit | Principles of Management
 
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
SOCIO-ANTHROPOLOGY FACULTY OF NURSING.....
 
Founder-Game Director Workshop (Session 1)
Founder-Game Director  Workshop (Session 1)Founder-Game Director  Workshop (Session 1)
Founder-Game Director Workshop (Session 1)
 
Leadership Ethics and Change, Purpose to Impact Plan
Leadership Ethics and Change, Purpose to Impact PlanLeadership Ethics and Change, Purpose to Impact Plan
Leadership Ethics and Change, Purpose to Impact Plan
 
Senior Project and Engineering Leader Jim Smith.pdf
Senior Project and Engineering Leader Jim Smith.pdfSenior Project and Engineering Leader Jim Smith.pdf
Senior Project and Engineering Leader Jim Smith.pdf
 
W.H.Bender Quote 65 - The Team Member and Guest Experience
W.H.Bender Quote 65 - The Team Member and Guest ExperienceW.H.Bender Quote 65 - The Team Member and Guest Experience
W.H.Bender Quote 65 - The Team Member and Guest Experience
 
Training- integrated management system (iso)
Training- integrated management system (iso)Training- integrated management system (iso)
Training- integrated management system (iso)
 

Why you should stop using the generic term “Technical Debt” and start resolving specific problems instead

  • 1. Why you should stop using the generic term Technical Debt And start resolving specific problems instead! by Oleksii Fedorov @ Pivotal 1
  • 2. Why you should stop using the generic term Technical Debt 2 This code sucks! Let me rewrite it to this new JS framework!Is it really that bad?
  • 3. Why you should stop using the generic term Technical Debt 3 “We have so much technical debt! We don’t even know how to start fixing it!”
  • 4. Why you should stop using the generic term Technical Debt 4 Why rewrite is 99.99999% a bad idea • Business valuable features will be put on hold • If not, then rewrite will have to “race” with the old system. It is going to end up with more issues. • Executing a good rewrite requires certain skills. Are you sure your team has them?
  • 5. Why you should stop using the generic term Technical Debt 5 Skills needed for a good rewrite • Good, non-over-engineering, software design skill • Skill for back-filling of tests for existing code • Test-driven development skills • Mastery of clean code • etc.
  • 6. Why you should stop using the generic term Technical Debt 6 Developer with such profile • software design skill • patient back-filling tests skill • TDD skills • Clean code • etc. Will not complain about technical debt
  • 7. Why you should stop using the generic term Technical Debt 7 They will just refactor code they touch all the time, bit by bit WHILE delivering business-valuable functionality
  • 8. Why you should stop using the generic term Technical Debt 8 “So when should we do the rewrite?”
  • 9. Why you should stop using the generic term Technical Debt 9 Almost never.
  • 10. Why you should stop using the generic term Technical Debt 10 Make incremental changes towards the goal all the time.
  • 11. Why you should stop using the generic term Technical Debt 11 “How?!”
  • 12. Why you should stop using the generic term Technical Debt 12 Ugh. I don’t know. So what is the issue you are currently facing?
  • 13. Why you should stop using the generic term Technical Debt 13 It is just so outdated
  • 14. Why you should stop using the generic term Technical Debt 14 It is so convoluted
  • 15. Why you should stop using the generic term Technical Debt 15 Hundreds of tests break on every change
  • 16. Why you should stop using the generic term Technical Debt 16 Somebody else wrote this
  • 17. Why you should stop using the generic term Technical Debt 17 This library is taking more time than saving us
  • 18. Why you should stop using the generic term Technical Debt 18 I don’t like this framework
  • 19. Why you should stop using the generic term Technical Debt 19 <INSERT YOUR OWN EXCUSE>
  • 20. Why you should stop using the generic term Technical Debt 20 …. Why is that?
  • 21. Why you should stop using the generic term Technical Debt 21 What should have been a “1-pointer” turned out to be a “3-pointer” And how is that a problem for us?
  • 22. Why you should stop using the generic term Technical Debt 22 Whenever we touch this module we deliver 10-20 bugs And how is that a problem for us?
  • 23. Why you should stop using the generic term Technical Debt 23 Now we are talking! bonus points if you could distinguish complaints from real problems.
  • 24. Why you should stop using the generic term Technical Debt 24 What just happened? 1. Talk about a specific problem at hand
 (instead of a generic complaint/feeling) 2. Figure out the reason behind the problem
 (5 WHYs) 3. Talk about real specific impacts of a problem
 (e.g., unexpected complexity slowing team down, screwing with estimates, harming mental health of team members, etc.) 4. Start tracking all of the above
  • 25. Why you should stop using the generic term Technical Debt 25 “I know which problems are serious. Now what?”
  • 26. Why you should stop using the generic term Technical Debt 26 Identify which problems are worth fixing
  • 27. Why you should stop using the generic term Technical Debt 27 Wishlist So this module, to which product area it belongs? No need to fix it now then
  • 28. Why you should stop using the generic term Technical Debt 28 Hold on. It also affects shopping cart heavily! Well. This IS a problem! Let’s decouple them
  • 29. Why you should stop using the generic term Technical Debt 29 “Product areas?”
  • 30. Why you should stop using the generic term Technical Debt 30 Yep.
 We need to think about these problems through the lenses of Product as well.
  • 31. Why you should stop using the generic term Technical Debt 31 Identify product areas that you have Wishlist Checkout Shopping cart Offers search/filter And more…
  • 32. Why you should stop using the generic term Technical Debt 32 How much more value business will gain if it could work in Area X twice as fast? Wishlist Checkout Shopping cart Offers search/filter And more… 1 4 5 5
  • 33. Why you should stop using the generic term Technical Debt 33 On a horizon, how frequent business wants to change Area X? Wishlist Checkout Shopping cart Offers search/filter And more… 1 4 5 5 frequent frequent rare maintenance
  • 34. Why you should stop using the generic term Technical Debt 34 What problems do we have in the Area X and how severe they are? Offers search/filter 4 frequent Shopping cart 5 frequent Checkout 5 rare Wishlist 1 maintenance • bad library Z • flakey test suite • etc. • too coupled
 with Wishlist • low test
 coverage • etc. • Filtering is very slow • Tests are too coupled • etc. • Very long methods • etc.
  • 35. Why you should stop using the generic term Technical Debt 35 Now you should prioritise these problems
 And start scheduling them in iterations
  • 36. Why you should stop using the generic term Technical Debt 36 And one last anecdote
  • 37. Why you should stop using the generic term Technical Debt 37 BTW, today I’ve been working on this feature for checkout product area Yeah, what’s up with it? I’ve split one of the long methods while working on it. Everybody on the team is happy!
  • 38. Why you should stop using the generic term Technical Debt 38 “And, most importantly
 I’ve understood how Checkout works much more than ever before!”
  • 39. Why you should stop using the generic term Technical Debt 39 Let’s recap 1. Track specific problems, their WHYs, and their impacts on team/business 2. Track importance of product areas 3. Be aware of how issues affect product areas 4. Prioritise most impactful problems (max ROI) and schedule 1-2 for your next iteration 5. Refactor small issues “inline” while delivering (Campsite rule: “Leave campsite cleaner than you’ve found it”)
  • 40. Why you should stop using the generic term Technical Debt 40 Thank you!
 Q & A time! Learn more about technical debt and more at ThroughLensesOfCTO.com