SlideShare a Scribd company logo
1 of 5
Technical Debt
Anil Kulkarni
@agfieldmarshal
agilefieldmarshal.com
Technical Debt – What is it
• We make certain quick decisions to
make software functionality work
– Hard Coding parameters
– Mock Objects
– Lack of boundary test cases
– Insufficient Test Coverage
– Known defects not yet fixed
• Can be classified as
– Unintentional (inadvertent)
– Intentional (Deliberate)
• Technical Debt impacts the progress
• It’s a Debt so if not paid back, will
grow exponentially making it difficult
to update the software
Technical Debt – Why it Happens
• We want to be the first to the market
• For a new functionality updating an existing class – without taking
into account the implications, rather then adding a new class
• Updating an existing method – without taking into account the
implications, rather than adding a new method (e.g. Overloaded)
• Taking short cuts
• Tendency to add workarounds to the code rather than changing the
API
• Duplication of code due to lack of complete understanding of
existing codebase
• Pressure to deliver on time
• Increasing Team Size beyond optimal or creating sub teams
– Conway’s law : structure of the team impacts the structure of the
software system produced by the team
Technical Debt – Consequences
• Increased time to delivery
– Greater the debt, slower the velocity
• Increased number of defects
– Greater the debt grater the complexity and prone to failures
• High cost of development and support
– rising costs can change the economics of whether to proceed
with a feature or defect repair
• a feature or defect repair.
• Increased “Cost of Delay”
– Cost of Delay : Value that is lost due to delay
• High Frustration
• Decreased Customer satisfaction
Technical Debt – How to Manage
• Be prepared to throw away the code
• Don’t be afraid to refactor
• Code Reviews with Pull Requests
• Strict “Definition of Done”
– cost of paying back technical debt that slips past a weak definition of done is substantially
greater than addressing it during the sprint
• Using TDD, BDD
• Apply “Boy Scout Rule” regarding code
– Boy Scouts have a rule regarding camping, that they should leave the campground cleaner
than they found it
– Service debt as and when you come across it rather than delaying it
• Make Debt visible by keeping it separate or tagging it
• Dedicated Sprint to service the debt
– Or Set up a dedicated time during the Sprint for clearing the debt
• Repay the High-Interest Technical Debt first
• Not all Technical Debt needs to be paid
– Product nearing end of life
– POC

More Related Content

What's hot

Continuous integration in large programs
Continuous integration in large programsContinuous integration in large programs
Continuous integration in large programsNaveen Kumar Singh
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical DebtJeremy Horn
 
Patricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYC
Patricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYCPatricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYC
Patricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYCcamunda services GmbH
 
Metrics for the lean agile pm
Metrics for the lean agile pmMetrics for the lean agile pm
Metrics for the lean agile pmYuval Yeret
 
Top 5 mistakes in agile journey
Top 5 mistakes in agile journeyTop 5 mistakes in agile journey
Top 5 mistakes in agile journeyNeeraj Bachani
 
50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationship50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationshipAgile Testing Alliance
 
Lean Kanban India 2018 | WIP decides Lead Time, Delivery Rate and Flow Effic...
Lean Kanban India 2018  | WIP decides Lead Time, Delivery Rate and Flow Effic...Lean Kanban India 2018  | WIP decides Lead Time, Delivery Rate and Flow Effic...
Lean Kanban India 2018 | WIP decides Lead Time, Delivery Rate and Flow Effic...LeanKanbanIndia
 
Verification for system companies (LI) - value proposition
Verification for system companies (LI) - value propositionVerification for system companies (LI) - value proposition
Verification for system companies (LI) - value propositionHagai Arbel
 
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...IBM Danmark
 
Patricio Zambrano: Live Demo: Optimize - Camunda Day NYC
Patricio Zambrano: Live Demo: Optimize - Camunda Day NYCPatricio Zambrano: Live Demo: Optimize - Camunda Day NYC
Patricio Zambrano: Live Demo: Optimize - Camunda Day NYCcamunda services GmbH
 
Turn Performance Testing up to 11
Turn Performance Testing up to 11Turn Performance Testing up to 11
Turn Performance Testing up to 11Eggplant
 
Kanban - Class of Service (To Manage Incidents in a DevOps Team)
Kanban - Class of Service (To Manage Incidents in a DevOps Team)Kanban - Class of Service (To Manage Incidents in a DevOps Team)
Kanban - Class of Service (To Manage Incidents in a DevOps Team)Anurag Shrivastava
 
Govology Webinar: Streamline Your Month-End/Year-End Process
Govology Webinar: Streamline Your Month-End/Year-End ProcessGovology Webinar: Streamline Your Month-End/Year-End Process
Govology Webinar: Streamline Your Month-End/Year-End ProcessLeft Brain Professionals
 
Kanban - Set Work in Progress Limits
Kanban - Set Work in Progress LimitsKanban - Set Work in Progress Limits
Kanban - Set Work in Progress LimitsAvarteq
 

What's hot (20)

Continuous integration in large programs
Continuous integration in large programsContinuous integration in large programs
Continuous integration in large programs
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Patricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYC
Patricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYCPatricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYC
Patricio Zambrano: Live Demo: Camunda Cockpit - Camunda Day NYC
 
Metrics for the lean agile pm
Metrics for the lean agile pmMetrics for the lean agile pm
Metrics for the lean agile pm
 
Top 5 mistakes in agile journey
Top 5 mistakes in agile journeyTop 5 mistakes in agile journey
Top 5 mistakes in agile journey
 
50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationship50+ ways to improve tester - programmer relationship
50+ ways to improve tester - programmer relationship
 
Lean Kanban India 2018 | WIP decides Lead Time, Delivery Rate and Flow Effic...
Lean Kanban India 2018  | WIP decides Lead Time, Delivery Rate and Flow Effic...Lean Kanban India 2018  | WIP decides Lead Time, Delivery Rate and Flow Effic...
Lean Kanban India 2018 | WIP decides Lead Time, Delivery Rate and Flow Effic...
 
QA Best Practices in Agile World_new
QA Best Practices in Agile World_newQA Best Practices in Agile World_new
QA Best Practices in Agile World_new
 
Verification for system companies (LI) - value proposition
Verification for system companies (LI) - value propositionVerification for system companies (LI) - value proposition
Verification for system companies (LI) - value proposition
 
Giant Plc 2009
Giant Plc 2009Giant Plc 2009
Giant Plc 2009
 
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...
CICS TS for z/OS, From Waterfall to Agile using Rational Jazz Technology - no...
 
Patricio Zambrano: Live Demo: Optimize - Camunda Day NYC
Patricio Zambrano: Live Demo: Optimize - Camunda Day NYCPatricio Zambrano: Live Demo: Optimize - Camunda Day NYC
Patricio Zambrano: Live Demo: Optimize - Camunda Day NYC
 
Turn Performance Testing up to 11
Turn Performance Testing up to 11Turn Performance Testing up to 11
Turn Performance Testing up to 11
 
Intro to Agile
Intro to AgileIntro to Agile
Intro to Agile
 
AgileTesting_Ver1.0
AgileTesting_Ver1.0AgileTesting_Ver1.0
AgileTesting_Ver1.0
 
Kanban - Class of Service (To Manage Incidents in a DevOps Team)
Kanban - Class of Service (To Manage Incidents in a DevOps Team)Kanban - Class of Service (To Manage Incidents in a DevOps Team)
Kanban - Class of Service (To Manage Incidents in a DevOps Team)
 
Govology Webinar: Streamline Your Month-End/Year-End Process
Govology Webinar: Streamline Your Month-End/Year-End ProcessGovology Webinar: Streamline Your Month-End/Year-End Process
Govology Webinar: Streamline Your Month-End/Year-End Process
 
Kanban - Set Work in Progress Limits
Kanban - Set Work in Progress LimitsKanban - Set Work in Progress Limits
Kanban - Set Work in Progress Limits
 
Testing Web Services - CodeMash 2014
Testing Web Services - CodeMash 2014Testing Web Services - CodeMash 2014
Testing Web Services - CodeMash 2014
 
XPDay 04
XPDay 04XPDay 04
XPDay 04
 

Similar to Technical debt

Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2Jim Brisson
 
Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementationTerry Bunio
 
Technical debt as asset
Technical debt as assetTechnical debt as asset
Technical debt as assetLivatek
 
Agile Automotive (Final)
Agile Automotive (Final)Agile Automotive (Final)
Agile Automotive (Final)James Janisse
 
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...Business of Software Conference
 
Meet up Continuous delivery
Meet up Continuous deliveryMeet up Continuous delivery
Meet up Continuous deliverySamuel RETIERE
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptxAmna Ch
 
Beating the product credit crunch
Beating the product credit crunchBeating the product credit crunch
Beating the product credit crunchStephen Williams
 
Practical Application of Agile Techniques in Developing Safety Related Systems
Practical Application of Agile Techniques in Developing Safety Related SystemsPractical Application of Agile Techniques in Developing Safety Related Systems
Practical Application of Agile Techniques in Developing Safety Related SystemsAdaCore
 
Code Yellow: Helping operations top-heavy teams the smart way
Code Yellow: Helping operations top-heavy teams the smart wayCode Yellow: Helping operations top-heavy teams the smart way
Code Yellow: Helping operations top-heavy teams the smart wayMichael Kehoe
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineImaginet
 
lecture_Analysis Phase.ppt
lecture_Analysis Phase.pptlecture_Analysis Phase.ppt
lecture_Analysis Phase.pptAteeqaKokab1
 
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjdlecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjdAqeelAbbas94
 
Software process models
Software process modelsSoftware process models
Software process modelsMalik WaQas
 
Agile Software Delivery for Executives
Agile Software Delivery for ExecutivesAgile Software Delivery for Executives
Agile Software Delivery for ExecutivesGabor Schönekker
 

Similar to Technical debt (20)

Technical stories v1.2
Technical stories v1.2Technical stories v1.2
Technical stories v1.2
 
Sdec10 lean package implementation
Sdec10 lean package implementationSdec10 lean package implementation
Sdec10 lean package implementation
 
Proj Mgmt.ppt
Proj Mgmt.pptProj Mgmt.ppt
Proj Mgmt.ppt
 
Spm lecture-3
Spm lecture-3Spm lecture-3
Spm lecture-3
 
Lect3
Lect3Lect3
Lect3
 
Technical debt as asset
Technical debt as assetTechnical debt as asset
Technical debt as asset
 
Agile Automotive (Final)
Agile Automotive (Final)Agile Automotive (Final)
Agile Automotive (Final)
 
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
BoS2015 Jeff Szczepanski – COO, Stack Exchange - Stack Overflow. Scaling a Te...
 
Meet up Continuous delivery
Meet up Continuous deliveryMeet up Continuous delivery
Meet up Continuous delivery
 
Lecture3.se.pptx
Lecture3.se.pptxLecture3.se.pptx
Lecture3.se.pptx
 
Beating the product credit crunch
Beating the product credit crunchBeating the product credit crunch
Beating the product credit crunch
 
Effective Scrum
Effective ScrumEffective Scrum
Effective Scrum
 
Practical Application of Agile Techniques in Developing Safety Related Systems
Practical Application of Agile Techniques in Developing Safety Related SystemsPractical Application of Agile Techniques in Developing Safety Related Systems
Practical Application of Agile Techniques in Developing Safety Related Systems
 
Code Yellow: Helping operations top-heavy teams the smart way
Code Yellow: Helping operations top-heavy teams the smart wayCode Yellow: Helping operations top-heavy teams the smart way
Code Yellow: Helping operations top-heavy teams the smart way
 
Tech debt will kill us
Tech debt will kill usTech debt will kill us
Tech debt will kill us
 
How Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom LineHow Microsoft ALM Tools Can Improve Your Bottom Line
How Microsoft ALM Tools Can Improve Your Bottom Line
 
lecture_Analysis Phase.ppt
lecture_Analysis Phase.pptlecture_Analysis Phase.ppt
lecture_Analysis Phase.ppt
 
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjdlecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
lecture_5 (2).ppt hjhrrgjbgrmgrhbgrgghjd
 
Software process models
Software process modelsSoftware process models
Software process models
 
Agile Software Delivery for Executives
Agile Software Delivery for ExecutivesAgile Software Delivery for Executives
Agile Software Delivery for Executives
 

Recently uploaded

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2
 

Recently uploaded (20)

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next IntegrationWSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
WSO2CON2024 - Why Should You Consider Ballerina for Your Next Integration
 
WSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid EnvironmentsWSO2Con2024 - Software Delivery in Hybrid Environments
WSO2Con2024 - Software Delivery in Hybrid Environments
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public AdministrationWSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
WSO2CON 2024 - How CSI Piemonte Is Apifying the Public Administration
 

Technical debt

  • 2. Technical Debt – What is it • We make certain quick decisions to make software functionality work – Hard Coding parameters – Mock Objects – Lack of boundary test cases – Insufficient Test Coverage – Known defects not yet fixed • Can be classified as – Unintentional (inadvertent) – Intentional (Deliberate) • Technical Debt impacts the progress • It’s a Debt so if not paid back, will grow exponentially making it difficult to update the software
  • 3. Technical Debt – Why it Happens • We want to be the first to the market • For a new functionality updating an existing class – without taking into account the implications, rather then adding a new class • Updating an existing method – without taking into account the implications, rather than adding a new method (e.g. Overloaded) • Taking short cuts • Tendency to add workarounds to the code rather than changing the API • Duplication of code due to lack of complete understanding of existing codebase • Pressure to deliver on time • Increasing Team Size beyond optimal or creating sub teams – Conway’s law : structure of the team impacts the structure of the software system produced by the team
  • 4. Technical Debt – Consequences • Increased time to delivery – Greater the debt, slower the velocity • Increased number of defects – Greater the debt grater the complexity and prone to failures • High cost of development and support – rising costs can change the economics of whether to proceed with a feature or defect repair • a feature or defect repair. • Increased “Cost of Delay” – Cost of Delay : Value that is lost due to delay • High Frustration • Decreased Customer satisfaction
  • 5. Technical Debt – How to Manage • Be prepared to throw away the code • Don’t be afraid to refactor • Code Reviews with Pull Requests • Strict “Definition of Done” – cost of paying back technical debt that slips past a weak definition of done is substantially greater than addressing it during the sprint • Using TDD, BDD • Apply “Boy Scout Rule” regarding code – Boy Scouts have a rule regarding camping, that they should leave the campground cleaner than they found it – Service debt as and when you come across it rather than delaying it • Make Debt visible by keeping it separate or tagging it • Dedicated Sprint to service the debt – Or Set up a dedicated time during the Sprint for clearing the debt • Repay the High-Interest Technical Debt first • Not all Technical Debt needs to be paid – Product nearing end of life – POC