SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
Managing Technical Debt


John Ryan
Technical Agile Coach




                  © 2011 BigVisible Solutions, Inc. All Rights Reserved
Overview

     Click to edit Master text styles
      ____ __ ____ _____ ____ ______
       _____ _____
     Second level
     • ____level
        Who cares?
     Third _____
     • _____level
        What _____
     Fourth is “Technical Debt”?
     • ____ _____incur Technical Debt?
     Fifth levelwe
        How do
     •  Why do we take on Technical Debt?
     •  What can we do?




                                © 2011 BigVisible Solutions, Inc.. All Rights Reserved


2
Current Reality 1

     Click to edit Master text styles
     ____ __ ____ _____ ____ ______
     _____ _____
     Second level
     ____ _____
     Third level
     _____ _____
     Fourth level
     ____ _____
     Fifth level

           Are you experiencing
              Technical Debt?


                             © 2011 BigVisible Solutions, Inc.. All Rights Reserved


3
Why Do We Care? (1 of 4)

     Click to edit Master text styles
     ____ __ ____ _____ ____ ______
     _____ _____
     Second level
     ____ _____
     Third level
     _____ _____
     Fourth level
     ____ _____
     Fifth level




                             © 2011 BigVisible Solutions, Inc.. All Rights Reserved


4
Why Do We Care? (2 of 4)

     Click to edit Master text styles
     ____ __ ____ _____ ____ ______
     _____ _____
     Second level
     ____ _____
     Third level
     _____ _____
     Fourth level
     ____ _____
     Fifth level




                             © 2011 BigVisible Solutions, Inc.. All Rights Reserved


5
Why Do We Care? (3 of 4)

     Click to edit Master text styles
     ____ __ ____ _____ ____ ______
     _____ _____
     Second level
     ____ _____
     Third level
     _____ _____
     Fourth level
     ____ _____
     Fifth level




                             © 2011 BigVisible Solutions, Inc.. All Rights Reserved


6
Why Do We Care? (4 of 4)

     Click to edit Master text styles
     ____ __ ____ _____ ____ ______
     _____ _____
     Second level
     ____ _____
     Third level
     _____ _____
     Fourth level
     ____ _____
     Fifth level




                             © 2011 BigVisible Solutions, Inc.. All Rights Reserved


7
What’s Really Going On Here?

     Click to edit Master text styles
     ____ __ ____ _____ ____ ______
     _____ _____
     Second level
    Progress = ! (Change - Quality Control) "
     ____ _____
     Third level
     _____ _____
     Fourth level
     ____ _____
     Fifth level
                   ! (Diagnose + Fix)
                 # Defects

                     Change ! Complexity
    Risk of Defect =
                       Quality Control

                             © 2011 BigVisible Solutions, Inc.. All Rights Reserved


8
Current Reality, Part 2

     Click to edit Master text styles
     ____ __ ____ _____ ____ ______
     _____ _____
     Second level
     ____ _____
     Third level
     _____ _____
     Fourth level
     ____ _____
     Fifth level


        What is Technical Debt?



                              © 2011 BigVisible Solutions, Inc.. All Rights Reserved


9
What is Technical Debt?     (1 of 2)

      Click to edit Master text styles
      ____ __ ____ _____ ____ ______
      _____ _____
      Second level
      ____ _____
      Third level
      _____ _____
      Fourth levelDebt is…
      Technical
      ____ _____
      Fifth level
                     borrowing against our capacity to
                         quickly respond tomorrow

                 for the ability to make progress today.




                               © 2011 BigVisible Solutions, Inc.. All Rights Reserved


10
What is Technical Debt?                              (2 of 2)

      The Debtedit Master text styles
       ____ __ itself:
      Click to ____ _____ ____ ______
      • _____unit test coverage (low quality control)
         Poor _____
      Second level
      • ____level
      Third _____ software (comprehension complexity)*
         Poorly written
       _____ _____
      Fourth level
      •  Software design that does not match the problem being solved
       ____ _____
      Fifth level from dissonance)
         (complexity
      •  Repeated tasks remain manual (high risk of mistakes/defect)


      Interest Payments:
      •  Takes longer / more effort / is more error-prone to develop new
         features. (slower progress)
      •  Time wasted doing automatable tasks manually. (pure waste)
      •  Takes longer for new team members to ramp-up. (due to complexity)
      •  Decreasing quality delivery à Lowered morale à low gumption
      * WARNING: Code Quality metrics are diagnostic aides, NOT deterministic measures. Do not manage to them.

                                                        © 2011 BigVisible Solutions, Inc.. All Rights Reserved


11
Current Reality, Part 3

      Click to edit Master text styles
      ____ __ ____ _____ ____ ______
      _____ _____
      Second level
      ____ _____
      Third level
      _____ _____
      Fourth level
      ____ _____
      Fifth level


            How did we get here?



                               © 2011 BigVisible Solutions, Inc.. All Rights Reserved


12
How Does It Happen? (1 of 3)

      Click to edit Master text styles
      ____ __ ____ _____ ____ ______
      _____ _____
      Second level
      ____ _____
      Third level
      _____ _____
      Fourth level
      ____ _____
      Fifth level




       Original Quadrant: http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
                                                     © 2011 BigVisible Solutions, Inc.. All Rights Reserved


13
How Does It Happen? (2 of 3)
      We Don’tedit Master text styles
      ____ __ Know
      Click to ____ _____ ____ ______
      Second level know how to rigorously define our business process
          •  We don’t
       _____ _____
          •  We don’t know responsible programming practices
       ____ _____
      Third level
      Irresponsibly
       _____ _____
      Fourth level
      Fifth level away time on lower priority tasks
       ____We fritter
          • 
              _____
          •  We neglect design, coding and automation discipline

      Unavoidably (Intrinsic)
          •  We ALL learn as we go:
              •  … about our business process
              •  … how well our software solution meets our business needs.

      Deliberately (Strategic)
          •  You fully understand both approaches and you trade a technical –bility for a
             business –bility.
          •  We take the “quick & dirty” approach to meet a real deadline.
              •  And fork an effort to come-up with a cleaner solution.


                                          © 2011 BigVisible Solutions, Inc.. All Rights Reserved


14
John’s Totally Unscientific Graph

      Click to edit Master text styles
      ____ __ ____ _____ ____ ______
      _____ _____
      Second level
      ____ _____
      Third level
      _____ _____
      Fourth level
      ____ _____
      Fifth level




                               © 2011 BigVisible Solutions, Inc.. All Rights Reserved


15
How far do you want to go?

      Click to edit Master text styles
      ____ __ ____ _____ ____ ______
      _____ _____
      Second level
      ____ _____
      Third level
      _____ _____
      Fourth level
      ____ _____
      Fifth level




                              © 2011 BigVisible Solutions, Inc.. All Rights Reserved


16
Future Reality

      Click to edit Master text styles
      ____ __ ____ _____ ____ ______
      _____ _____
      Second level
      ____ _____
      Third level
      _____ _____
      Fourth level
      ____ _____
      Fifth level


                 What can we do?



                              © 2011 BigVisible Solutions, Inc.. All Rights Reserved


17
What Can We Do? (1 of 3)

      Click to edit Master text styles
      ____ __ ____ _____ ____ ______
      _____ _____
      Second level
      ____ _____
      Third level
      _____ _____
      Fourth level
      ____ _____
      Fifth level                          John J. Doe




                              © 2011 BigVisible Solutions, Inc.. All Rights Reserved


18
What Can We Do? (2 of 3)

      Click to edit Master text styles
       ____ __ ____ _____ ____ ______
       _____ _____
      Second level
      The Three-Fold Path to Satisfaction
       ____ _____
      Third level
       _____ _____
      Fourth level
      1.  Fix what you can control.
       ____ _____
      Fifth level
      2.  Address what you can influence.
      3.  Escalate what you need help with.




                                   © 2011 BigVisible Solutions, Inc.. All Rights Reserved


19
What Can We Do? (3 of 3)

      Click to edit Master text styles
       ____ __ ____ _____ ____ ______
       _____ _____
      Second level
      The Six_____ Transformational Patterns to Cure Human Causes
       ____ Golden*
      Third level
       _____ _____
      Fourth level
      1.  Collapse the Org
       ____ _____
      Fifth level
      2.  Quality First
      3.  Active Product Ownership
      4.  Hire for Cross-Functional Teams
      5.  Encourage Communication
      6.  Avoid Arbitrary Mandates



      * Jonathon Golden (see references at end of deck)


                                               © 2011 BigVisible Solutions, Inc.. All Rights Reserved


20
As a Developer…               (1 of 2)

      Give Test-Driven _____ ____ ______ serious college try.
      Click to edit Master text styles
      ____ __ ____ Development (TDD) a
      Start with_____ Shore’s “Let’s Play TDD”:
       _____ James
      Second level
      ____ Install
         1.  _____
      Third level Eclipse:
      _____level_____
      Fourth http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliossr2
         2.  Start the first video:
      ____ http://www.youtube.com/watch?v=f3G7gu1IHws
              _____
      Fifth level




                                             © 2011 BigVisible Solutions, Inc.. All Rights Reserved


21
As a Developer…         (2 of 2)

      Click to edit Master text styles
        ____ __ ____ _____ ____ ______
        _____ _____
      Second level
     Pick-up a Chop-Sharpening Book:
     1. ____level Programmer
      Third _____
         Pragmatic
        _____ _____
      Fourth level
     2. ____ _____
         Refactoring
      Fifth level
     3.  Head First Design Patterns
     4.  Managing Software Debt


     Here’s the most up-to-date list:
         http://tinyurl.com/422aco8




                                        © 2011 BigVisible Solutions, Inc.. All Rights Reserved


22
Mapping Technical Debt

      Click to edit Master text styles
       ____ __ ____ _____ ____ ______
       _____ _____
      Second level
      Chris Sterling’s Technical Debt Mapping:
       ____ _____
      Third level
      1.  Draw_____
       _____ major
      Fourth level application components on a whiteboard.
       ____ _____
      Fifth level
      2.  Write down Technical Debt on stickies and put them on the board.
      3.  Identify the potential value and cost to the team, if addressed.
      4.  Prioritize by balancing value, cost and immediacy.




                                     © 2011 BigVisible Solutions, Inc.. All Rights Reserved


23
Coda     (1 of 2)

      Click to edit Master text styles
      ____ __ ____ _____ ____ ______
      _____ _____
      Second level
      ____ _____
      Third level
      _____ _____
      Fourth level
      ____ _____
      Fifth level


                  What Stuck?


                              © 2011 BigVisible Solutions, Inc.. All Rights Reserved


24
Coda     (2 of 2)

      Click to edit Master text styles
      ____ __ ____ _____ ____ ______
      _____ _____
      Second level
      ____ _____
      Third level
      _____ _____
      Fourth level
      ____ _____
      Fifth level

       What One Thing Will
         You Do Next?

                              © 2011 BigVisible Solutions, Inc.. All Rights Reserved


25
References

      Click to edit Master text styles
       ____ __ ____ _____ ____ ______
        _____ _____
      Second level
      • ____level Golden’s Cutter IT Journal Article:
         Jonathon
      Third _____
        _____ _____ Patterns for Curing the Human Causes of Technical
         “Transformation
      Fourth level
         Debt”
        ____ _____
      Fifth level
         http://www.cutter.com/content/itjournal/fulltext/2010/10/itj1010f.html
      •  Martin Fowler on the Technical Debt Quadrant
         http://martinfowler.com/bliki/TechnicalDebtQuadrant.html
      •  Ward Cunningham explains the origin of ”Technical Debt”
         http://www.youtube.com/watch?v=pqeJFYwnkjE
      •  Chris Sterling’s “An Exercise to Identify and Prioritize Software Debt”
         http://www.gettingagile.com/2010/08/13/an-exercise-to-identify-and-
         priofitize-software-debt/
      •  Sonar – Excellent Code Quality Diagnostic* Tool
         http://www.sonarsource.org/
      * “Diagnostic” meaning a way to sniff potential problems; don’t let metrics drive your thinking, just inform it.
                                                          © 2011 BigVisible Solutions, Inc.. All Rights Reserved


26

Más contenido relacionado

Similar a Managing Technical Debt by John Ryan 2011.6.22

Facebook Marketing at Social Media Summit
Facebook Marketing at Social Media SummitFacebook Marketing at Social Media Summit
Facebook Marketing at Social Media SummitDigital Vidya
 
Facebook community-building (B2B)
Facebook community-building (B2B)Facebook community-building (B2B)
Facebook community-building (B2B)Digital Vidya
 
How to Measure ROI on Facebook
How to Measure ROI on FacebookHow to Measure ROI on Facebook
How to Measure ROI on FacebookDigital Vidya
 
Irrational Loss Aversion
Irrational Loss AversionIrrational Loss Aversion
Irrational Loss AversionJon Gatrell
 
The case for Social Media Marketing - SES New Delhi
The case for Social Media Marketing - SES New DelhiThe case for Social Media Marketing - SES New Delhi
The case for Social Media Marketing - SES New DelhiDigital Vidya
 
Facebook Community-Building Malaysia
Facebook Community-Building Malaysia Facebook Community-Building Malaysia
Facebook Community-Building Malaysia Digital Vidya
 
Social Media for Customer Acquisition By Pradeep Chopra
Social Media for Customer Acquisition By Pradeep ChopraSocial Media for Customer Acquisition By Pradeep Chopra
Social Media for Customer Acquisition By Pradeep Chopraiamwire
 
Introduction to Advanced Facebook Marketing Course
Introduction to Advanced Facebook Marketing CourseIntroduction to Advanced Facebook Marketing Course
Introduction to Advanced Facebook Marketing CourseDigital Vidya
 
Facebook Marketing for Customer Acquisition
Facebook Marketing for Customer AcquisitionFacebook Marketing for Customer Acquisition
Facebook Marketing for Customer AcquisitionDigital Vidya
 
Social Media: A Killer Application
Social Media: A Killer ApplicationSocial Media: A Killer Application
Social Media: A Killer ApplicationDigital Vidya
 
Social Media for Customer Acquisition
Social Media for Customer AcquisitionSocial Media for Customer Acquisition
Social Media for Customer AcquisitionPradeep Chopra
 
Social Media for Customer Loyalty and Brand Engagement
Social Media for Customer Loyalty and Brand EngagementSocial Media for Customer Loyalty and Brand Engagement
Social Media for Customer Loyalty and Brand EngagementDigital Vidya
 
Changing Consumer Behavior towards e-commerce in India
Changing Consumer Behavior towards e-commerce in IndiaChanging Consumer Behavior towards e-commerce in India
Changing Consumer Behavior towards e-commerce in IndiaDigital Vidya
 
Agile Coaching: An Inside Look
Agile Coaching: An Inside LookAgile Coaching: An Inside Look
Agile Coaching: An Inside LookJeff Steinberg
 
Giora Morein - Metrics and diagnostics - AgileIL11
Giora Morein - Metrics and diagnostics - AgileIL11Giora Morein - Metrics and diagnostics - AgileIL11
Giora Morein - Metrics and diagnostics - AgileIL11AgileSparks
 
Smart grids and "Energy@home" Project
Smart grids and "Energy@home" ProjectSmart grids and "Energy@home" Project
Smart grids and "Energy@home" ProjectValerio Aisa
 
AgilePalooza - Agile Reporting and Metrics
AgilePalooza - Agile Reporting and MetricsAgilePalooza - Agile Reporting and Metrics
AgilePalooza - Agile Reporting and MetricsThinkLouder
 
AgilePalooza - BigScrum - Scaling Team To Program
AgilePalooza - BigScrum - Scaling Team To ProgramAgilePalooza - BigScrum - Scaling Team To Program
AgilePalooza - BigScrum - Scaling Team To ProgramThinkLouder
 
Future of the Military Work Placement Scheme
Future of the Military Work Placement Scheme Future of the Military Work Placement Scheme
Future of the Military Work Placement Scheme SkillsForLogistics
 

Similar a Managing Technical Debt by John Ryan 2011.6.22 (20)

Facebook Marketing at Social Media Summit
Facebook Marketing at Social Media SummitFacebook Marketing at Social Media Summit
Facebook Marketing at Social Media Summit
 
Facebook community-building (B2B)
Facebook community-building (B2B)Facebook community-building (B2B)
Facebook community-building (B2B)
 
How to Measure ROI on Facebook
How to Measure ROI on FacebookHow to Measure ROI on Facebook
How to Measure ROI on Facebook
 
Irrational Loss Aversion
Irrational Loss AversionIrrational Loss Aversion
Irrational Loss Aversion
 
The case for Social Media Marketing - SES New Delhi
The case for Social Media Marketing - SES New DelhiThe case for Social Media Marketing - SES New Delhi
The case for Social Media Marketing - SES New Delhi
 
Facebook Community-Building Malaysia
Facebook Community-Building Malaysia Facebook Community-Building Malaysia
Facebook Community-Building Malaysia
 
Social Media for Customer Acquisition By Pradeep Chopra
Social Media for Customer Acquisition By Pradeep ChopraSocial Media for Customer Acquisition By Pradeep Chopra
Social Media for Customer Acquisition By Pradeep Chopra
 
Introduction to Advanced Facebook Marketing Course
Introduction to Advanced Facebook Marketing CourseIntroduction to Advanced Facebook Marketing Course
Introduction to Advanced Facebook Marketing Course
 
Facebook Marketing for Customer Acquisition
Facebook Marketing for Customer AcquisitionFacebook Marketing for Customer Acquisition
Facebook Marketing for Customer Acquisition
 
Social Media: A Killer Application
Social Media: A Killer ApplicationSocial Media: A Killer Application
Social Media: A Killer Application
 
Social Media for Customer Acquisition
Social Media for Customer AcquisitionSocial Media for Customer Acquisition
Social Media for Customer Acquisition
 
Social Media for Customer Loyalty and Brand Engagement
Social Media for Customer Loyalty and Brand EngagementSocial Media for Customer Loyalty and Brand Engagement
Social Media for Customer Loyalty and Brand Engagement
 
Changing Consumer Behavior towards e-commerce in India
Changing Consumer Behavior towards e-commerce in IndiaChanging Consumer Behavior towards e-commerce in India
Changing Consumer Behavior towards e-commerce in India
 
Agile Coaching: An Inside Look
Agile Coaching: An Inside LookAgile Coaching: An Inside Look
Agile Coaching: An Inside Look
 
Giora Morein - Metrics and diagnostics - AgileIL11
Giora Morein - Metrics and diagnostics - AgileIL11Giora Morein - Metrics and diagnostics - AgileIL11
Giora Morein - Metrics and diagnostics - AgileIL11
 
Smart grids and "Energy@home" Project
Smart grids and "Energy@home" ProjectSmart grids and "Energy@home" Project
Smart grids and "Energy@home" Project
 
Regional sea level projections and attribution
Regional sea level projections and attributionRegional sea level projections and attribution
Regional sea level projections and attribution
 
AgilePalooza - Agile Reporting and Metrics
AgilePalooza - Agile Reporting and MetricsAgilePalooza - Agile Reporting and Metrics
AgilePalooza - Agile Reporting and Metrics
 
AgilePalooza - BigScrum - Scaling Team To Program
AgilePalooza - BigScrum - Scaling Team To ProgramAgilePalooza - BigScrum - Scaling Team To Program
AgilePalooza - BigScrum - Scaling Team To Program
 
Future of the Military Work Placement Scheme
Future of the Military Work Placement Scheme Future of the Military Work Placement Scheme
Future of the Military Work Placement Scheme
 

Último

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
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
 
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
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
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
 
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
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
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
 
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
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 

Último (20)

Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
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
 
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!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
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
 
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
 
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
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
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
 
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
 
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
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
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
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 

Managing Technical Debt by John Ryan 2011.6.22

  • 1. Managing Technical Debt John Ryan Technical Agile Coach © 2011 BigVisible Solutions, Inc. All Rights Reserved
  • 2. Overview Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level • ____level Who cares? Third _____ • _____level What _____ Fourth is “Technical Debt”? • ____ _____incur Technical Debt? Fifth levelwe How do •  Why do we take on Technical Debt? •  What can we do? © 2011 BigVisible Solutions, Inc.. All Rights Reserved 2
  • 3. Current Reality 1 Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level Are you experiencing Technical Debt? © 2011 BigVisible Solutions, Inc.. All Rights Reserved 3
  • 4. Why Do We Care? (1 of 4) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved 4
  • 5. Why Do We Care? (2 of 4) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved 5
  • 6. Why Do We Care? (3 of 4) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved 6
  • 7. Why Do We Care? (4 of 4) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved 7
  • 8. What’s Really Going On Here? Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level Progress = ! (Change - Quality Control) " ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level ! (Diagnose + Fix) # Defects Change ! Complexity Risk of Defect = Quality Control © 2011 BigVisible Solutions, Inc.. All Rights Reserved 8
  • 9. Current Reality, Part 2 Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level What is Technical Debt? © 2011 BigVisible Solutions, Inc.. All Rights Reserved 9
  • 10. What is Technical Debt? (1 of 2) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth levelDebt is… Technical ____ _____ Fifth level borrowing against our capacity to quickly respond tomorrow for the ability to make progress today. © 2011 BigVisible Solutions, Inc.. All Rights Reserved 10
  • 11. What is Technical Debt? (2 of 2) The Debtedit Master text styles ____ __ itself: Click to ____ _____ ____ ______ • _____unit test coverage (low quality control) Poor _____ Second level • ____level Third _____ software (comprehension complexity)* Poorly written _____ _____ Fourth level •  Software design that does not match the problem being solved ____ _____ Fifth level from dissonance) (complexity •  Repeated tasks remain manual (high risk of mistakes/defect) Interest Payments: •  Takes longer / more effort / is more error-prone to develop new features. (slower progress) •  Time wasted doing automatable tasks manually. (pure waste) •  Takes longer for new team members to ramp-up. (due to complexity) •  Decreasing quality delivery à Lowered morale à low gumption * WARNING: Code Quality metrics are diagnostic aides, NOT deterministic measures. Do not manage to them. © 2011 BigVisible Solutions, Inc.. All Rights Reserved 11
  • 12. Current Reality, Part 3 Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level How did we get here? © 2011 BigVisible Solutions, Inc.. All Rights Reserved 12
  • 13. How Does It Happen? (1 of 3) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level Original Quadrant: http://martinfowler.com/bliki/TechnicalDebtQuadrant.html © 2011 BigVisible Solutions, Inc.. All Rights Reserved 13
  • 14. How Does It Happen? (2 of 3) We Don’tedit Master text styles ____ __ Know Click to ____ _____ ____ ______ Second level know how to rigorously define our business process •  We don’t _____ _____ •  We don’t know responsible programming practices ____ _____ Third level Irresponsibly _____ _____ Fourth level Fifth level away time on lower priority tasks ____We fritter •  _____ •  We neglect design, coding and automation discipline Unavoidably (Intrinsic) •  We ALL learn as we go: •  … about our business process •  … how well our software solution meets our business needs. Deliberately (Strategic) •  You fully understand both approaches and you trade a technical –bility for a business –bility. •  We take the “quick & dirty” approach to meet a real deadline. •  And fork an effort to come-up with a cleaner solution. © 2011 BigVisible Solutions, Inc.. All Rights Reserved 14
  • 15. John’s Totally Unscientific Graph Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved 15
  • 16. How far do you want to go? Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved 16
  • 17. Future Reality Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level What can we do? © 2011 BigVisible Solutions, Inc.. All Rights Reserved 17
  • 18. What Can We Do? (1 of 3) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level John J. Doe © 2011 BigVisible Solutions, Inc.. All Rights Reserved 18
  • 19. What Can We Do? (2 of 3) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level The Three-Fold Path to Satisfaction ____ _____ Third level _____ _____ Fourth level 1.  Fix what you can control. ____ _____ Fifth level 2.  Address what you can influence. 3.  Escalate what you need help with. © 2011 BigVisible Solutions, Inc.. All Rights Reserved 19
  • 20. What Can We Do? (3 of 3) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level The Six_____ Transformational Patterns to Cure Human Causes ____ Golden* Third level _____ _____ Fourth level 1.  Collapse the Org ____ _____ Fifth level 2.  Quality First 3.  Active Product Ownership 4.  Hire for Cross-Functional Teams 5.  Encourage Communication 6.  Avoid Arbitrary Mandates * Jonathon Golden (see references at end of deck) © 2011 BigVisible Solutions, Inc.. All Rights Reserved 20
  • 21. As a Developer… (1 of 2) Give Test-Driven _____ ____ ______ serious college try. Click to edit Master text styles ____ __ ____ Development (TDD) a Start with_____ Shore’s “Let’s Play TDD”: _____ James Second level ____ Install 1.  _____ Third level Eclipse: _____level_____ Fourth http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/heliossr2 2.  Start the first video: ____ http://www.youtube.com/watch?v=f3G7gu1IHws _____ Fifth level © 2011 BigVisible Solutions, Inc.. All Rights Reserved 21
  • 22. As a Developer… (2 of 2) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level Pick-up a Chop-Sharpening Book: 1. ____level Programmer Third _____ Pragmatic _____ _____ Fourth level 2. ____ _____ Refactoring Fifth level 3.  Head First Design Patterns 4.  Managing Software Debt Here’s the most up-to-date list: http://tinyurl.com/422aco8 © 2011 BigVisible Solutions, Inc.. All Rights Reserved 22
  • 23. Mapping Technical Debt Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level Chris Sterling’s Technical Debt Mapping: ____ _____ Third level 1.  Draw_____ _____ major Fourth level application components on a whiteboard. ____ _____ Fifth level 2.  Write down Technical Debt on stickies and put them on the board. 3.  Identify the potential value and cost to the team, if addressed. 4.  Prioritize by balancing value, cost and immediacy. © 2011 BigVisible Solutions, Inc.. All Rights Reserved 23
  • 24. Coda (1 of 2) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level What Stuck? © 2011 BigVisible Solutions, Inc.. All Rights Reserved 24
  • 25. Coda (2 of 2) Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level ____ _____ Third level _____ _____ Fourth level ____ _____ Fifth level What One Thing Will You Do Next? © 2011 BigVisible Solutions, Inc.. All Rights Reserved 25
  • 26. References Click to edit Master text styles ____ __ ____ _____ ____ ______ _____ _____ Second level • ____level Golden’s Cutter IT Journal Article: Jonathon Third _____ _____ _____ Patterns for Curing the Human Causes of Technical “Transformation Fourth level Debt” ____ _____ Fifth level http://www.cutter.com/content/itjournal/fulltext/2010/10/itj1010f.html •  Martin Fowler on the Technical Debt Quadrant http://martinfowler.com/bliki/TechnicalDebtQuadrant.html •  Ward Cunningham explains the origin of ”Technical Debt” http://www.youtube.com/watch?v=pqeJFYwnkjE •  Chris Sterling’s “An Exercise to Identify and Prioritize Software Debt” http://www.gettingagile.com/2010/08/13/an-exercise-to-identify-and- priofitize-software-debt/ •  Sonar – Excellent Code Quality Diagnostic* Tool http://www.sonarsource.org/ * “Diagnostic” meaning a way to sniff potential problems; don’t let metrics drive your thinking, just inform it. © 2011 BigVisible Solutions, Inc.. All Rights Reserved 26