SlideShare a Scribd company logo
1 of 49
Webinar:
 Managing Technical Debt



Audio and video of this presentation are available at the link below

        http://blog.acrowire.com/td-webinar

                                                                       1
Ted Theodoropoulos
         President
         Acrowire
      ted@acrowire.com




   Michael Milutis
   Director of Marketing
  Computer Aid, Inc. (CAI)
 Michael_milutis@compaid.com

                               2
Ted Theodoropoulos

             President of Acrowire Technology Consulting
                  •Application Development
                  •Business Process Improvement
                  •ALM/Tech debt assessments
             Programming since 1982
                  •TI-99/4a using BASIC
             Microsoft SQL Server Team
             10 years at Bank of America
                  •Development Team Manager
                  •IT Auditor
                  •Senior VP in Operational Risk
             Undergrad in Mathematics & MBA from UNC
             Six Sigma Black Belt/CSM/MCP



                                                           3
PDU CREDITS
     FOR THIS WEBINAR

 The Project Management Institute
has accredited this webinar with PDUs




                                        4
Managing Technical Debt
ITMPI Webinar ▪ May 15, 2012
1. Introduction



                  6
1. Introduction
Outline




     1.Introduction
     2.What is technical debt?
     3.Opportunities and challenges?
     4.Business impacts
     5.Foursquare case study
     6.Managing the lifecycle



                                       7
2. What is technical debt?



                             8
2. What is technical debt?
Evolution


                  Ward Cunningham
                  Invented the wiki in 1994
                  Coined the term at OOPSLA in 1992

    Technical Debt includes those internal things that you choose not to do
    now, but which will impede future development if left undone. This
    includes deferred refactoring.

    Technical Debt doesn't include deferred functionality, except possibly in
    edge cases where delivered functionality is "good enough" for the
    customer, but doesn't satisfy some standard (e.g., a UI element that isn't
    fully compliant with some UI standard).




                                                                                 9
2. What is technical debt?
Evolution


                      Jeff Sutherland
                      Cofounder of Scrum
                      Opined at Scrum Gathering in 2006

  Described the following technical debt scenarios:
       •   The code is considered part of a core legacy system, in which its functionality is
           connected to so many other parts of the system that it’s impossible to isolate any
           one component.
       •   There is either no testing or minimal testing surrounding the code. Although it
           may sound redundant, it is necessary to point out that without comprehensive
           unit tests, it is impossible to refactor the code to a more manageable state.
       •   There is highly compartmentalized knowledge regarding the core/legacy system,
           supported by only one or two people in the company.




                                                                                                10
2. What is technical debt?
Evolution


                   Steve McConnell
                   Author/Software Engineer
                   Proposed First Taxonomy in 2007

    I. Debt incurred unintentionally due to low quality work
    II. Debt incurred intentionally
       II.A. Short-term debt, usually incurred reactively, for tactical reasons
         II.A.1. Individually identifiable shortcuts (like a car loan)
         II.A.2. Numerous tiny shortcuts (like credit card debt)
       II.B. Long-term debt, usually incurred proactively, for strategic reasons




                                                                                   11
2. What is technical debt?
Evolution


            Martin Fowler
            Author/Software Engineer
            Established TD Quadrants in 2009




                                               12
2. What is technical debt?
Evolution


                    Gartner, Inc
                    IT Research and Advisory
                    Estimated $500 Billion of “IT Debt” in 2010

   Gartner Estimates Global 'IT Debt' to Be $500 Billion This Year, with
   Potential to Grow to $1 Trillion by 2015

   "The issue is not just that maintenance keeps on getting deferred, it is that
   the lack of an application inventory and the absence of a structured review
   process for the application portfolio. This means the IT management team
   is simply never aware of the true scale of the problem”




                                                                                   13
2. What is technical debt?
Current


             Ted Theodoropoulos
             Technical Debt Practitioner
             Proposed “Stakeholder Perspective” at SEI in 2011


   “Technical debt is any gap within the
   technology infrastructure, or its
   implementation, which has a material impact
   on the required level of quality.”



                                                          14
2. What is technical debt?
Stakeholder Perspective



                                            Business             Development
                                           Executives               Team




                                                                                                            Internal
                             Risk                                                    Infrastructure
                           Managers                                                       Team




                                           Technical Environment


      Board of Directors                                                                         Internal
                                                                                                 Auditors




                                                                                                            External
       Customers                Analysts          Shareholders          Regulators
                                                                                                 External
                                                                                                 Auditors


    Stakeholders need better transparency and engagement around
          issues affecting quality in the technical environment.

                                                                                                                       15
2. What is technical debt?
Quality Requirements




•   Gaps impacting required levels of quality represent technical debt
•   Teams can “borrow” against the ideal solution to speed initial delivery
•   Interest is then paid in the form of lower productivity and/or incremental risk
•   Maintenance and enhancement activities become more onerous and expensive
•   Interest compounds as workarounds are applied on top of workarounds




                                                                                      16
2. What is technical debt?
Deficits and Surpluses




•   Yellow section shows gap in maintainability on which interest is paid
•   Conversely blue represents unneeded functionality that must be maintained
•   Deficits and surpluses in application quality cost the organization money
•   Ideally green area would fill area within dashed line

                                                                                17
3. Opportunities and
     Challenges



                       18
3. Opportunities and Challenges
Opportunities

                                Translation


   void clearIECache()
   { ClearFolder (new


                                 $658,031.35
   DirectoryInfo (

   Environment.GetFolderPath
   (Environment.SpecialFolder
   .InternetCache)
                     )); }  

                                               Stakeholder




                                                             19
3. Opportunities and Challenges
Opportunities

                       Prioritization




    •   Business leaders always want to build new stuff
    •   Quantifying gaps in dollars levels the playing field
    •   Getting the business to recognize the value of refactoring is difficult
    •   New initiatives can be prioritized based ROI against debt reduction


                                                                                  20
3. Opportunities and Challenges
Opportunities

                Transparency




       Know what is beneath the surface!
                                           21
3. Opportunities and Challenges
Opportunities

           Risk Management




       Know what is beneath the surface!
                                           22
3. Opportunities and Challenges
Challenges

       No Conceptual Model




                                  23
3. Opportunities and Challenges
Challenges

             Concept Fragmentation
       Vendor Support Debt
Quality Debt             P airing D e b t

                                                Documentation Debt
 Configuration Management Debt
                                                                         Testing Debt
                           Legacy Debt          Access Control Debt
SEO Debt
                                                   Platform Experience Debt
                Refactoring Debt
                                             Data Quality Debt
Design Debt
“Cruft is technical debt!”               “Cruft isn’t technical debt!”
               -Ted Theodoropoulos       -Uncle Bob Martin
                                                                                   24
3. Opportunities and Challenges
Challenges

         Unknown Future State
•   No standards organization currently manages to concept
•   Uncertainty around what technical debt is headed
•   Adoption will be hampered by this uncertainty
•   SEI is leading efforts to move the concept forward




                                                             25
4. Business Impacts



                      26
4. Business Impacts
Platform Stability



  • Technical debt is often fragile or difficult to maintain code
  • Has a destabilizing effect on production systems
  • This type of technical debt decreases agility and increases
    defects
  • Increases risk of production issues with customer impact
  • Decreases ability to seize market opportunities
  • Increases fire drills which impacts morale
  • Lower employee satisfaction makes talent retention challenging




                                                                     27
4. Business Impacts
Cost of Change




 • Technical debt typically compounds over time
 • This phenomena increases CoC exponentially
 • Customer responsiveness is inversely proportional to CoC



                                                              28
4. Business Impacts
Technical Bankruptcy




 • Unabated technical debt leads to ballooning interest
   payments
 • Over time the interest payments become all consuming
 • First there are no resources available for enhancements
 • Then interest payments exceed the available resources
 • This is known as technical bankruptcy
                                                             29
5. Foursquare Case Study



                           30
5. Foursquare Case Study
Background


 •    In Spring 2011, Amazon had a major outage in AWS
 •    Multiple availability zones (AZs) were impacted
 •    While the outage was disappointing it did not violate the SLA
 •    As Gartner points out below there were no SLAs for impacted services


     Amazon’s SLA for EC2 is 99.95% for multi-AZ deployments. That means that
     you should expect that you can have about 4.5 hours of total region
     downtime each year without Amazon violating their SLA. Note, by the way,
     that this outage does not actually violate their SLA. Their SLA defines
     unavailability as a lack of external connectivity to EC2 instances, coupled
     with the inability to provision working instances. In this case, EC2 was just
     fine by that definition. It was EBS and RDS which weren’t, and neither of
     those services have SLAs.



                                                                                     31
5. Foursquare Case Study
Architecture


 •   Amazon is an infrastructure as a service (IaaS) provider
 •   IaaS consumers can design applications as they see fit
 •   Individual requirements dictate architecture
 •   If an app requires HA then it must be accommodated in the design
 •   Failing to satisfy requirements introduces risk into the environment
 •   Foursquare replicated across AZs instead of across data centers
 •   Best practices for HA were not followed




                                                                            32
5. Foursquare Case Study
Technical Debt

 •   Implementing full redundancy is not cheap
 •   Startup capital is a scarce resource and must be used wisely
 •   Replicating across AZs was cheaper than across data centers
 •   This architecture created a requirements gap which represents debt
 •   The principal of the technical debt is the cost to provide full HA
 •   The interest takes the form of the incremental risk




                                                                          33
5. Foursquare Case Study
Debt Calculation


 •   Based on optimal design risk of an event is 0.5%
 •   Design shortcuts increased risk to 4%
 •   Incremental risk associated with design is 3.5%
 •   If outage occurs, damage to brand and investor confidence
 •   Additionally, there will be lost users and market share
 •   The estimated cost of such an event is $1M


                   Incremental Risk:   4%-0.5% = 3.5%
                    Cost of Failure:     $1,000,000
                       Interest:          $35,000




                                                                 34
5. Foursquare Case Study
Prudent Debt


 •   Technical debt can be leveraged responsibly just like financial debt
 •   Assume the appropriate design cost add’l $100K to implement
 •   That relatively large investment would eliminate $35K in risk
 •   Such an investment would provide a 35% ROI
 •   Each dollar invested would give $0.35 back to the business
 •   Currently, paying off debt might be a questionable use of capital


                        Principal:          $100,000
                        Interest:           $35,000
                  Return on Investment:       35%




                                                                            35
5. Foursquare Case Study
Imprudent Debt


 •   Sometimes the risk/reward equation is out of balance
 •   Assume the appropriate design cost add’l $5K to implement
 •   That relatively small investment would eliminate same $35K in risk
 •   Such an investment would provide a 700% ROI
 •   Each dollar invested would give $7 back to the business
 •   Currently, paying off debt would be a wise use of capital


                       Principal:            $5,000
                       Interest:            $35,000
                 Return on Investment:        700%




                                                                          36
5. Foursquare Case Study
Initial Focus

                                                              Am a z o n S e rve r
                                                              T r o u b le s T a k e d o w n
“Massive failure at Amazon Web Services causes havoc…”        R e d d i t, F o u rs q u a re
-GeekWire                                                     & H o o ts u i te
                                                                                         -M ashable
                                            Am azon E C 2 O u tage H ob b le s We b s ite s
                                            -Information Week

“Amazon Server Outage Blanks
Popular Websites”
                   -Fox News
                                        “Amazon’s Web Services outage: End of cloud innocence?”
                                                                                         -ZDNet
           Am azon M alfu nction R ais e s D ou b ts Ab ou t C lou d C om p u ting
           -NY Times


                                                                                            37
5. Foursquare Case Study
  Retrospective Focus

 "In short, if your systems failed in the Amazon cloud this week,      F ailing to p lan is
                                          it wasn't Amazon's fault,“   p lanning to fail
                                                    -O’Reilly Media                       -A crowire
“The AWS story
shows how                            We designed for failure from day one. Any of our instances, or
                                     any group of instances in an AZ, can be “shot in the head” and
important it is to                   our system will recover.
think about                                                                              -SmugMug
engineering when
you're designing
systemswere some websites impacted while others were not? For Netflix, the
    Why for the
cloud.“ answer is that our systems are designed explicitly for these sorts of
    short
    failures.
-DataPipe                                                                               -Netflix
“Lessons from a cloud failure: It’s not Amazon, it’s YOU!
                                          -Webmonkey

                                                                                                  38
6. Manage the Lifecycle



                          39
6. Manage the Lifecycle
Lifecycle Phases




                   Technical
                     Debt




                               40
6. Manage the Lifecycle
Define


 •   Define what qualifies as technical debt in your organization
 •   Think through the implications of the defined boundaries
 •   Process must be collaborative and not done in a vacuum
 •   Will key stakeholders (i.e. audit, risk mgmt, IT) buy into it?



                                                    Business             Development
                                                   Executives               Team




                                                                                                                    Internal
                                     Risk                                                    Infrastructure
                                   Managers                                                      Team




                                                   Technical Environment


              Board of Directors                                                                         Internal
                                                                                                         Auditors




                                                                                                                    External
               Customers                Analysts          Shareholders          Regulators
                                                                                                         External
                                                                                                         Auditors



                                                                                                                               41
6. Manage the Lifecycle
Define

         Framework Alignment




                               42
6. Manage the Lifecycle
Identify

     Signs you might have it…
           •   Don’t we have documentation on the file layouts?
           •   I thought we had a test for that!
           •   If I change X it is going to break Y….I think.
           •   Don’t touch that code. The last time we did it took weeks to fix.
           •   The server is down. Where are the backups?
           •   Where is the email about that bug?
           •   We can’t upgrade. No one understands the code.




                                                                                   43
6. Manage the Lifecycle
Identify

                        Establish KRIs
      Leading Indicators
 •Poor code quality
 •Inadequate code coverage
 •Non-compliance

      Lagging Indicators
 •SLA violations
 •Audit failures
 •Data quality issues




                                         44
6. Manage the Lifecycle
Measure

            Calculating Principal


   n = Number of resources required
   R = Rate (hourly average) of resource
   H = Hours required
   C = Costs associated with benefits, payroll, recruitment (usually ~40% of hourly rate)
   HC = Hardware Costs
   SL = Software Licenses
   MI = Migration and Implementation expenses (e.g. consulting engagements, training, etc)




                                                                                             45
6. Manage the Lifecycle
Remediate

                      Prioritization


                                      ROI



   •   Refactoring initiatives can be evaluated
   •   Quantifying gaps in dollars levels the playing field
   •   Getting the business to recognize the value of refactoring is difficult
   •   New initiatives can be prioritized based ROI against debt reduction


                                                                                 46
6. Manage the Lifecycle
Govern

                Capital Structure
         •   Evaluate free cash flow volatility over time
         •   Determine appropriate technical debt to equity ratio
         •   Monitor your technical balance sheet diligently
         •   Establish centralized debt registration database
         •   Implement credit limits for high risk areas of the infrastructure
         •   Foster a risk management culture within the organization




                                                                                 47
Questions?




             48
Ted Theodoropoulos
         President
         Acrowire
      ted@acrowire.com




   Michael Milutis
   Director of Marketing
  Computer Aid, Inc. (CAI)
 Michael_milutis@compaid.com

                               49

More Related Content

What's hot

Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotDerek Huether
 
Agile evolution lifecycle - From implementing Agile to being Agile
Agile evolution lifecycle - From implementing Agile to being AgileAgile evolution lifecycle - From implementing Agile to being Agile
Agile evolution lifecycle - From implementing Agile to being AgileMichal Epstein
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 
Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...
Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...
Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...Cprime
 
The Product Management Vacuum and the 3 V's
The Product Management Vacuum and the 3 V'sThe Product Management Vacuum and the 3 V's
The Product Management Vacuum and the 3 V'sDon McGreal
 
Applying the Lean Startup Model to the Enterprise
Applying the Lean Startup Model to the EnterpriseApplying the Lean Startup Model to the Enterprise
Applying the Lean Startup Model to the EnterpriseJez Humble
 
Agile adoption vs Agile transformation
Agile adoption vs Agile transformationAgile adoption vs Agile transformation
Agile adoption vs Agile transformationMatthew Moran
 
LEGO SERIOUS PLAY: Imagination & Creativity for the Business
LEGO SERIOUS PLAY: Imagination & Creativity for the BusinessLEGO SERIOUS PLAY: Imagination & Creativity for the Business
LEGO SERIOUS PLAY: Imagination & Creativity for the BusinessPatrizia Bertini
 
DevOps Lifecycle | Edureka
DevOps Lifecycle | EdurekaDevOps Lifecycle | Edureka
DevOps Lifecycle | EdurekaEdureka!
 
User Story Mapping, Discover the whole story
User Story Mapping, Discover the whole storyUser Story Mapping, Discover the whole story
User Story Mapping, Discover the whole storyJeff Patton
 
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream FlowLearn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream FlowDevOps.com
 
Refactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureRefactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureBrad Appleton
 
Getting to the heart of agile by Alistair Cockburn
Getting to the heart of agile by Alistair CockburnGetting to the heart of agile by Alistair Cockburn
Getting to the heart of agile by Alistair CockburnInstitut Lean France
 
Agile effort estimation
Agile effort estimation Agile effort estimation
Agile effort estimation Elad Sofer
 
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 v4DevOps.com
 
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"Daniel Bryant
 
De component à feature team (Rex STIME DSI Groupement des Mousquetaires)
De component à feature team (Rex STIME DSI Groupement des Mousquetaires)De component à feature team (Rex STIME DSI Groupement des Mousquetaires)
De component à feature team (Rex STIME DSI Groupement des Mousquetaires)Agile En Seine
 

What's hot (20)

Agile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is NotAgile101 - What Agile Is and What Agile Is Not
Agile101 - What Agile Is and What Agile Is Not
 
Agile evolution lifecycle - From implementing Agile to being Agile
Agile evolution lifecycle - From implementing Agile to being AgileAgile evolution lifecycle - From implementing Agile to being Agile
Agile evolution lifecycle - From implementing Agile to being Agile
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
Agile 101
Agile 101Agile 101
Agile 101
 
Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...
Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...
Lean Portfolio Strategy Part 2: Shifting from Imitation to Real LPM - The Mov...
 
The Product Management Vacuum and the 3 V's
The Product Management Vacuum and the 3 V'sThe Product Management Vacuum and the 3 V's
The Product Management Vacuum and the 3 V's
 
Applying the Lean Startup Model to the Enterprise
Applying the Lean Startup Model to the EnterpriseApplying the Lean Startup Model to the Enterprise
Applying the Lean Startup Model to the Enterprise
 
Agile adoption vs Agile transformation
Agile adoption vs Agile transformationAgile adoption vs Agile transformation
Agile adoption vs Agile transformation
 
LEGO SERIOUS PLAY: Imagination & Creativity for the Business
LEGO SERIOUS PLAY: Imagination & Creativity for the BusinessLEGO SERIOUS PLAY: Imagination & Creativity for the Business
LEGO SERIOUS PLAY: Imagination & Creativity for the Business
 
DevOps Lifecycle | Edureka
DevOps Lifecycle | EdurekaDevOps Lifecycle | Edureka
DevOps Lifecycle | Edureka
 
feature vs component teams
feature vs component teamsfeature vs component teams
feature vs component teams
 
User Story Mapping, Discover the whole story
User Story Mapping, Discover the whole storyUser Story Mapping, Discover the whole story
User Story Mapping, Discover the whole story
 
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream FlowLearn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
Learn from the Experts: Using DORA Metrics to Accelerate Value Stream Flow
 
Refactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary ArchitectureRefactoring, Emergent Design & Evolutionary Architecture
Refactoring, Emergent Design & Evolutionary Architecture
 
Product Backlog Management
Product Backlog ManagementProduct Backlog Management
Product Backlog Management
 
Getting to the heart of agile by Alistair Cockburn
Getting to the heart of agile by Alistair CockburnGetting to the heart of agile by Alistair Cockburn
Getting to the heart of agile by Alistair Cockburn
 
Agile effort estimation
Agile effort estimation Agile effort estimation
Agile effort estimation
 
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
 
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
DevRelCon 2022: "Is Product Led Growth (PLG) the “DevOps” of the DevRel World"
 
De component à feature team (Rex STIME DSI Groupement des Mousquetaires)
De component à feature team (Rex STIME DSI Groupement des Mousquetaires)De component à feature team (Rex STIME DSI Groupement des Mousquetaires)
De component à feature team (Rex STIME DSI Groupement des Mousquetaires)
 

Similar to Managing Technical Debt

7 Steps to Pay Down the Interest on Your IT Technical Debt
7 Steps to Pay Down the Interest on Your IT Technical Debt7 Steps to Pay Down the Interest on Your IT Technical Debt
7 Steps to Pay Down the Interest on Your IT Technical DebtCAST
 
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran Deri
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran DeriManaging Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran Deri
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran DeriAgileSparks
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debtFadi Stephan
 
E2 Manage Tech Design Implementation General 2010
E2 Manage Tech Design Implementation General 2010E2 Manage Tech Design Implementation General 2010
E2 Manage Tech Design Implementation General 2010bdwwork
 
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...Compuware APM
 
Consequences of a Failed ECM Implementation
Consequences of a Failed ECM ImplementationConsequences of a Failed ECM Implementation
Consequences of a Failed ECM ImplementationiDatix
 
Understanding and Managing Technical Debt
Understanding and Managing Technical DebtUnderstanding and Managing Technical Debt
Understanding and Managing Technical DebtDr. Syed Hassan Amin
 
IT AUDITORS TRAINING
IT AUDITORS TRAININGIT AUDITORS TRAINING
IT AUDITORS TRAININGArul Nambi
 
Isys40051 12 is suppliers & outsourcing v2
Isys40051 12 is suppliers & outsourcing v2Isys40051 12 is suppliers & outsourcing v2
Isys40051 12 is suppliers & outsourcing v2Grenville Lannon
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...STX Next
 
Organizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerOrganizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerKurt Solarte
 
Emerging Trends in IT & Enterprise architecture
Emerging Trends in IT & Enterprise architectureEmerging Trends in IT & Enterprise architecture
Emerging Trends in IT & Enterprise architectureiCMG International
 
Planning for and assessing an itsm program
Planning for and assessing an itsm programPlanning for and assessing an itsm program
Planning for and assessing an itsm programTroy DuMoulin
 
Cutting IT Costs by Applying Lean Principles CAST
Cutting IT Costs by Applying Lean Principles CASTCutting IT Costs by Applying Lean Principles CAST
Cutting IT Costs by Applying Lean Principles CASTCAST
 
Meeting the Challenge of Vivek Kundra's 25 Point Plan
Meeting the Challenge of Vivek Kundra's 25 Point PlanMeeting the Challenge of Vivek Kundra's 25 Point Plan
Meeting the Challenge of Vivek Kundra's 25 Point PlanPlanet Technologies
 
Is an agile SDLC an oxymoron?
Is an agile SDLC an oxymoron? Is an agile SDLC an oxymoron?
Is an agile SDLC an oxymoron? Dave Sharrock
 
Monetize Your Technical Debt
Monetize Your Technical DebtMonetize Your Technical Debt
Monetize Your Technical DebtCAST
 
Transform Your Application Portfolio - and Keep Your Focus!
Transform Your Application Portfolio - and Keep Your Focus!Transform Your Application Portfolio - and Keep Your Focus!
Transform Your Application Portfolio - and Keep Your Focus!Software AG
 

Similar to Managing Technical Debt (20)

7 Steps to Pay Down the Interest on Your IT Technical Debt
7 Steps to Pay Down the Interest on Your IT Technical Debt7 Steps to Pay Down the Interest on Your IT Technical Debt
7 Steps to Pay Down the Interest on Your IT Technical Debt
 
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran Deri
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran DeriManaging Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran Deri
Managing Technical Debt and Professionalism @ CyberArk - Noam Zweig & Ran Deri
 
Managing technical debt
Managing technical debtManaging technical debt
Managing technical debt
 
E2 Manage Tech Design Implementation General 2010
E2 Manage Tech Design Implementation General 2010E2 Manage Tech Design Implementation General 2010
E2 Manage Tech Design Implementation General 2010
 
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...
IDC & Gomez Webinar --Best Practices: Protect Your Online Revenue Through Web...
 
Consequences of a Failed ECM Implementation
Consequences of a Failed ECM ImplementationConsequences of a Failed ECM Implementation
Consequences of a Failed ECM Implementation
 
Technical Debt.pptx
Technical Debt.pptxTechnical Debt.pptx
Technical Debt.pptx
 
Understanding and Managing Technical Debt
Understanding and Managing Technical DebtUnderstanding and Managing Technical Debt
Understanding and Managing Technical Debt
 
IT AUDITORS TRAINING
IT AUDITORS TRAININGIT AUDITORS TRAINING
IT AUDITORS TRAINING
 
Isys40051 12 is suppliers & outsourcing v2
Isys40051 12 is suppliers & outsourcing v2Isys40051 12 is suppliers & outsourcing v2
Isys40051 12 is suppliers & outsourcing v2
 
What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...What scrum masters and product owners should know about software quality and ...
What scrum masters and product owners should know about software quality and ...
 
Organizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements ComposerOrganizing Design-Driven Development Using Rational Requirements Composer
Organizing Design-Driven Development Using Rational Requirements Composer
 
Emerging Trends in IT & Enterprise architecture
Emerging Trends in IT & Enterprise architectureEmerging Trends in IT & Enterprise architecture
Emerging Trends in IT & Enterprise architecture
 
Planning for and assessing an itsm program
Planning for and assessing an itsm programPlanning for and assessing an itsm program
Planning for and assessing an itsm program
 
Cutting IT Costs by Applying Lean Principles CAST
Cutting IT Costs by Applying Lean Principles CASTCutting IT Costs by Applying Lean Principles CAST
Cutting IT Costs by Applying Lean Principles CAST
 
Telcom Offshoring
Telcom OffshoringTelcom Offshoring
Telcom Offshoring
 
Meeting the Challenge of Vivek Kundra's 25 Point Plan
Meeting the Challenge of Vivek Kundra's 25 Point PlanMeeting the Challenge of Vivek Kundra's 25 Point Plan
Meeting the Challenge of Vivek Kundra's 25 Point Plan
 
Is an agile SDLC an oxymoron?
Is an agile SDLC an oxymoron? Is an agile SDLC an oxymoron?
Is an agile SDLC an oxymoron?
 
Monetize Your Technical Debt
Monetize Your Technical DebtMonetize Your Technical Debt
Monetize Your Technical Debt
 
Transform Your Application Portfolio - and Keep Your Focus!
Transform Your Application Portfolio - and Keep Your Focus!Transform Your Application Portfolio - and Keep Your Focus!
Transform Your Application Portfolio - and Keep Your Focus!
 

Recently uploaded

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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...Enterprise Knowledge
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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...Miguel Araújo
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
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 organizationRadu Cotescu
 
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 WorkerThousandEyes
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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 productivityPrincipled Technologies
 
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 AutomationSafe Software
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
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...Drew Madelung
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
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...apidays
 

Recently uploaded (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
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...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
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
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 
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
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
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...
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
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...
 

Managing Technical Debt

  • 1. Webinar: Managing Technical Debt Audio and video of this presentation are available at the link below http://blog.acrowire.com/td-webinar 1
  • 2. Ted Theodoropoulos President Acrowire ted@acrowire.com Michael Milutis Director of Marketing Computer Aid, Inc. (CAI) Michael_milutis@compaid.com 2
  • 3. Ted Theodoropoulos President of Acrowire Technology Consulting •Application Development •Business Process Improvement •ALM/Tech debt assessments Programming since 1982 •TI-99/4a using BASIC Microsoft SQL Server Team 10 years at Bank of America •Development Team Manager •IT Auditor •Senior VP in Operational Risk Undergrad in Mathematics & MBA from UNC Six Sigma Black Belt/CSM/MCP 3
  • 4. PDU CREDITS FOR THIS WEBINAR The Project Management Institute has accredited this webinar with PDUs 4
  • 5. Managing Technical Debt ITMPI Webinar ▪ May 15, 2012
  • 7. 1. Introduction Outline 1.Introduction 2.What is technical debt? 3.Opportunities and challenges? 4.Business impacts 5.Foursquare case study 6.Managing the lifecycle 7
  • 8. 2. What is technical debt? 8
  • 9. 2. What is technical debt? Evolution Ward Cunningham Invented the wiki in 1994 Coined the term at OOPSLA in 1992 Technical Debt includes those internal things that you choose not to do now, but which will impede future development if left undone. This includes deferred refactoring. Technical Debt doesn't include deferred functionality, except possibly in edge cases where delivered functionality is "good enough" for the customer, but doesn't satisfy some standard (e.g., a UI element that isn't fully compliant with some UI standard). 9
  • 10. 2. What is technical debt? Evolution Jeff Sutherland Cofounder of Scrum Opined at Scrum Gathering in 2006 Described the following technical debt scenarios: • The code is considered part of a core legacy system, in which its functionality is connected to so many other parts of the system that it’s impossible to isolate any one component. • There is either no testing or minimal testing surrounding the code. Although it may sound redundant, it is necessary to point out that without comprehensive unit tests, it is impossible to refactor the code to a more manageable state. • There is highly compartmentalized knowledge regarding the core/legacy system, supported by only one or two people in the company. 10
  • 11. 2. What is technical debt? Evolution Steve McConnell Author/Software Engineer Proposed First Taxonomy in 2007 I. Debt incurred unintentionally due to low quality work II. Debt incurred intentionally II.A. Short-term debt, usually incurred reactively, for tactical reasons II.A.1. Individually identifiable shortcuts (like a car loan) II.A.2. Numerous tiny shortcuts (like credit card debt) II.B. Long-term debt, usually incurred proactively, for strategic reasons 11
  • 12. 2. What is technical debt? Evolution Martin Fowler Author/Software Engineer Established TD Quadrants in 2009 12
  • 13. 2. What is technical debt? Evolution Gartner, Inc IT Research and Advisory Estimated $500 Billion of “IT Debt” in 2010 Gartner Estimates Global 'IT Debt' to Be $500 Billion This Year, with Potential to Grow to $1 Trillion by 2015 "The issue is not just that maintenance keeps on getting deferred, it is that the lack of an application inventory and the absence of a structured review process for the application portfolio. This means the IT management team is simply never aware of the true scale of the problem” 13
  • 14. 2. What is technical debt? Current Ted Theodoropoulos Technical Debt Practitioner Proposed “Stakeholder Perspective” at SEI in 2011 “Technical debt is any gap within the technology infrastructure, or its implementation, which has a material impact on the required level of quality.” 14
  • 15. 2. What is technical debt? Stakeholder Perspective Business Development Executives Team Internal Risk Infrastructure Managers Team Technical Environment Board of Directors Internal Auditors External Customers Analysts Shareholders Regulators External Auditors Stakeholders need better transparency and engagement around issues affecting quality in the technical environment. 15
  • 16. 2. What is technical debt? Quality Requirements • Gaps impacting required levels of quality represent technical debt • Teams can “borrow” against the ideal solution to speed initial delivery • Interest is then paid in the form of lower productivity and/or incremental risk • Maintenance and enhancement activities become more onerous and expensive • Interest compounds as workarounds are applied on top of workarounds 16
  • 17. 2. What is technical debt? Deficits and Surpluses • Yellow section shows gap in maintainability on which interest is paid • Conversely blue represents unneeded functionality that must be maintained • Deficits and surpluses in application quality cost the organization money • Ideally green area would fill area within dashed line 17
  • 18. 3. Opportunities and Challenges 18
  • 19. 3. Opportunities and Challenges Opportunities Translation void clearIECache() { ClearFolder (new $658,031.35 DirectoryInfo ( Environment.GetFolderPath (Environment.SpecialFolder .InternetCache) )); }   Stakeholder 19
  • 20. 3. Opportunities and Challenges Opportunities Prioritization • Business leaders always want to build new stuff • Quantifying gaps in dollars levels the playing field • Getting the business to recognize the value of refactoring is difficult • New initiatives can be prioritized based ROI against debt reduction 20
  • 21. 3. Opportunities and Challenges Opportunities Transparency Know what is beneath the surface! 21
  • 22. 3. Opportunities and Challenges Opportunities Risk Management Know what is beneath the surface! 22
  • 23. 3. Opportunities and Challenges Challenges No Conceptual Model 23
  • 24. 3. Opportunities and Challenges Challenges Concept Fragmentation Vendor Support Debt Quality Debt P airing D e b t Documentation Debt Configuration Management Debt Testing Debt Legacy Debt Access Control Debt SEO Debt Platform Experience Debt Refactoring Debt Data Quality Debt Design Debt “Cruft is technical debt!” “Cruft isn’t technical debt!” -Ted Theodoropoulos -Uncle Bob Martin 24
  • 25. 3. Opportunities and Challenges Challenges Unknown Future State • No standards organization currently manages to concept • Uncertainty around what technical debt is headed • Adoption will be hampered by this uncertainty • SEI is leading efforts to move the concept forward 25
  • 27. 4. Business Impacts Platform Stability • Technical debt is often fragile or difficult to maintain code • Has a destabilizing effect on production systems • This type of technical debt decreases agility and increases defects • Increases risk of production issues with customer impact • Decreases ability to seize market opportunities • Increases fire drills which impacts morale • Lower employee satisfaction makes talent retention challenging 27
  • 28. 4. Business Impacts Cost of Change • Technical debt typically compounds over time • This phenomena increases CoC exponentially • Customer responsiveness is inversely proportional to CoC 28
  • 29. 4. Business Impacts Technical Bankruptcy • Unabated technical debt leads to ballooning interest payments • Over time the interest payments become all consuming • First there are no resources available for enhancements • Then interest payments exceed the available resources • This is known as technical bankruptcy 29
  • 30. 5. Foursquare Case Study 30
  • 31. 5. Foursquare Case Study Background • In Spring 2011, Amazon had a major outage in AWS • Multiple availability zones (AZs) were impacted • While the outage was disappointing it did not violate the SLA • As Gartner points out below there were no SLAs for impacted services Amazon’s SLA for EC2 is 99.95% for multi-AZ deployments. That means that you should expect that you can have about 4.5 hours of total region downtime each year without Amazon violating their SLA. Note, by the way, that this outage does not actually violate their SLA. Their SLA defines unavailability as a lack of external connectivity to EC2 instances, coupled with the inability to provision working instances. In this case, EC2 was just fine by that definition. It was EBS and RDS which weren’t, and neither of those services have SLAs. 31
  • 32. 5. Foursquare Case Study Architecture • Amazon is an infrastructure as a service (IaaS) provider • IaaS consumers can design applications as they see fit • Individual requirements dictate architecture • If an app requires HA then it must be accommodated in the design • Failing to satisfy requirements introduces risk into the environment • Foursquare replicated across AZs instead of across data centers • Best practices for HA were not followed 32
  • 33. 5. Foursquare Case Study Technical Debt • Implementing full redundancy is not cheap • Startup capital is a scarce resource and must be used wisely • Replicating across AZs was cheaper than across data centers • This architecture created a requirements gap which represents debt • The principal of the technical debt is the cost to provide full HA • The interest takes the form of the incremental risk 33
  • 34. 5. Foursquare Case Study Debt Calculation • Based on optimal design risk of an event is 0.5% • Design shortcuts increased risk to 4% • Incremental risk associated with design is 3.5% • If outage occurs, damage to brand and investor confidence • Additionally, there will be lost users and market share • The estimated cost of such an event is $1M Incremental Risk: 4%-0.5% = 3.5% Cost of Failure: $1,000,000 Interest: $35,000 34
  • 35. 5. Foursquare Case Study Prudent Debt • Technical debt can be leveraged responsibly just like financial debt • Assume the appropriate design cost add’l $100K to implement • That relatively large investment would eliminate $35K in risk • Such an investment would provide a 35% ROI • Each dollar invested would give $0.35 back to the business • Currently, paying off debt might be a questionable use of capital Principal: $100,000 Interest: $35,000 Return on Investment: 35% 35
  • 36. 5. Foursquare Case Study Imprudent Debt • Sometimes the risk/reward equation is out of balance • Assume the appropriate design cost add’l $5K to implement • That relatively small investment would eliminate same $35K in risk • Such an investment would provide a 700% ROI • Each dollar invested would give $7 back to the business • Currently, paying off debt would be a wise use of capital Principal: $5,000 Interest: $35,000 Return on Investment: 700% 36
  • 37. 5. Foursquare Case Study Initial Focus Am a z o n S e rve r T r o u b le s T a k e d o w n “Massive failure at Amazon Web Services causes havoc…” R e d d i t, F o u rs q u a re -GeekWire & H o o ts u i te -M ashable Am azon E C 2 O u tage H ob b le s We b s ite s -Information Week “Amazon Server Outage Blanks Popular Websites” -Fox News “Amazon’s Web Services outage: End of cloud innocence?” -ZDNet Am azon M alfu nction R ais e s D ou b ts Ab ou t C lou d C om p u ting -NY Times 37
  • 38. 5. Foursquare Case Study Retrospective Focus "In short, if your systems failed in the Amazon cloud this week, F ailing to p lan is it wasn't Amazon's fault,“ p lanning to fail -O’Reilly Media -A crowire “The AWS story shows how We designed for failure from day one. Any of our instances, or any group of instances in an AZ, can be “shot in the head” and important it is to our system will recover. think about -SmugMug engineering when you're designing systemswere some websites impacted while others were not? For Netflix, the Why for the cloud.“ answer is that our systems are designed explicitly for these sorts of short failures. -DataPipe -Netflix “Lessons from a cloud failure: It’s not Amazon, it’s YOU! -Webmonkey 38
  • 39. 6. Manage the Lifecycle 39
  • 40. 6. Manage the Lifecycle Lifecycle Phases Technical Debt 40
  • 41. 6. Manage the Lifecycle Define • Define what qualifies as technical debt in your organization • Think through the implications of the defined boundaries • Process must be collaborative and not done in a vacuum • Will key stakeholders (i.e. audit, risk mgmt, IT) buy into it? Business Development Executives Team Internal Risk Infrastructure Managers Team Technical Environment Board of Directors Internal Auditors External Customers Analysts Shareholders Regulators External Auditors 41
  • 42. 6. Manage the Lifecycle Define Framework Alignment 42
  • 43. 6. Manage the Lifecycle Identify Signs you might have it… • Don’t we have documentation on the file layouts? • I thought we had a test for that! • If I change X it is going to break Y….I think. • Don’t touch that code. The last time we did it took weeks to fix. • The server is down. Where are the backups? • Where is the email about that bug? • We can’t upgrade. No one understands the code. 43
  • 44. 6. Manage the Lifecycle Identify Establish KRIs Leading Indicators •Poor code quality •Inadequate code coverage •Non-compliance Lagging Indicators •SLA violations •Audit failures •Data quality issues 44
  • 45. 6. Manage the Lifecycle Measure Calculating Principal n = Number of resources required R = Rate (hourly average) of resource H = Hours required C = Costs associated with benefits, payroll, recruitment (usually ~40% of hourly rate) HC = Hardware Costs SL = Software Licenses MI = Migration and Implementation expenses (e.g. consulting engagements, training, etc) 45
  • 46. 6. Manage the Lifecycle Remediate Prioritization ROI • Refactoring initiatives can be evaluated • Quantifying gaps in dollars levels the playing field • Getting the business to recognize the value of refactoring is difficult • New initiatives can be prioritized based ROI against debt reduction 46
  • 47. 6. Manage the Lifecycle Govern Capital Structure • Evaluate free cash flow volatility over time • Determine appropriate technical debt to equity ratio • Monitor your technical balance sheet diligently • Establish centralized debt registration database • Implement credit limits for high risk areas of the infrastructure • Foster a risk management culture within the organization 47
  • 49. Ted Theodoropoulos President Acrowire ted@acrowire.com Michael Milutis Director of Marketing Computer Aid, Inc. (CAI) Michael_milutis@compaid.com 49

Editor's Notes

  1. The web browser didn’t become popular until 1994 so inventing the wiki then is impressive