SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Technical Debt and What to
                  do about it.


 Kane Mar
 Certified Scrum Trainer and
 Coach (CST and CSC)

 http://KaneMar.com

 Kane.Mar@gmail.com
About Me, About You
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



During the planning or execution of a software
project, decisions are made to defer necessary work:
   It's too late in the LifeCycle? to upgrade to the new release of the
   compiler. We'll do it next time around.

   We're not completely conforming to the UserInterface guidelines.
   We'll get to it next time.

   We don't have time to uncruft (refactor, see RefactorMercilessly)
   the hyper-widget code. Punt until next time.
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
Quality and Velocity
                                       Correlation between declining quality and velocity
50.0

37.5                       % Maintenance
                           Velocity of New Development (PBI/$100k)
25.0

12.5

               0
                    1              2                    3                            4       5       6
                                                            Category Title



                                                     New Requirements Capability
               2000

               1500
Requirements




               1000

                   500

                     0
                          1               2                 3                    4       5       6
                                                                Category Title
The story of a burger ...
How does “Technical Debt”
                  occur?

By not enforcing high quality standards in the
definition of “done.”

Cutting corners to achieve a higher velocity and meet
impossible timelines leads to build up of low quality,
unmaintainable code.

Death spiral: As the maximum velocity of system goes
down, even more corners are cut to compensate until
the velocity approaches zero.
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

There is highly compartmentized 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



The legacy system is not in a know state

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
What to do about Technical
                         Debt


 Avoid accumulating technical debt

 Pay it off over time (mortgage)
    “Working with legacy code” by Michael Feathers

 An anti-pattern worth mentioning
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”
Paying off Technical Debt


Described by Michael Feathers in “Working Effectively
with Legacy code”
   Start by introducing Continuous Integration

   Write 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
   Does not address the defects that the customer views as most
   important

   May run out of money before you complete the framework
Thank you!

Mais conteúdo relacionado

Destaque

QCon Beijing - April 2010
QCon Beijing - April 2010QCon Beijing - April 2010
QCon Beijing - April 2010
Kane Mar
 
Europa Del Settecento
Europa Del SettecentoEuropa Del Settecento
Europa Del Settecento
mapaa
 
Power Point Polmoni
Power Point PolmoniPower Point Polmoni
Power Point Polmoni
mapaa
 
Power Point Polmoni
Power Point PolmoniPower Point Polmoni
Power Point Polmoni
mapaa
 
La Guerra Del Nord
La Guerra Del NordLa Guerra Del Nord
La Guerra Del Nord
mapaa
 
Europa Del Settecento
Europa Del SettecentoEuropa Del Settecento
Europa Del Settecento
mapaa
 
Proteine
ProteineProteine
Proteine
mapaa
 

Destaque (19)

Basketball
BasketballBasketball
Basketball
 
QCon Beijing - April 2010
QCon Beijing - April 2010QCon Beijing - April 2010
QCon Beijing - April 2010
 
Europa Del Settecento
Europa Del SettecentoEuropa Del Settecento
Europa Del Settecento
 
Power Point Polmoni
Power Point PolmoniPower Point Polmoni
Power Point Polmoni
 
Power Point Polmoni
Power Point PolmoniPower Point Polmoni
Power Point Polmoni
 
La Guerra Del Nord
La Guerra Del NordLa Guerra Del Nord
La Guerra Del Nord
 
Basketball
BasketballBasketball
Basketball
 
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
 
Why Scrum?
Why Scrum?Why Scrum?
Why Scrum?
 
Introduction To Agile Estimating and Planning
Introduction To Agile Estimating and PlanningIntroduction To Agile Estimating and Planning
Introduction To Agile Estimating and Planning
 
Scrum Gathering Shanghai - April 2010
Scrum Gathering Shanghai - April 2010Scrum Gathering Shanghai - April 2010
Scrum Gathering Shanghai - April 2010
 
Continuous Deployment
Continuous DeploymentContinuous Deployment
Continuous Deployment
 
Europa Del Settecento
Europa Del SettecentoEuropa Del Settecento
Europa Del Settecento
 
Introducing Scrum to an Organization
Introducing Scrum to an OrganizationIntroducing Scrum to an Organization
Introducing Scrum to an Organization
 
Fashion is art.
Fashion is art.Fashion is art.
Fashion is art.
 
Agile Team Games
Agile Team GamesAgile Team Games
Agile Team Games
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Agile Games
Agile GamesAgile Games
Agile Games
 
Proteine
ProteineProteine
Proteine
 

Semelhante a Brisbane Scrum Users Group.2009 Feb25

Kane debt
Kane debtKane debt
Kane debt
d0nn9n
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
Fadi Stephan
 
Barrick simulation with mimic presentation
Barrick simulation with mimic presentationBarrick simulation with mimic presentation
Barrick simulation with mimic presentation
MYNAH Technologies
 

Semelhante a Brisbane Scrum Users Group.2009 Feb25 (20)

Kane debt
Kane debtKane debt
Kane debt
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
 
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
Building an Asynchronous Application Framework with Python and Pulsar - Pulsa...
 
Pragmatic Architecture in .NET
Pragmatic Architecture in .NETPragmatic Architecture in .NET
Pragmatic Architecture in .NET
 
Puppet on a string
Puppet on a stringPuppet on a string
Puppet on a string
 
Servicing Financial Services Applications
Servicing Financial Services ApplicationsServicing Financial Services Applications
Servicing Financial Services Applications
 
Improving the Quality of Existing Software
Improving the Quality of Existing SoftwareImproving the Quality of Existing Software
Improving the Quality of Existing Software
 
1 Billion Events per Day, Israel 3rd Java Technology Day, June 22, 2009
1 Billion Events per Day, Israel 3rd Java Technology Day, June 22, 20091 Billion Events per Day, Israel 3rd Java Technology Day, June 22, 2009
1 Billion Events per Day, Israel 3rd Java Technology Day, June 22, 2009
 
Data Vault 2.0 Demystified: East Coast Tour
Data Vault 2.0 Demystified: East Coast TourData Vault 2.0 Demystified: East Coast Tour
Data Vault 2.0 Demystified: East Coast Tour
 
How your very large databases can work in the cloud computing world?
How your very large databases can work in the cloud computing world?How your very large databases can work in the cloud computing world?
How your very large databases can work in the cloud computing world?
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...
 
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...Measure and Increase Developer Productivity with Help of Serverless AWS Commu...
Measure and Increase Developer Productivity with Help of Serverless AWS Commu...
 
CloudCamp London 3 - SymetrIQ - Phil Huber
CloudCamp London 3 - SymetrIQ -  Phil HuberCloudCamp London 3 - SymetrIQ -  Phil Huber
CloudCamp London 3 - SymetrIQ - Phil Huber
 
Base Logic Inc Solution Offering
Base Logic Inc Solution OfferingBase Logic Inc Solution Offering
Base Logic Inc Solution Offering
 
Performance Optimization: Incorporating Database and Code Optimzitation Into ...
Performance Optimization: Incorporating Database and Code Optimzitation Into ...Performance Optimization: Incorporating Database and Code Optimzitation Into ...
Performance Optimization: Incorporating Database and Code Optimzitation Into ...
 
Barrick simulation with mimic presentation
Barrick simulation with mimic presentationBarrick simulation with mimic presentation
Barrick simulation with mimic presentation
 
VMworld 2013: SDDC IT Operations Transformation: Multi-customer Lessons Learned
VMworld 2013: SDDC IT Operations Transformation:  Multi-customer Lessons LearnedVMworld 2013: SDDC IT Operations Transformation:  Multi-customer Lessons Learned
VMworld 2013: SDDC IT Operations Transformation: Multi-customer Lessons Learned
 
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPMAMIS 25: DevOps Best Practice for Oracle SOA and BPM
AMIS 25: DevOps Best Practice for Oracle SOA and BPM
 
Introduction to Chaos Engineering
Introduction to Chaos EngineeringIntroduction to Chaos Engineering
Introduction to Chaos Engineering
 

Último

Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in PakistanChallenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
vineshkumarsajnani12
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
daisycvs
 
Mckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for ViewingMckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for Viewing
Nauman Safdar
 
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan CytotecJual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
ZurliaSoop
 

Último (20)

Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGBerhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...
joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...joint cost.pptx  COST ACCOUNTING  Sixteenth Edition                          ...
joint cost.pptx COST ACCOUNTING Sixteenth Edition ...
 
Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1
 
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...
Ooty Call Gril 80022//12248 Only For Sex And High Profile Best Gril Sex Avail...
 
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGParadip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Paradip CALL GIRL❤7091819311❤CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in PakistanChallenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
Challenges and Opportunities: A Qualitative Study on Tax Compliance in Pakistan
 
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAIGetting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
Getting Real with AI - Columbus DAW - May 2024 - Nick Woo from AlignAI
 
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai KuwaitThe Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
The Abortion pills for sale in Qatar@Doha [+27737758557] []Deira Dubai Kuwait
 
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
Lundin Gold - Q1 2024 Conference Call Presentation (Revised)
 
Mckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for ViewingMckinsey foundation level Handbook for Viewing
Mckinsey foundation level Handbook for Viewing
 
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDINGBerhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
Berhampur 70918*19311 CALL GIRLS IN ESCORT SERVICE WE ARE PROVIDING
 
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptxQSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
QSM Chap 10 Service Culture in Tourism and Hospitality Industry.pptx
 
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan CytotecJual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
Jual Obat Aborsi ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan Cytotec
 
WheelTug Short Pitch Deck 2024 | Byond Insights
WheelTug Short Pitch Deck 2024 | Byond InsightsWheelTug Short Pitch Deck 2024 | Byond Insights
WheelTug Short Pitch Deck 2024 | Byond Insights
 
Falcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investorsFalcon Invoice Discounting: The best investment platform in india for investors
Falcon Invoice Discounting: The best investment platform in india for investors
 
Arti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdfArti Languages Pre Seed Teaser Deck 2024.pdf
Arti Languages Pre Seed Teaser Deck 2024.pdf
 
UAE Bur Dubai Call Girls ☏ 0564401582 Call Girl in Bur Dubai
UAE Bur Dubai Call Girls ☏ 0564401582 Call Girl in Bur DubaiUAE Bur Dubai Call Girls ☏ 0564401582 Call Girl in Bur Dubai
UAE Bur Dubai Call Girls ☏ 0564401582 Call Girl in Bur Dubai
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service Available
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service AvailableNashik Call Girl Just Call 7091819311 Top Class Call Girl Service Available
Nashik Call Girl Just Call 7091819311 Top Class Call Girl Service Available
 
Buy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail AccountsBuy gmail accounts.pdf buy Old Gmail Accounts
Buy gmail accounts.pdf buy Old Gmail Accounts
 

Brisbane Scrum Users Group.2009 Feb25

  • 1. Technical Debt and What to do about it. Kane Mar Certified Scrum Trainer and Coach (CST and CSC) http://KaneMar.com Kane.Mar@gmail.com
  • 3. 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
  • 4. What is Technical Debt During the planning or execution of a software project, decisions are made to defer necessary work: It's too late in the LifeCycle? to upgrade to the new release of the compiler. We'll do it next time around. We're not completely conforming to the UserInterface guidelines. We'll get to it next time. We don't have time to uncruft (refactor, see RefactorMercilessly) the hyper-widget code. Punt until next time.
  • 5. 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
  • 6. Quality and Velocity Correlation between declining quality and velocity 50.0 37.5 % Maintenance Velocity of New Development (PBI/$100k) 25.0 12.5 0 1 2 3 4 5 6 Category Title New Requirements Capability 2000 1500 Requirements 1000 500 0 1 2 3 4 5 6 Category Title
  • 7. The story of a burger ...
  • 8. How does “Technical Debt” occur? By not enforcing high quality standards in the definition of “done.” Cutting corners to achieve a higher velocity and meet impossible timelines leads to build up of low quality, unmaintainable code. Death spiral: As the maximum velocity of system goes down, even more corners are cut to compensate until the velocity approaches zero.
  • 9. 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 There is highly compartmentized knowledge regarding the core/legacy system, and it may be supported by only one or two people in the company (over specialization)
  • 10. Signs of Technical Debt The legacy system is not in a know state 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
  • 11. What to do about Technical Debt Avoid accumulating technical debt Pay it off over time (mortgage) “Working with legacy code” by Michael Feathers An anti-pattern worth mentioning
  • 12. 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”
  • 13. Paying off Technical Debt Described by Michael Feathers in “Working Effectively with Legacy code” Start by introducing Continuous Integration Write Tests around customer reported defects Over a period of time a testing framework will be built up around the most brittle code
  • 14. And Avoid this anti-pattern There is a temptation to try and write a comprehensive testing framework around the entire product Does not address the defects that the customer views as most important May run out of money before you complete the framework