SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Chaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient SystemsChaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient SystemsC4Media
 
Identifying and Managing Technical Debt
Identifying and Managing Technical DebtIdentifying and Managing Technical Debt
Identifying and Managing Technical Debtzazworka
 
Webinar: Development with Agile, Waterfall and Agile-Waterfall Hybrid
Webinar: Development with Agile, Waterfall and Agile-Waterfall HybridWebinar: Development with Agile, Waterfall and Agile-Waterfall Hybrid
Webinar: Development with Agile, Waterfall and Agile-Waterfall HybridIntland Software GmbH
 
Deloitte lean agile state of the nation
Deloitte lean   agile state of the nationDeloitte lean   agile state of the nation
Deloitte lean agile state of the nationAlexis Hui
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical DebtKaizenko
 
Project manager project-plan-template-cm
Project manager project-plan-template-cmProject manager project-plan-template-cm
Project manager project-plan-template-cmPrasad Reddy
 
Build Your Own Value Stream Map by Paul J. Heidema and Junbin Huang
Build Your Own Value Stream Map by Paul J. Heidema and Junbin HuangBuild Your Own Value Stream Map by Paul J. Heidema and Junbin Huang
Build Your Own Value Stream Map by Paul J. Heidema and Junbin HuangPaul J. Heidema
 
Agile presentation
Agile presentationAgile presentation
Agile presentationinfolock
 
Agile vs. waterfall
Agile vs. waterfallAgile vs. waterfall
Agile vs. waterfallDvir Zohar
 
Introducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanIntroducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanDimitri Ponomareff
 
Event storming Notes
Event storming NotesEvent storming Notes
Event storming NotesArnauld Loyer
 
Chaos engineering and chaos testing
Chaos engineering and chaos testingChaos engineering and chaos testing
Chaos engineering and chaos testingjeetendra mandal
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To AgileKnoldus Inc.
 
The Values and Principles of Agile Software Development
The Values and Principles of Agile Software DevelopmentThe Values and Principles of Agile Software Development
The Values and Principles of Agile Software DevelopmentBrad Appleton
 

Was ist angesagt? (20)

Chaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient SystemsChaos Engineering: Why the World Needs More Resilient Systems
Chaos Engineering: Why the World Needs More Resilient Systems
 
Identifying and Managing Technical Debt
Identifying and Managing Technical DebtIdentifying and Managing Technical Debt
Identifying and Managing Technical Debt
 
Webinar: Development with Agile, Waterfall and Agile-Waterfall Hybrid
Webinar: Development with Agile, Waterfall and Agile-Waterfall HybridWebinar: Development with Agile, Waterfall and Agile-Waterfall Hybrid
Webinar: Development with Agile, Waterfall and Agile-Waterfall Hybrid
 
Deloitte lean agile state of the nation
Deloitte lean   agile state of the nationDeloitte lean   agile state of the nation
Deloitte lean agile state of the nation
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
Model storming
Model stormingModel storming
Model storming
 
Project manager project-plan-template-cm
Project manager project-plan-template-cmProject manager project-plan-template-cm
Project manager project-plan-template-cm
 
Build Your Own Value Stream Map by Paul J. Heidema and Junbin Huang
Build Your Own Value Stream Map by Paul J. Heidema and Junbin HuangBuild Your Own Value Stream Map by Paul J. Heidema and Junbin Huang
Build Your Own Value Stream Map by Paul J. Heidema and Junbin Huang
 
Observability driven development
Observability driven developmentObservability driven development
Observability driven development
 
Agile presentation
Agile presentationAgile presentation
Agile presentation
 
Agile vs. waterfall
Agile vs. waterfallAgile vs. waterfall
Agile vs. waterfall
 
Introducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and KanbanIntroducing Agile Scrum XP and Kanban
Introducing Agile Scrum XP and Kanban
 
Event storming Notes
Event storming NotesEvent storming Notes
Event storming Notes
 
scrum
scrumscrum
scrum
 
Journey of Agile
Journey of AgileJourney of Agile
Journey of Agile
 
Chaos engineering and chaos testing
Chaos engineering and chaos testingChaos engineering and chaos testing
Chaos engineering and chaos testing
 
Introduction to Scrum
Introduction to ScrumIntroduction to Scrum
Introduction to Scrum
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
The Values and Principles of Agile Software Development
The Values and Principles of Agile Software DevelopmentThe Values and Principles of Agile Software Development
The Values and Principles of Agile Software Development
 
What is Scrum?
What is Scrum?What is Scrum?
What is Scrum?
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Developmentsushant.1409
 

Ähnlich wie 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
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 

Kürzlich hochgeladen

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 

Kürzlich hochgeladen (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 

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