SlideShare uma empresa Scribd logo
1 de 24
Baixar para ler offline
TECHNICAL DEBT
  ... And What to Do About It!
THE SPEAKER

Kane Mar,
Scrumology.com

OutSofting.com
  Scrum Training

  Scrum Coaching
DO YOU KNOW THESE
     PROBLEMS?
Your team cannot change the system quick enough to
meet changing business needs

Your code is so complex only a few people in the
company are allowed to make changes

Your spend more time fixing defects introduced by
new functionality

You have recently re-platformed to newer technology
WHY SHOULD YOU
         CARE?
Be able to meet
changing business
needs

Reduce Total Cost of
Ownership

Build higher quality
products

Keep customers happy
WHAT IS TECHNICAL DEBT

The concept of software complexity as debt was
originally coined by Ward Cunningham in an
experience report for OOPSLA ‘92 (*)

Reference: http://c2.com/doc/oopsla92.html
WHAT IS TECHNICAL DEBT?

A big pile of deferred work can gum up a project, yet
many of the items on the list don't appear on a project
team's radar, especially if the focus is primarily on
new product features. Yet removing accumulated
sludge needs to be accounted for in planning!

Therefore: Make the debt visible. Keep an explicit list
Technical Debt
HOW DOES TECHNICAL
   DEBT HAPPEN?
By not enforcing high
quality standards

Cutting corners to
achieve a higher
velocity to meet
timelines

As the velocity of
system goes down, even
more corners are cut
COST OF MAINTENANCE

                                      Product Burndown
                    100

                     90

                     80
  Product Backlog



                     70

                     60

                     50

                     40

                     30

                     20

                     10

                      0
                          0   1   2   3   4       5       6   7   8   9

                                              Iteration
COST OF MAINTENANCE

                                  Cost of Maintenance
   Maintenance Cost




                      0   1   2     3    4   5    6     7   8   9

                                        Release
SIGNS OF TECHNICAL
        DEBT
The code is considered part of a core or legacy system

There is either no testing, or minimal testing
surrounding the code ... the legacy system is not in a
know state

There is highly compartmentalized knowledge
regarding the core/legacy system, and it may be
supported by only one or two people in the company
(over specialization)
SIGNS OF TECHNICAL
        DEBT
It takes as long to fix defects caused be adding new
functionality, as it does to add the new functionality

Re-platforming ... and then repeat the mistakes of the
past
AVOID TECHNICAL DEBT

Development teams must curb over-optimism in
assessing availability and capacity

Management redirects attention from applying pressure
to removing organizational impediments to progress

Product Owners understand the iron triangle,
ownership of risks, and impact of cutting quality

ScrumMaster must prevent demonstration of any work
that is not “done”
AVOID TECHNICAL DEBT

Implement the Agile
Technical practices:

  Continuous
  Integration

  Test Driven
  Development

  Refactoring

  Pair Programming
STRATEGIES FOR PAYING
   TECHNICAL DEBT
Two strategies to
consider:

  Highest interest rate
  first approach

  Lowest balance first
  approach
PAYING OFF TECHNICAL
        DEBT
Described by Michael Feathers in “Working
Effectively with Legacy code”

  Start by introducing Continuous Integration

  Write Automated Tests around customer reported
  defects

Over a period of time a testing framework will be
built up around the most brittle code
AND AVOID THIS ANTI-
      PATTERN
There is a temptation to try and write a
comprehensive testing framework around the entire
product, but:

  This does not address the defects that the customer
  views as most important

  You may run out of money before you complete
  the framework, and

  You are not delivering new business value
IN CLOSING ...

By focusing on reducing technical debt, we can:

  Better meet changing business needs

  reduce Total Cost of Ownership

  Build higher quality products

  Keep our customers happy
THANK YOU!
REFERENCES
http://www.infoq.com/presentations/agile-quality-canary-
coalmine

http://martinfowler.com/articles/continuousIntegration.html

“Working Effectively with Legacy code,” by Michael
Feathers

“Test Driven Development: By Example”, by Kent
Beck
PHOTOS CREDITS


   http://www.flicker.com/photos/yujin_it
                                                                                               http://www.flickr.com/photos/majamom/
                                                 http://www.flickr.com/photos/slayer23/




http://www.flickr.com/photos/44442915@N00/                                                      http://www.flickr.com/photos/eivindw/
                                            http://www.flickr.com/photos/library_of_congress/




   http://www.flickr.com/photos/walkn/         http://www.flickr.com/photos/29143375@N05/        http://www.flicker.com/photos/vernhart/

Mais conteúdo relacionado

Destaque (8)

Imatges introducció
Imatges introduccióImatges introducció
Imatges introducció
 
SS file
SS fileSS file
SS file
 
Maapu Vechutaayan Aapu #VVel http://q.4rd.ca/aaacwS
Maapu Vechutaayan Aapu #VVel http://q.4rd.ca/aaacwSMaapu Vechutaayan Aapu #VVel http://q.4rd.ca/aaacwS
Maapu Vechutaayan Aapu #VVel http://q.4rd.ca/aaacwS
 
Como se mide la calidad de la proteína
Como se mide la calidad de la proteína Como se mide la calidad de la proteína
Como se mide la calidad de la proteína
 
"Manos a la Obra"
"Manos a la Obra""Manos a la Obra"
"Manos a la Obra"
 
Prologue TDL 2014
Prologue TDL 2014Prologue TDL 2014
Prologue TDL 2014
 
1st ave business
1st ave business1st ave business
1st ave business
 
Теорія обмежень (TOC), застосування в медицині
Теорія обмежень (TOC), застосування в медицині Теорія обмежень (TOC), застосування в медицині
Теорія обмежень (TOC), застосування в медицині
 

Semelhante a Kane debt

QCon Beijing - April 2010
QCon Beijing - April 2010QCon Beijing - April 2010
QCon Beijing - April 2010
Kane Mar
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
Fadi Stephan
 

Semelhante a Kane debt (20)

QCon Beijing - April 2010
QCon Beijing - April 2010QCon Beijing - April 2010
QCon Beijing - April 2010
 
Brisbane Scrum Users Group.2009 Feb25
Brisbane Scrum Users Group.2009 Feb25Brisbane Scrum Users Group.2009 Feb25
Brisbane Scrum Users Group.2009 Feb25
 
Shift Left Quality Assurance: How to do it. Why it matters.
Shift Left Quality Assurance: How to do it. Why it matters.Shift Left Quality Assurance: How to do it. Why it matters.
Shift Left Quality Assurance: How to do it. Why it matters.
 
Service assurance with predictive analytics
Service assurance with predictive analyticsService assurance with predictive analytics
Service assurance with predictive analytics
 
Agile Eng Practices Agilesparks
Agile Eng Practices AgilesparksAgile Eng Practices Agilesparks
Agile Eng Practices Agilesparks
 
Puppet on a string
Puppet on a stringPuppet on a string
Puppet on a string
 
JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"JavaOne 2016 "Java, Microservices, Cloud and Containers"
JavaOne 2016 "Java, Microservices, Cloud and Containers"
 
OpenText Live: Modeling your business processes to new ways of working
OpenText Live: Modeling your business processes to new ways of workingOpenText Live: Modeling your business processes to new ways of working
OpenText Live: Modeling your business processes to new ways of working
 
5 Steps to Get Precise SAP Impact-Based Testing
5 Steps to Get Precise SAP Impact-Based Testing5 Steps to Get Precise SAP Impact-Based Testing
5 Steps to Get Precise SAP Impact-Based Testing
 
Business Plan Sample By Alan Ray
Business Plan Sample By Alan RayBusiness Plan Sample By Alan Ray
Business Plan Sample By Alan Ray
 
The Business Value of Data Modeling
The Business Value of Data ModelingThe Business Value of Data Modeling
The Business Value of Data Modeling
 
PQ document
PQ documentPQ document
PQ document
 
Tackling technical debt
Tackling technical debtTackling technical debt
Tackling technical debt
 
Automation World: Testing and Evaluation Improve Product Quality for Manufact...
Automation World: Testing and Evaluation Improve Product Quality for Manufact...Automation World: Testing and Evaluation Improve Product Quality for Manufact...
Automation World: Testing and Evaluation Improve Product Quality for Manufact...
 
IRJET- Improving Quality and Productivity in Switchgear Tank Welding through ...
IRJET- Improving Quality and Productivity in Switchgear Tank Welding through ...IRJET- Improving Quality and Productivity in Switchgear Tank Welding through ...
IRJET- Improving Quality and Productivity in Switchgear Tank Welding through ...
 
SVCC 2011 - 0 - 60: QA Automation @ Box
SVCC 2011 - 0 - 60: QA Automation @ BoxSVCC 2011 - 0 - 60: QA Automation @ Box
SVCC 2011 - 0 - 60: QA Automation @ Box
 
FMEA-Intro.ppt
FMEA-Intro.pptFMEA-Intro.ppt
FMEA-Intro.ppt
 
Eliminating Critical Quality Defects at a Component Manufacturer
Eliminating Critical Quality Defects at a Component ManufacturerEliminating Critical Quality Defects at a Component Manufacturer
Eliminating Critical Quality Defects at a Component Manufacturer
 
JavaOne 2015 Devops and the Darkside CON6447
JavaOne 2015 Devops and the Darkside CON6447JavaOne 2015 Devops and the Darkside CON6447
JavaOne 2015 Devops and the Darkside CON6447
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 

Mais de d0nn9n

腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
d0nn9n
 
腾讯大讲堂:55 企业法律风险防范
腾讯大讲堂:55 企业法律风险防范腾讯大讲堂:55 企业法律风险防范
腾讯大讲堂:55 企业法律风险防范
d0nn9n
 
腾讯大讲堂:56 qzone安全之路
腾讯大讲堂:56 qzone安全之路腾讯大讲堂:56 qzone安全之路
腾讯大讲堂:56 qzone安全之路
d0nn9n
 
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
d0nn9n
 
腾讯大讲堂:57 超级qq的千万之路
腾讯大讲堂:57 超级qq的千万之路 腾讯大讲堂:57 超级qq的千万之路
腾讯大讲堂:57 超级qq的千万之路
d0nn9n
 
蔡学镛 Rebol漫谈
蔡学镛   Rebol漫谈蔡学镛   Rebol漫谈
蔡学镛 Rebol漫谈
d0nn9n
 
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
d0nn9n
 
Yanggang wps
Yanggang wpsYanggang wps
Yanggang wps
d0nn9n
 
熊节 - 软件工厂的精益之路
熊节 - 软件工厂的精益之路熊节 - 软件工厂的精益之路
熊节 - 软件工厂的精益之路
d0nn9n
 
谢恩伟 - 微软在云端
谢恩伟 - 微软在云端谢恩伟 - 微软在云端
谢恩伟 - 微软在云端
d0nn9n
 
去哪儿平台技术
去哪儿平台技术去哪儿平台技术
去哪儿平台技术
d0nn9n
 
吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIA吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIA
d0nn9n
 
Tom - Scrum
Tom - ScrumTom - Scrum
Tom - Scrum
d0nn9n
 
Tim - FSharp
Tim - FSharpTim - FSharp
Tim - FSharp
d0nn9n
 
Tiger oracle
Tiger oracleTiger oracle
Tiger oracle
d0nn9n
 
Paulking groovy
Paulking groovyPaulking groovy
Paulking groovy
d0nn9n
 
Paulking dlp
Paulking dlpPaulking dlp
Paulking dlp
d0nn9n
 
Patrick jcp
Patrick jcpPatrick jcp
Patrick jcp
d0nn9n
 
Nick twitter
Nick twitterNick twitter
Nick twitter
d0nn9n
 
Marc facebook
Marc facebookMarc facebook
Marc facebook
d0nn9n
 

Mais de d0nn9n (20)

腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
腾讯大讲堂:62 拇指下的精彩(手机qq交互设计经验分享)
 
腾讯大讲堂:55 企业法律风险防范
腾讯大讲堂:55 企业法律风险防范腾讯大讲堂:55 企业法律风险防范
腾讯大讲堂:55 企业法律风险防范
 
腾讯大讲堂:56 qzone安全之路
腾讯大讲堂:56 qzone安全之路腾讯大讲堂:56 qzone安全之路
腾讯大讲堂:56 qzone安全之路
 
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
腾讯大讲堂:59 数据蕴含商机,挖掘决胜千里
 
腾讯大讲堂:57 超级qq的千万之路
腾讯大讲堂:57 超级qq的千万之路 腾讯大讲堂:57 超级qq的千万之路
腾讯大讲堂:57 超级qq的千万之路
 
蔡学镛 Rebol漫谈
蔡学镛   Rebol漫谈蔡学镛   Rebol漫谈
蔡学镛 Rebol漫谈
 
赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展赵泽欣 - 淘宝网前端应用与发展
赵泽欣 - 淘宝网前端应用与发展
 
Yanggang wps
Yanggang wpsYanggang wps
Yanggang wps
 
熊节 - 软件工厂的精益之路
熊节 - 软件工厂的精益之路熊节 - 软件工厂的精益之路
熊节 - 软件工厂的精益之路
 
谢恩伟 - 微软在云端
谢恩伟 - 微软在云端谢恩伟 - 微软在云端
谢恩伟 - 微软在云端
 
去哪儿平台技术
去哪儿平台技术去哪儿平台技术
去哪儿平台技术
 
吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIA吴磊 - Silverlight企业级RIA
吴磊 - Silverlight企业级RIA
 
Tom - Scrum
Tom - ScrumTom - Scrum
Tom - Scrum
 
Tim - FSharp
Tim - FSharpTim - FSharp
Tim - FSharp
 
Tiger oracle
Tiger oracleTiger oracle
Tiger oracle
 
Paulking groovy
Paulking groovyPaulking groovy
Paulking groovy
 
Paulking dlp
Paulking dlpPaulking dlp
Paulking dlp
 
Patrick jcp
Patrick jcpPatrick jcp
Patrick jcp
 
Nick twitter
Nick twitterNick twitter
Nick twitter
 
Marc facebook
Marc facebookMarc facebook
Marc facebook
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 

Kane debt

  • 1. TECHNICAL DEBT ... And What to Do About It!
  • 3. DO YOU KNOW THESE PROBLEMS? Your team cannot change the system quick enough to meet changing business needs Your code is so complex only a few people in the company are allowed to make changes Your spend more time fixing defects introduced by new functionality You have recently re-platformed to newer technology
  • 4. WHY SHOULD YOU CARE? Be able to meet changing business needs Reduce Total Cost of Ownership Build higher quality products Keep customers happy
  • 5.
  • 6. WHAT IS TECHNICAL DEBT The concept of software complexity as debt was originally coined by Ward Cunningham in an experience report for OOPSLA ‘92 (*) Reference: http://c2.com/doc/oopsla92.html
  • 7. WHAT IS TECHNICAL DEBT? A big pile of deferred work can gum up a project, yet many of the items on the list don't appear on a project team's radar, especially if the focus is primarily on new product features. Yet removing accumulated sludge needs to be accounted for in planning! Therefore: Make the debt visible. Keep an explicit list Technical Debt
  • 8. HOW DOES TECHNICAL DEBT HAPPEN? By not enforcing high quality standards Cutting corners to achieve a higher velocity to meet timelines As the velocity of system goes down, even more corners are cut
  • 9. COST OF MAINTENANCE Product Burndown 100 90 80 Product Backlog 70 60 50 40 30 20 10 0 0 1 2 3 4 5 6 7 8 9 Iteration
  • 10. COST OF MAINTENANCE Cost of Maintenance Maintenance Cost 0 1 2 3 4 5 6 7 8 9 Release
  • 11.
  • 12. SIGNS OF TECHNICAL DEBT The code is considered part of a core or legacy system There is either no testing, or minimal testing surrounding the code ... the legacy system is not in a know state There is highly compartmentalized knowledge regarding the core/legacy system, and it may be supported by only one or two people in the company (over specialization)
  • 13. SIGNS OF TECHNICAL DEBT It takes as long to fix defects caused be adding new functionality, as it does to add the new functionality Re-platforming ... and then repeat the mistakes of the past
  • 14.
  • 15. AVOID TECHNICAL DEBT Development teams must curb over-optimism in assessing availability and capacity Management redirects attention from applying pressure to removing organizational impediments to progress Product Owners understand the iron triangle, ownership of risks, and impact of cutting quality ScrumMaster must prevent demonstration of any work that is not “done”
  • 16. AVOID TECHNICAL DEBT Implement the Agile Technical practices: Continuous Integration Test Driven Development Refactoring Pair Programming
  • 17. STRATEGIES FOR PAYING TECHNICAL DEBT Two strategies to consider: Highest interest rate first approach Lowest balance first approach
  • 18. PAYING OFF TECHNICAL DEBT Described by Michael Feathers in “Working Effectively with Legacy code” Start by introducing Continuous Integration Write Automated Tests around customer reported defects Over a period of time a testing framework will be built up around the most brittle code
  • 19.
  • 20. AND AVOID THIS ANTI- PATTERN There is a temptation to try and write a comprehensive testing framework around the entire product, but: This does not address the defects that the customer views as most important You may run out of money before you complete the framework, and You are not delivering new business value
  • 21. IN CLOSING ... By focusing on reducing technical debt, we can: Better meet changing business needs reduce Total Cost of Ownership Build higher quality products Keep our customers happy
  • 24. PHOTOS CREDITS http://www.flicker.com/photos/yujin_it http://www.flickr.com/photos/majamom/ http://www.flickr.com/photos/slayer23/ http://www.flickr.com/photos/44442915@N00/ http://www.flickr.com/photos/eivindw/ http://www.flickr.com/photos/library_of_congress/ http://www.flickr.com/photos/walkn/ http://www.flickr.com/photos/29143375@N05/ http://www.flicker.com/photos/vernhart/