SlideShare a Scribd company logo
1 of 24
Download to read offline
TECHNICAL DEBT
  ... And What to Do About It!
THE SPEAKER

     Kane Mar,
     Scrumology.com

     OutSofting.com
       Scrum Training

       Scrum Coaching




Scrumology.com
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



Scrumology.com
WHY SHOULD YOU
              CARE?
     Be able to meet
     changing business
     needs

     Reduce Total Cost of
     Ownership

     Build higher quality
     products

     Keep customers happy


Scrumology.com
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




Scrumology.com
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




Scrumology.com
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

Scrumology.com
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


Scrumology.com
COST OF MAINTENANCE

                                          Cost of Maintenance
           Maintenance Cost




                              0   1   2     3    4   5    6     7   8   9

                                                Release


Scrumology.com
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)


Scrumology.com
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




Scrumology.com
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”


Scrumology.com
AVOID TECHNICAL DEBT

     Implement the Agile
     Technical practices:

       Continuous
       Integration

       Test Driven
       Development

       Refactoring

       Pair Programming

Scrumology.com
STRATEGIES FOR PAYING
       TECHNICAL DEBT
     Two strategies to
     consider:

       Highest interest rate
       first approach

       Lowest balance first
       approach




Scrumology.com
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



Scrumology.com
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


Scrumology.com
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




Scrumology.com
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



Scrumology.com
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/


Scrumology.com

More Related Content

What's hot

Scrumban - benefits of both the worlds
Scrumban - benefits of both the worldsScrumban - benefits of both the worlds
Scrumban - benefits of both the worldsXebia IT Architects
 
2020 scrum-guide-us-highlighted
2020 scrum-guide-us-highlighted2020 scrum-guide-us-highlighted
2020 scrum-guide-us-highlightedImanKatergi1
 
Agile Training - Scrum 101
Agile Training - Scrum 101Agile Training - Scrum 101
Agile Training - Scrum 101Thomas Knepper
 
A very short presentation of SCRUM
A very short presentation of SCRUMA very short presentation of SCRUM
A very short presentation of SCRUMremyguillaume
 
Improve your Product Backlog Refinement (PBR) Process
Improve your Product Backlog Refinement (PBR) ProcessImprove your Product Backlog Refinement (PBR) Process
Improve your Product Backlog Refinement (PBR) ProcessAlexey Krivitsky
 
Black Marble Introduction To Scrum
Black Marble Introduction To ScrumBlack Marble Introduction To Scrum
Black Marble Introduction To ScrumBusinessQuests
 
2020 scrum-guide | The Definitive Guide to Scrum: The Rules of the Game
2020 scrum-guide | The Definitive Guide to Scrum: The Rules of the Game2020 scrum-guide | The Definitive Guide to Scrum: The Rules of the Game
2020 scrum-guide | The Definitive Guide to Scrum: The Rules of the GameLeanwisdom
 
Certified Scrum Master Training - IAL Global
Certified Scrum Master Training - IAL GlobalCertified Scrum Master Training - IAL Global
Certified Scrum Master Training - IAL GlobalIAL Global
 
The things we weren't told about Scrum
The things we weren't told about ScrumThe things we weren't told about Scrum
The things we weren't told about ScrumTim Gregory
 
Get Agile - Scrum for UX, Design and Development
Get Agile - Scrum for UX, Design and DevelopmentGet Agile - Scrum for UX, Design and Development
Get Agile - Scrum for UX, Design and DevelopmentPieter Jongerius
 
Scrum overview - Animated - Scott Emery 2014
Scrum overview - Animated - Scott Emery 2014Scrum overview - Animated - Scott Emery 2014
Scrum overview - Animated - Scott Emery 2014ssemerys
 
Introduction to Project Management with Scrum
Introduction to Project Management with ScrumIntroduction to Project Management with Scrum
Introduction to Project Management with ScrumPierre E. NEIS
 
Introduction into Scrum
Introduction into ScrumIntroduction into Scrum
Introduction into Scrummsorin
 
Big rewrites without big risks
Big rewrites without big risksBig rewrites without big risks
Big rewrites without big risksFlavius Stef
 
7 scrum anti pattern dalam implementasi scrum board #global azure19 bdg
7 scrum anti pattern dalam implementasi scrum board #global azure19 bdg7 scrum anti pattern dalam implementasi scrum board #global azure19 bdg
7 scrum anti pattern dalam implementasi scrum board #global azure19 bdgAria Wardhana
 

What's hot (20)

Scrumban - benefits of both the worlds
Scrumban - benefits of both the worldsScrumban - benefits of both the worlds
Scrumban - benefits of both the worlds
 
2020 scrum-guide-us-highlighted
2020 scrum-guide-us-highlighted2020 scrum-guide-us-highlighted
2020 scrum-guide-us-highlighted
 
Agile Training - Scrum 101
Agile Training - Scrum 101Agile Training - Scrum 101
Agile Training - Scrum 101
 
A very short presentation of SCRUM
A very short presentation of SCRUMA very short presentation of SCRUM
A very short presentation of SCRUM
 
Improve your Product Backlog Refinement (PBR) Process
Improve your Product Backlog Refinement (PBR) ProcessImprove your Product Backlog Refinement (PBR) Process
Improve your Product Backlog Refinement (PBR) Process
 
Agile Coaching Canvas
Agile Coaching CanvasAgile Coaching Canvas
Agile Coaching Canvas
 
Black Marble Introduction To Scrum
Black Marble Introduction To ScrumBlack Marble Introduction To Scrum
Black Marble Introduction To Scrum
 
2020 scrum-guide | The Definitive Guide to Scrum: The Rules of the Game
2020 scrum-guide | The Definitive Guide to Scrum: The Rules of the Game2020 scrum-guide | The Definitive Guide to Scrum: The Rules of the Game
2020 scrum-guide | The Definitive Guide to Scrum: The Rules of the Game
 
Certified Scrum Master Training - IAL Global
Certified Scrum Master Training - IAL GlobalCertified Scrum Master Training - IAL Global
Certified Scrum Master Training - IAL Global
 
The things we weren't told about Scrum
The things we weren't told about ScrumThe things we weren't told about Scrum
The things we weren't told about Scrum
 
Scrum Basics
Scrum BasicsScrum Basics
Scrum Basics
 
7 Obstacles To Enterprise Agility
7 Obstacles To Enterprise Agility7 Obstacles To Enterprise Agility
7 Obstacles To Enterprise Agility
 
Get Agile - Scrum for UX, Design and Development
Get Agile - Scrum for UX, Design and DevelopmentGet Agile - Scrum for UX, Design and Development
Get Agile - Scrum for UX, Design and Development
 
Scrum by picture
Scrum by pictureScrum by picture
Scrum by picture
 
Scrum overview - Animated - Scott Emery 2014
Scrum overview - Animated - Scott Emery 2014Scrum overview - Animated - Scott Emery 2014
Scrum overview - Animated - Scott Emery 2014
 
Introduction to Project Management with Scrum
Introduction to Project Management with ScrumIntroduction to Project Management with Scrum
Introduction to Project Management with Scrum
 
Introduction into Scrum
Introduction into ScrumIntroduction into Scrum
Introduction into Scrum
 
Introduction to Scrum - Agile Methods
Introduction to Scrum - Agile MethodsIntroduction to Scrum - Agile Methods
Introduction to Scrum - Agile Methods
 
Big rewrites without big risks
Big rewrites without big risksBig rewrites without big risks
Big rewrites without big risks
 
7 scrum anti pattern dalam implementasi scrum board #global azure19 bdg
7 scrum anti pattern dalam implementasi scrum board #global azure19 bdg7 scrum anti pattern dalam implementasi scrum board #global azure19 bdg
7 scrum anti pattern dalam implementasi scrum board #global azure19 bdg
 

Similar to QCon Beijing - April 2010

Kane debt
Kane debtKane debt
Kane debtd0nn9n
 
Brisbane Scrum Users Group.2009 Feb25
Brisbane Scrum Users Group.2009 Feb25Brisbane Scrum Users Group.2009 Feb25
Brisbane Scrum Users Group.2009 Feb25Kane Mar
 
Agile Eng Practices Agilesparks
Agile Eng Practices AgilesparksAgile Eng Practices Agilesparks
Agile Eng Practices AgilesparksYuval Yeret
 
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 TestingTurnKey Solutions
 
Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSauce Labs
 
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.Worksoft
 
Things To Unlearn In Software Development
Things To Unlearn In Software DevelopmentThings To Unlearn In Software Development
Things To Unlearn In Software DevelopmentAlexey Krivitsky
 
Base Logic Inc Solution Offering
Base Logic Inc Solution OfferingBase Logic Inc Solution Offering
Base Logic Inc Solution OfferingMick Knutson
 
SRE - drupal day aveiro 2016
SRE - drupal day aveiro 2016SRE - drupal day aveiro 2016
SRE - drupal day aveiro 2016Ricardo Amaro
 
Discover how Adidas is using data science to deliver third-party governance
Discover how Adidas is using data science to deliver third-party governanceDiscover how Adidas is using data science to deliver third-party governance
Discover how Adidas is using data science to deliver third-party governanceKristian Sköld
 
Barrick simulation with mimic presentation
Barrick simulation with mimic presentationBarrick simulation with mimic presentation
Barrick simulation with mimic presentationMYNAH Technologies
 
Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23Brendan Connolly
 
Exploratory Testing As Code
Exploratory Testing As CodeExploratory Testing As Code
Exploratory Testing As CodeBrendan Connolly
 
Managing Iterative Development Using Scrum
Managing Iterative Development Using ScrumManaging Iterative Development Using Scrum
Managing Iterative Development Using ScrumKamalika Guha Roy
 
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 @ BoxPeter White
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debtFadi Stephan
 

Similar to QCon Beijing - April 2010 (20)

Kane debt
Kane debtKane debt
Kane debt
 
Brisbane Scrum Users Group.2009 Feb25
Brisbane Scrum Users Group.2009 Feb25Brisbane Scrum Users Group.2009 Feb25
Brisbane Scrum Users Group.2009 Feb25
 
Agile Eng Practices Agilesparks
Agile Eng Practices AgilesparksAgile Eng Practices Agilesparks
Agile Eng Practices Agilesparks
 
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
 
Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless Tools
 
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.
 
Things To Unlearn In Software Development
Things To Unlearn In Software DevelopmentThings To Unlearn In Software Development
Things To Unlearn In Software Development
 
The Business Value of Data Modeling
The Business Value of Data ModelingThe Business Value of Data Modeling
The Business Value of Data Modeling
 
Puppet on a string
Puppet on a stringPuppet on a string
Puppet on a string
 
Base Logic Inc Solution Offering
Base Logic Inc Solution OfferingBase Logic Inc Solution Offering
Base Logic Inc Solution Offering
 
SRE - drupal day aveiro 2016
SRE - drupal day aveiro 2016SRE - drupal day aveiro 2016
SRE - drupal day aveiro 2016
 
Discover how Adidas is using data science to deliver third-party governance
Discover how Adidas is using data science to deliver third-party governanceDiscover how Adidas is using data science to deliver third-party governance
Discover how Adidas is using data science to deliver third-party governance
 
Barrick simulation with mimic presentation
Barrick simulation with mimic presentationBarrick simulation with mimic presentation
Barrick simulation with mimic presentation
 
Introduction to Chaos Engineering
Introduction to Chaos EngineeringIntroduction to Chaos Engineering
Introduction to Chaos Engineering
 
Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23Exploratory Testing As Code Eurostar23
Exploratory Testing As Code Eurostar23
 
Exploratory Testing As Code
Exploratory Testing As CodeExploratory Testing As Code
Exploratory Testing As Code
 
FMEA-Intro.ppt
FMEA-Intro.pptFMEA-Intro.ppt
FMEA-Intro.ppt
 
Managing Iterative Development Using Scrum
Managing Iterative Development Using ScrumManaging Iterative Development Using Scrum
Managing Iterative Development Using Scrum
 
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
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 

More from Kane Mar

Why scrum and Agile
Why scrum and AgileWhy scrum and Agile
Why scrum and AgileKane Mar
 
A short history of Agile software development
A short history of Agile software developmentA short history of Agile software development
A short history of Agile software developmentKane Mar
 
Introducing Scrum to an Organization
Introducing Scrum to an OrganizationIntroducing Scrum to an Organization
Introducing Scrum to an OrganizationKane Mar
 
Agile Games
Agile GamesAgile Games
Agile GamesKane Mar
 
Agile Team Games
Agile Team GamesAgile Team Games
Agile Team GamesKane Mar
 
Introduction To Agile Estimating and Planning
Introduction To Agile Estimating and PlanningIntroduction To Agile Estimating and Planning
Introduction To Agile Estimating and PlanningKane Mar
 
What Is Scrum?
What Is Scrum?What Is Scrum?
What Is Scrum?Kane Mar
 

More from Kane Mar (7)

Why scrum and Agile
Why scrum and AgileWhy scrum and Agile
Why scrum and Agile
 
A short history of Agile software development
A short history of Agile software developmentA short history of Agile software development
A short history of Agile software development
 
Introducing Scrum to an Organization
Introducing Scrum to an OrganizationIntroducing Scrum to an Organization
Introducing Scrum to an Organization
 
Agile Games
Agile GamesAgile Games
Agile Games
 
Agile Team Games
Agile Team GamesAgile Team Games
Agile Team Games
 
Introduction To Agile Estimating and Planning
Introduction To Agile Estimating and PlanningIntroduction To Agile Estimating and Planning
Introduction To Agile Estimating and Planning
 
What Is Scrum?
What Is Scrum?What Is Scrum?
What Is Scrum?
 

Recently uploaded

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Recently uploaded (20)

Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

QCon Beijing - April 2010

  • 1. TECHNICAL DEBT ... And What to Do About It!
  • 2. THE SPEAKER Kane Mar, Scrumology.com OutSofting.com Scrum Training Scrum Coaching Scrumology.com
  • 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 Scrumology.com
  • 4. WHY SHOULD YOU CARE? Be able to meet changing business needs Reduce Total Cost of Ownership Build higher quality products Keep customers happy Scrumology.com
  • 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 Scrumology.com
  • 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 Scrumology.com
  • 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 Scrumology.com
  • 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 Scrumology.com
  • 10. COST OF MAINTENANCE Cost of Maintenance Maintenance Cost 0 1 2 3 4 5 6 7 8 9 Release Scrumology.com
  • 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) Scrumology.com
  • 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 Scrumology.com
  • 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” Scrumology.com
  • 16. AVOID TECHNICAL DEBT Implement the Agile Technical practices: Continuous Integration Test Driven Development Refactoring Pair Programming Scrumology.com
  • 17. STRATEGIES FOR PAYING TECHNICAL DEBT Two strategies to consider: Highest interest rate first approach Lowest balance first approach Scrumology.com
  • 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 Scrumology.com
  • 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 Scrumology.com
  • 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 Scrumology.com
  • 23. 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 Scrumology.com
  • 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/ Scrumology.com