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

The Cloud Native Journey
The Cloud Native JourneyThe Cloud Native Journey
The Cloud Native Journey
VMware Tanzu
 

What's hot (20)

Parallel computing
Parallel computingParallel computing
Parallel computing
 
Technical Debt: Sources and Impacts
Technical Debt: Sources and ImpactsTechnical Debt: Sources and Impacts
Technical Debt: Sources and Impacts
 
Pre-Sales Engineer Training – Learnfull
Pre-Sales Engineer Training – LearnfullPre-Sales Engineer Training – Learnfull
Pre-Sales Engineer Training – Learnfull
 
ITIL & CMMI for Services
ITIL & CMMI for ServicesITIL & CMMI for Services
ITIL & CMMI for Services
 
How to test an AI application
How to test an AI applicationHow to test an AI application
How to test an AI application
 
Getting started with Site Reliability Engineering (SRE)
Getting started with Site Reliability Engineering (SRE)Getting started with Site Reliability Engineering (SRE)
Getting started with Site Reliability Engineering (SRE)
 
An Introduction to Test Driven Development
An Introduction to Test Driven Development An Introduction to Test Driven Development
An Introduction to Test Driven Development
 
Introduction au Value Stream Management
Introduction au Value Stream ManagementIntroduction au Value Stream Management
Introduction au Value Stream Management
 
The Cloud Native Journey
The Cloud Native JourneyThe Cloud Native Journey
The Cloud Native Journey
 
Devops as a service
Devops as a serviceDevops as a service
Devops as a service
 
SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...SRE (service reliability engineer) on big DevOps platform running on the clou...
SRE (service reliability engineer) on big DevOps platform running on the clou...
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 
Understanding Blockchain Security
Understanding Blockchain SecurityUnderstanding Blockchain Security
Understanding Blockchain Security
 
Chaos Engineering 101: A Field Guide
Chaos Engineering 101: A Field GuideChaos Engineering 101: A Field Guide
Chaos Engineering 101: A Field Guide
 
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
Everything You Need to Know About the 2019 DORA Accelerate State of DevOps Re...
 
Value stream management is essential for dev ops v4
Value stream management is essential for dev ops v4Value stream management is essential for dev ops v4
Value stream management is essential for dev ops v4
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOps
 
SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)SRE 101 (Site Reliability Engineering)
SRE 101 (Site Reliability Engineering)
 
Internet Of Things (Question Paper) [October – 2018 | Choice Based Syllabus]
Internet Of Things (Question Paper) [October – 2018 | Choice Based Syllabus]Internet Of Things (Question Paper) [October – 2018 | Choice Based Syllabus]
Internet Of Things (Question Paper) [October – 2018 | Choice Based Syllabus]
 
The Blockchain and the Future of Cybersecurity
The Blockchain and the Future of CybersecurityThe Blockchain and the Future of Cybersecurity
The Blockchain and the Future of Cybersecurity
 

Viewers also liked

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
deimos
 
HATEOAS: The Confusing Bit from REST
HATEOAS: The Confusing Bit from RESTHATEOAS: The Confusing Bit from REST
HATEOAS: The Confusing Bit from REST
elliando 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 Services
SOA Symposium
 

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

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
pooleavelina
 
Questions On Technical Design Decisions
Questions On Technical Design DecisionsQuestions On Technical Design Decisions
Questions On Technical Design Decisions
Rikki Wright
 
Advanced Analytics
Advanced AnalyticsAdvanced Analytics
Advanced Analytics
Tom Keeley
 
Overcoming cultural issues
Overcoming cultural issuesOvercoming cultural issues
Overcoming cultural issues
Clay Nelson
 
Strengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software DevelopmentStrengths And Weaknesses Of Software Development
Strengths And Weaknesses Of Software Development
Brianna 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 Workflow
Michelle Singh
 
Whitepaper interview with pam morris
Whitepaper  interview with pam morrisWhitepaper  interview with pam morris
Whitepaper interview with pam morris
Computer Aid, Inc
 
Business strategic information management.docx
Business strategic information management.docxBusiness strategic information management.docx
Business strategic information management.docx
write31
 

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

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 

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