SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

Maximising The Value and Benefits of Enterprise Architecture
Maximising The Value and Benefits of Enterprise ArchitectureMaximising The Value and Benefits of Enterprise Architecture
Maximising The Value and Benefits of Enterprise ArchitectureAlan McSweeney
 
IT Strategic Planning Guide
IT Strategic Planning GuideIT Strategic Planning Guide
IT Strategic Planning GuideMary Patry
 
Get Smart About Technical Debt
Get Smart About Technical DebtGet Smart About Technical Debt
Get Smart About Technical DebtCAST
 
How to Get Started with DevSecOps
How to Get Started with DevSecOpsHow to Get Started with DevSecOps
How to Get Started with DevSecOpsCYBRIC
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical DebtKaizenko
 
#T3SCRUM: 12 principles of agile
#T3SCRUM: 12 principles of agile#T3SCRUM: 12 principles of agile
#T3SCRUM: 12 principles of agileak-itconsulting.com
 
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...Red Gate Software
 
DevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to SecurityDevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to SecurityAlert Logic
 
DevOps overview 2019-04-13 Nelkinda April Meetup
DevOps overview  2019-04-13 Nelkinda April MeetupDevOps overview  2019-04-13 Nelkinda April Meetup
DevOps overview 2019-04-13 Nelkinda April MeetupShweta Sadawarte
 
Technical and Product Debt Management
Technical and Product Debt ManagementTechnical and Product Debt Management
Technical and Product Debt ManagementSergey Sundukovskiy
 
Purging the Technical Debt
Purging the Technical DebtPurging the Technical Debt
Purging the Technical DebtBrian Di Croce
 
Making the business case for DevOps
Making the business case for DevOpsMaking the business case for DevOps
Making the business case for DevOpsMartin Croker
 
Beyond the Spotify model - Team Topologies - DevTestNorth - 2019-09-25 - Matt...
Beyond the Spotify model - Team Topologies - DevTestNorth - 2019-09-25 - Matt...Beyond the Spotify model - Team Topologies - DevTestNorth - 2019-09-25 - Matt...
Beyond the Spotify model - Team Topologies - DevTestNorth - 2019-09-25 - Matt...Matthew Skelton
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation JourneyDevOps Indonesia
 
Crushed by technical debt
Crushed by technical debtCrushed by technical debt
Crushed by technical debtScott W. Ambler
 
Scaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for EnterpriseScaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for EnterpriseOpsta
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD PipelineJames Wickett
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsStefan Streichsbier
 

Tendances (20)

Maximising The Value and Benefits of Enterprise Architecture
Maximising The Value and Benefits of Enterprise ArchitectureMaximising The Value and Benefits of Enterprise Architecture
Maximising The Value and Benefits of Enterprise Architecture
 
Introduction to DevSecOps
Introduction to DevSecOpsIntroduction to DevSecOps
Introduction to DevSecOps
 
IT Strategic Planning Guide
IT Strategic Planning GuideIT Strategic Planning Guide
IT Strategic Planning Guide
 
Get Smart About Technical Debt
Get Smart About Technical DebtGet Smart About Technical Debt
Get Smart About Technical Debt
 
How to Get Started with DevSecOps
How to Get Started with DevSecOpsHow to Get Started with DevSecOps
How to Get Started with DevSecOps
 
Managing Technical Debt
Managing Technical DebtManaging Technical Debt
Managing Technical Debt
 
#T3SCRUM: 12 principles of agile
#T3SCRUM: 12 principles of agile#T3SCRUM: 12 principles of agile
#T3SCRUM: 12 principles of agile
 
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...
 
DevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to SecurityDevSecOps: Taking a DevOps Approach to Security
DevSecOps: Taking a DevOps Approach to Security
 
DevOps overview 2019-04-13 Nelkinda April Meetup
DevOps overview  2019-04-13 Nelkinda April MeetupDevOps overview  2019-04-13 Nelkinda April Meetup
DevOps overview 2019-04-13 Nelkinda April Meetup
 
Technical and Product Debt Management
Technical and Product Debt ManagementTechnical and Product Debt Management
Technical and Product Debt Management
 
Purging the Technical Debt
Purging the Technical DebtPurging the Technical Debt
Purging the Technical Debt
 
Making the business case for DevOps
Making the business case for DevOpsMaking the business case for DevOps
Making the business case for DevOps
 
Beyond the Spotify model - Team Topologies - DevTestNorth - 2019-09-25 - Matt...
Beyond the Spotify model - Team Topologies - DevTestNorth - 2019-09-25 - Matt...Beyond the Spotify model - Team Topologies - DevTestNorth - 2019-09-25 - Matt...
Beyond the Spotify model - Team Topologies - DevTestNorth - 2019-09-25 - Matt...
 
DevSecOps Implementation Journey
DevSecOps Implementation JourneyDevSecOps Implementation Journey
DevSecOps Implementation Journey
 
Crushed by technical debt
Crushed by technical debtCrushed by technical debt
Crushed by technical debt
 
SRE in Startup
SRE in StartupSRE in Startup
SRE in Startup
 
Scaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for EnterpriseScaling DevSecOps Culture for Enterprise
Scaling DevSecOps Culture for Enterprise
 
DevSecOps and the CI/CD Pipeline
 DevSecOps and the CI/CD Pipeline DevSecOps and the CI/CD Pipeline
DevSecOps and the CI/CD Pipeline
 
SCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOpsSCS DevSecOps Seminar - State of DevSecOps
SCS DevSecOps Seminar - State of DevSecOps
 

En vedette

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
 

En vedette (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
 

Similaire à 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
 

Similaire à 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
 

Dernier

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
"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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
"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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 

Dernier (20)

Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
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
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
"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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
"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
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 

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