SlideShare a Scribd company logo
1 of 15
Beyond Technical Debt
 The interest we pay on our failures.
 April 17, 2013
Technical Debt

  Ward Cunningham suggested the term “technical debt” to refer
   to the cutting of corners when you build software.

  His premise was that if you cut corners, the shoddy work would
   accumulate in the form of “interest” that needed to be paid on
   the “principal”, much like a financial debt.

  Some use the term to describe shortcuts they intend on taking,
   while others use it as a historical view to identify what has
   already accumulated.




April 17, 2013
Accumulation of Debt

  We find the concept of technical debt useful to describe the
   ‘sins of the past’ and to encourage our customers to clean up
   the debt or they’ll pay the price

  Clearing up the debt comes in many shapes:
         Taking time to refactor code bases
         Document the system
         Revisit the non-functional requirements / re-architect
         Replace an outdated component or technology




April 17, 2013
The Real Debt Threat

 In addition to the traditional technical debt, we’ve encountered
 new forms of debt that plague software delivery teams



 1.     Organizational Debt   5.   Tooling Debt
 2.     Personnel Debt        6.   Automation Debt
 3.     Process Debt          7.   Testing Debt
 4.     Practice Debt         8.   Operations Debt




April 17, 2013
Organizational Debt refers to ineffective
 organizational structures that obstruct the efficient delivery of
 work.

  Many organizational hierarchies are ancient relics. They haven’t
   been changed to reflect new work patterns.
  Some organizations are designed around office politics.
  Conway’s Law suggests that our deliverables reflect the
   organizational structure that created it.

 Let software processes drive the organizational design.


April 17, 2013
Personnel Debt refers to organizations that have the
 wrong people, leading to inefficient delivery.

  Poor hiring practices let the wrong people in the door.
  Poor firing practices kept the wrong people in.
  Poor retention and training practices failed to get the most out
   of the good people.

 An organization can clean up technical debt but if they have a
 personnel debt problem, technical debt will come right back.


April 17, 2013
Process Debt refers to organizations that have the wrong
 delivery processes: Too much, not enough, or just wrong.

  Some still using “agile” to mean “process free”
  Many stuck in older methods (waterfall, RUP, etc.)
  Few have Introduced cross-cutting process owners (such as
   crossing DevTestOps)

 It’s easy to detect a good process – and a bad one. It’s much
 harder to define one and keep it around.


April 17, 2013
Practice Debt refers to organizations that fail to
 accumulate and disseminate best practices to their teams.

  “Those who fail to learn from the past are condemned to repeat
   it.” – we must document tacit knowledge and leverage it.
  The body of knowledge gets stale. Out with the old and in with
   the new.
  Only the most important practices should be enforced as policy.

 Those who want to establish a TRUE culture should think more
 about institutionalizing knowledge.


April 17, 2013
Tooling Debt refers to organizations that don’t have the
 right tools or platforms for the job at hand.

  “If all you have is a hammer, everything looks like a nail.”
  Some organizations have failed to refresh the tools needed.
  Other organizations have gone “tool crazy”; they have too many
   tools to get knowledgeable on any one of them.

 Languages, IDE’s, Platforms and other tools make us efficient but
 only when we find the right balance.


April 17, 2013
Automation Debt refers to organizations that
 continue to do things by hand that should be automated.

    No continuous builds.
    No continuous delivery.
    No automated operational recovery.
    Tool chain isn’t integrated.

 Our industry is going through a rebirth in how we automate the
 software development process and connect it to infrastructure
 and platforms: DevOps + Software Defined Computing


April 17, 2013
Testing Debt refers to organizations that built software
 but did inadequate testing.

    System lacks unit or functional tests.
    System lacks operational tests (perf, load, resilience, security)
    System lacks UI or usability tests
    Disaster recovery routines never tested

 Debt associated with testing has a VERY HIGH interest rate. This is
 a MUST FIX area.


April 17, 2013
Operational Debt refers to organizations that create
 systems that are hard/expensive to operate in a production setting.

  System wasn’t properly instrumented (logs, monitors, …)
  Didn’t plan for patches or versioning up-front
  System was hard-coded to specific hardware/platforms and can’t be
   easily moved to new gear or DC locations
  System only runs on most expensive gear or platforms

 Developers make mistakes but it shows up in operations budget. Huge
 opportunity to save money in this area!


April 17, 2013
Declaring Bankruptcy or Paying off the Debt

  On occasion, we find a software system that has accumulated
   large technical debts. Business owners are forced to make a
   decision: Declare bankruptcy or pay off the debt.

  Remember: It’s not just “technical (application) debt”.
  If the other eight types of debt are still in place, it’s likely that
   any effort to fix technical debt will fail.


 Don’t just fix technical debt. Do root cause analysis on
 your whole environment!


April 17, 2013
MomentumSI Consulting

 Consulting – Strategy - Delivery

         Assessment of current state, workshops and roadmaps
         Culture transformation: rethinking processes, incentives and systems
         Upgrading capabilities in continuous builds, testing and deployment
         Experts in modern tooling and implementation practices



                  For a briefing on our offerings, email: Jeff Schneider
                             jschneider@MomentumSI.com


                 Cloud - App Dev - Big Data - DevOps

April 17, 2013
Beyond technical debt

More Related Content

What's hot

Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software DevelopmentSaqib Raza
 
Agile Pricing Models (webinar by Luxoft Agile Practice)
Agile Pricing Models (webinar by Luxoft Agile Practice)Agile Pricing Models (webinar by Luxoft Agile Practice)
Agile Pricing Models (webinar by Luxoft Agile Practice)Sergey Prokhorenko
 
Microserviços: uma introdução
Microserviços: uma introduçãoMicroserviços: uma introdução
Microserviços: uma introduçãoDaniel Baptista Dias
 
Design Systems Operations
Design Systems OperationsDesign Systems Operations
Design Systems Operationsuxpin
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 
Microservices Architecture for e-Commerce
Microservices Architecture for e-CommerceMicroservices Architecture for e-Commerce
Microservices Architecture for e-CommerceDivante
 
What is Platform as a Product? Clues from Team Topologies @ DevOps Porto meet...
What is Platform as a Product? Clues from Team Topologies @ DevOps Porto meet...What is Platform as a Product? Clues from Team Topologies @ DevOps Porto meet...
What is Platform as a Product? Clues from Team Topologies @ DevOps Porto meet...Manuel Pais
 
Microservices, Kubernetes, and Application Modernization Done Right
Microservices, Kubernetes, and Application Modernization Done RightMicroservices, Kubernetes, and Application Modernization Done Right
Microservices, Kubernetes, and Application Modernization Done RightLightbend
 
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...OutSystems
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Developmentsushant.1409
 
Low-Code vs. Programming – It Isn’t an Either/Or Decision
Low-Code vs. Programming – It Isn’t an Either/Or DecisionLow-Code vs. Programming – It Isn’t an Either/Or Decision
Low-Code vs. Programming – It Isn’t an Either/Or DecisionAppian
 
Low Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsLow Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsJohnMcGuigan10
 
Intro to Lean Software Development
Intro to Lean Software DevelopmentIntro to Lean Software Development
Intro to Lean Software Developmentgcaprio
 
Purging the Technical Debt
Purging the Technical DebtPurging the Technical Debt
Purging the Technical DebtBrian Di Croce
 
SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)Hussain Mansoor
 
Arquitetura Funcional em Microservices
Arquitetura Funcional em MicroservicesArquitetura Funcional em Microservices
Arquitetura Funcional em MicroservicesNubank
 
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Emmanuel Neri
 
The Four Keys - Measuring DevOps Success
The Four Keys - Measuring DevOps SuccessThe Four Keys - Measuring DevOps Success
The Four Keys - Measuring DevOps SuccessDina Graves Portman
 

What's hot (20)

Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Agile Pricing Models (webinar by Luxoft Agile Practice)
Agile Pricing Models (webinar by Luxoft Agile Practice)Agile Pricing Models (webinar by Luxoft Agile Practice)
Agile Pricing Models (webinar by Luxoft Agile Practice)
 
Microserviços: uma introdução
Microserviços: uma introduçãoMicroserviços: uma introdução
Microserviços: uma introdução
 
Design Systems Operations
Design Systems OperationsDesign Systems Operations
Design Systems Operations
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
Microservices Architecture for e-Commerce
Microservices Architecture for e-CommerceMicroservices Architecture for e-Commerce
Microservices Architecture for e-Commerce
 
What is Platform as a Product? Clues from Team Topologies @ DevOps Porto meet...
What is Platform as a Product? Clues from Team Topologies @ DevOps Porto meet...What is Platform as a Product? Clues from Team Topologies @ DevOps Porto meet...
What is Platform as a Product? Clues from Team Topologies @ DevOps Porto meet...
 
Microservices, Kubernetes, and Application Modernization Done Right
Microservices, Kubernetes, and Application Modernization Done RightMicroservices, Kubernetes, and Application Modernization Done Right
Microservices, Kubernetes, and Application Modernization Done Right
 
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
Automating Your Way to Greatness by Combining OutSystems CI/CD With the Power...
 
Lean Software Development
Lean Software Development Lean Software Development
Lean Software Development
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Low-Code vs. Programming – It Isn’t an Either/Or Decision
Low-Code vs. Programming – It Isn’t an Either/Or DecisionLow-Code vs. Programming – It Isn’t an Either/Or Decision
Low-Code vs. Programming – It Isn’t an Either/Or Decision
 
Low Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design PlatformsLow Code Capabilities of Digital Product Design Platforms
Low Code Capabilities of Digital Product Design Platforms
 
Intro to Lean Software Development
Intro to Lean Software DevelopmentIntro to Lean Software Development
Intro to Lean Software Development
 
Purging the Technical Debt
Purging the Technical DebtPurging the Technical Debt
Purging the Technical Debt
 
SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)
 
Arquitetura Funcional em Microservices
Arquitetura Funcional em MicroservicesArquitetura Funcional em Microservices
Arquitetura Funcional em Microservices
 
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
Microservices: Mais que uma arquitetura de software, uma filosofia de desenvo...
 
The Four Keys - Measuring DevOps Success
The Four Keys - Measuring DevOps SuccessThe Four Keys - Measuring DevOps Success
The Four Keys - Measuring DevOps Success
 

Viewers also liked

A MomentumSI Briefing: SOA in 2013
A MomentumSI Briefing: SOA in 2013A MomentumSI Briefing: SOA in 2013
A MomentumSI Briefing: SOA in 2013Jeff Schneider
 
Fixed Fee / Fixed Bid Delivery
Fixed Fee / Fixed Bid DeliveryFixed Fee / Fixed Bid Delivery
Fixed Fee / Fixed Bid DeliveryJeff Schneider
 
Jim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In ThisJim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In Thisdeimos
 
MomentumSI Programming Language Recommendations
MomentumSI Programming Language RecommendationsMomentumSI Programming Language Recommendations
MomentumSI Programming Language RecommendationsJeff Schneider
 
HATEOAS: The Confusing Bit from REST
HATEOAS: The Confusing Bit from RESTHATEOAS: The Confusing Bit from REST
HATEOAS: The Confusing Bit from RESTelliando dias
 
Jim Webber R E S Tful Services
Jim  Webber    R E S Tful  ServicesJim  Webber    R E S Tful  Services
Jim Webber R E S Tful ServicesSOA Symposium
 
The Technical Debt Trap - AgileIndy 2013
The Technical Debt Trap - AgileIndy 2013The Technical Debt Trap - AgileIndy 2013
The Technical Debt Trap - AgileIndy 2013Doc Norton
 
REST: From GET to HATEOAS
REST: From GET to HATEOASREST: From GET to HATEOAS
REST: From GET to HATEOASJos Dirksen
 
The Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" NortonThe Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" NortonLeanDog
 

Viewers also liked (13)

Dev ops in 2013
Dev ops in 2013Dev ops in 2013
Dev ops in 2013
 
A MomentumSI Briefing: SOA in 2013
A MomentumSI Briefing: SOA in 2013A MomentumSI Briefing: SOA in 2013
A MomentumSI Briefing: SOA in 2013
 
Fixed Fee / Fixed Bid Delivery
Fixed Fee / Fixed Bid DeliveryFixed Fee / Fixed Bid Delivery
Fixed Fee / Fixed Bid Delivery
 
Jim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In ThisJim Webber Martin Fowler Does My Bus Look Big In This
Jim Webber Martin Fowler Does My Bus Look Big In This
 
AgileCamp 2015: Keynote Scrum Is a Productivity Superweapon - Jeff Sutherland
AgileCamp 2015: Keynote Scrum Is a Productivity Superweapon - Jeff SutherlandAgileCamp 2015: Keynote Scrum Is a Productivity Superweapon - Jeff Sutherland
AgileCamp 2015: Keynote Scrum Is a Productivity Superweapon - Jeff Sutherland
 
MomentumSI Programming Language Recommendations
MomentumSI Programming Language RecommendationsMomentumSI Programming Language Recommendations
MomentumSI Programming Language Recommendations
 
HATEOAS: The Confusing Bit from REST
HATEOAS: The Confusing Bit from RESTHATEOAS: The Confusing Bit from REST
HATEOAS: The Confusing Bit from REST
 
Jim Webber R E S Tful Services
Jim  Webber    R E S Tful  ServicesJim  Webber    R E S Tful  Services
Jim Webber R E S Tful Services
 
The Technical Debt Trap - AgileIndy 2013
The Technical Debt Trap - AgileIndy 2013The Technical Debt Trap - AgileIndy 2013
The Technical Debt Trap - AgileIndy 2013
 
REST: From GET to HATEOAS
REST: From GET to HATEOASREST: From GET to HATEOAS
REST: From GET to HATEOAS
 
REST in Practice
REST in PracticeREST in Practice
REST in Practice
 
The Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" NortonThe Technical Debt Trap - Michael "Doc" Norton
The Technical Debt Trap - Michael "Doc" Norton
 
Innovation at 50x 031616
Innovation at 50x 031616Innovation at 50x 031616
Innovation at 50x 031616
 

Similar to Beyond technical debt

A Holistic View of Complex Systems and Organizational Change
A Holistic View of Complex Systems and Organizational ChangeA Holistic View of Complex Systems and Organizational Change
A Holistic View of Complex Systems and Organizational ChangeTechWell
 
hroughout the fifty-odd years of software development, the ind.docx
hroughout the fifty-odd years of software development, the ind.docxhroughout the fifty-odd years of software development, the ind.docx
hroughout the fifty-odd years of software development, the ind.docxpooleavelina
 
Questions On Technical Design Decisions
Questions On Technical Design DecisionsQuestions On Technical Design Decisions
Questions On Technical Design DecisionsRikki Wright
 
Advanced analytics
Advanced analyticsAdvanced analytics
Advanced analyticsTom Keeley
 
Advanced Analytics
Advanced AnalyticsAdvanced Analytics
Advanced AnalyticsTom Keeley
 
Agile software development
Agile software developmentAgile software development
Agile software developmentVarun Mahajan
 
Overcoming cultural issues
Overcoming cultural issuesOvercoming cultural issues
Overcoming cultural issuesClay Nelson
 
Effective Business Analysis
Effective Business AnalysisEffective Business Analysis
Effective Business AnalysisKailash Sumana
 
Improve success DevOps
Improve success DevOpsImprove success DevOps
Improve success DevOpsAbhishek Sood
 
Strengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentStrengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentBrianna Johnson
 
Organization And Technical Aspects Of The Workflow
Organization And Technical Aspects Of The WorkflowOrganization And Technical Aspects Of The Workflow
Organization And Technical Aspects Of The WorkflowMichelle Singh
 
Whitepaper interview with pam morris
Whitepaper  interview with pam morrisWhitepaper  interview with pam morris
Whitepaper interview with pam morrisComputer Aid, Inc
 
Business strategic information management.docx
Business strategic information management.docxBusiness strategic information management.docx
Business strategic information management.docxwrite31
 
Introduction to DevOps slides.pdf
Introduction to DevOps slides.pdfIntroduction to DevOps slides.pdf
Introduction to DevOps slides.pdfBoreVishnusai
 
Learn How to Maximize Your ServiceNow Investment
Learn How to Maximize Your ServiceNow InvestmentLearn How to Maximize Your ServiceNow Investment
Learn How to Maximize Your ServiceNow InvestmentStave
 
Enterprise and Applications: Definition; Types; Challenges; Opportunities
Enterprise and Applications: Definition; Types; Challenges; OpportunitiesEnterprise and Applications: Definition; Types; Challenges; Opportunities
Enterprise and Applications: Definition; Types; Challenges; OpportunitiesSudhanshuKMevat
 
Breaking Through the Roadblocks of a New ELM Implementation eBook
Breaking Through the Roadblocks of a New ELM Implementation eBookBreaking Through the Roadblocks of a New ELM Implementation eBook
Breaking Through the Roadblocks of a New ELM Implementation eBookJason Emanis
 

Similar to Beyond technical debt (20)

A Holistic View of Complex Systems and Organizational Change
A Holistic View of Complex Systems and Organizational ChangeA Holistic View of Complex Systems and Organizational Change
A Holistic View of Complex Systems and Organizational Change
 
hroughout the fifty-odd years of software development, the ind.docx
hroughout the fifty-odd years of software development, the ind.docxhroughout the fifty-odd years of software development, the ind.docx
hroughout the fifty-odd years of software development, the ind.docx
 
Questions On Technical Design Decisions
Questions On Technical Design DecisionsQuestions On Technical Design Decisions
Questions On Technical Design Decisions
 
Advanced analytics
Advanced analyticsAdvanced analytics
Advanced analytics
 
Advanced Analytics
Advanced AnalyticsAdvanced Analytics
Advanced Analytics
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Overcoming cultural issues
Overcoming cultural issuesOvercoming cultural issues
Overcoming cultural issues
 
Effective Business Analysis
Effective Business AnalysisEffective Business Analysis
Effective Business Analysis
 
Improve success DevOps
Improve success DevOpsImprove success DevOps
Improve success DevOps
 
Strengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentStrengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software Development
 
Organization And Technical Aspects Of The Workflow
Organization And Technical Aspects Of The WorkflowOrganization And Technical Aspects Of The Workflow
Organization And Technical Aspects Of The Workflow
 
Whitepaper interview with pam morris
Whitepaper  interview with pam morrisWhitepaper  interview with pam morris
Whitepaper interview with pam morris
 
Business strategic information management.docx
Business strategic information management.docxBusiness strategic information management.docx
Business strategic information management.docx
 
Introduction to DevOps slides.pdf
Introduction to DevOps slides.pdfIntroduction to DevOps slides.pdf
Introduction to DevOps slides.pdf
 
Learn How to Maximize Your ServiceNow Investment
Learn How to Maximize Your ServiceNow InvestmentLearn How to Maximize Your ServiceNow Investment
Learn How to Maximize Your ServiceNow Investment
 
Requirement analysis with use case
Requirement analysis with use caseRequirement analysis with use case
Requirement analysis with use case
 
Interview with pam morris
Interview with pam morrisInterview with pam morris
Interview with pam morris
 
Introducing the Development Director
Introducing the Development Director Introducing the Development Director
Introducing the Development Director
 
Enterprise and Applications: Definition; Types; Challenges; Opportunities
Enterprise and Applications: Definition; Types; Challenges; OpportunitiesEnterprise and Applications: Definition; Types; Challenges; Opportunities
Enterprise and Applications: Definition; Types; Challenges; Opportunities
 
Breaking Through the Roadblocks of a New ELM Implementation eBook
Breaking Through the Roadblocks of a New ELM Implementation eBookBreaking Through the Roadblocks of a New ELM Implementation eBook
Breaking Through the Roadblocks of a New ELM Implementation eBook
 

Recently uploaded

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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
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
 
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
 
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
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony 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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Recently uploaded (20)

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...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
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
 
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...
 
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?
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony 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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

Beyond technical debt

  • 1. Beyond Technical Debt The interest we pay on our failures. April 17, 2013
  • 2. Technical Debt  Ward Cunningham suggested the term “technical debt” to refer to the cutting of corners when you build software.  His premise was that if you cut corners, the shoddy work would accumulate in the form of “interest” that needed to be paid on the “principal”, much like a financial debt.  Some use the term to describe shortcuts they intend on taking, while others use it as a historical view to identify what has already accumulated. April 17, 2013
  • 3. Accumulation of Debt  We find the concept of technical debt useful to describe the ‘sins of the past’ and to encourage our customers to clean up the debt or they’ll pay the price  Clearing up the debt comes in many shapes:  Taking time to refactor code bases  Document the system  Revisit the non-functional requirements / re-architect  Replace an outdated component or technology April 17, 2013
  • 4. The Real Debt Threat In addition to the traditional technical debt, we’ve encountered new forms of debt that plague software delivery teams 1. Organizational Debt 5. Tooling Debt 2. Personnel Debt 6. Automation Debt 3. Process Debt 7. Testing Debt 4. Practice Debt 8. Operations Debt April 17, 2013
  • 5. Organizational Debt refers to ineffective organizational structures that obstruct the efficient delivery of work.  Many organizational hierarchies are ancient relics. They haven’t been changed to reflect new work patterns.  Some organizations are designed around office politics.  Conway’s Law suggests that our deliverables reflect the organizational structure that created it. Let software processes drive the organizational design. April 17, 2013
  • 6. Personnel Debt refers to organizations that have the wrong people, leading to inefficient delivery.  Poor hiring practices let the wrong people in the door.  Poor firing practices kept the wrong people in.  Poor retention and training practices failed to get the most out of the good people. An organization can clean up technical debt but if they have a personnel debt problem, technical debt will come right back. April 17, 2013
  • 7. Process Debt refers to organizations that have the wrong delivery processes: Too much, not enough, or just wrong.  Some still using “agile” to mean “process free”  Many stuck in older methods (waterfall, RUP, etc.)  Few have Introduced cross-cutting process owners (such as crossing DevTestOps) It’s easy to detect a good process – and a bad one. It’s much harder to define one and keep it around. April 17, 2013
  • 8. Practice Debt refers to organizations that fail to accumulate and disseminate best practices to their teams.  “Those who fail to learn from the past are condemned to repeat it.” – we must document tacit knowledge and leverage it.  The body of knowledge gets stale. Out with the old and in with the new.  Only the most important practices should be enforced as policy. Those who want to establish a TRUE culture should think more about institutionalizing knowledge. April 17, 2013
  • 9. Tooling Debt refers to organizations that don’t have the right tools or platforms for the job at hand.  “If all you have is a hammer, everything looks like a nail.”  Some organizations have failed to refresh the tools needed.  Other organizations have gone “tool crazy”; they have too many tools to get knowledgeable on any one of them. Languages, IDE’s, Platforms and other tools make us efficient but only when we find the right balance. April 17, 2013
  • 10. Automation Debt refers to organizations that continue to do things by hand that should be automated.  No continuous builds.  No continuous delivery.  No automated operational recovery.  Tool chain isn’t integrated. Our industry is going through a rebirth in how we automate the software development process and connect it to infrastructure and platforms: DevOps + Software Defined Computing April 17, 2013
  • 11. Testing Debt refers to organizations that built software but did inadequate testing.  System lacks unit or functional tests.  System lacks operational tests (perf, load, resilience, security)  System lacks UI or usability tests  Disaster recovery routines never tested Debt associated with testing has a VERY HIGH interest rate. This is a MUST FIX area. April 17, 2013
  • 12. Operational Debt refers to organizations that create systems that are hard/expensive to operate in a production setting.  System wasn’t properly instrumented (logs, monitors, …)  Didn’t plan for patches or versioning up-front  System was hard-coded to specific hardware/platforms and can’t be easily moved to new gear or DC locations  System only runs on most expensive gear or platforms Developers make mistakes but it shows up in operations budget. Huge opportunity to save money in this area! April 17, 2013
  • 13. Declaring Bankruptcy or Paying off the Debt  On occasion, we find a software system that has accumulated large technical debts. Business owners are forced to make a decision: Declare bankruptcy or pay off the debt.  Remember: It’s not just “technical (application) debt”.  If the other eight types of debt are still in place, it’s likely that any effort to fix technical debt will fail. Don’t just fix technical debt. Do root cause analysis on your whole environment! April 17, 2013
  • 14. MomentumSI Consulting Consulting – Strategy - Delivery  Assessment of current state, workshops and roadmaps  Culture transformation: rethinking processes, incentives and systems  Upgrading capabilities in continuous builds, testing and deployment  Experts in modern tooling and implementation practices For a briefing on our offerings, email: Jeff Schneider jschneider@MomentumSI.com Cloud - App Dev - Big Data - DevOps April 17, 2013