SlideShare ist ein Scribd-Unternehmen logo
1 von 11
White Paper




              How to Monetize Your Application
              Technical Debt
              A Data-Driven Approach to Balance
              Delivery Agility with Business Risk

              While there are many ways to define and measure Technical Debt, one
              thing is clear—it has been growing exponentially as maintenance is
              starved and development teams are forced to cut corners to meet
              increasingly unrealistic delivery schedules. CAST clearly defines
              Technical Debt as the cost of fixing the structural quality problems
              in an application that, if left unfixed, are highly likely to cause major
              disruption and put the business at serious risk. Once Technical
              Debt is measured, it can be juxtaposed with the business value of
              applications to inform critical tradeoffs between delivery agility and
              business risk.
How to Monetize Your Application Technical Debt
Page 2




                                  While there are many ways to define and measure Technical Debt, one
      Executive Summary           thing is clear—it has been growing exponentially as maintenance is starved
                                  and development teams are forced to cut corners to meet increasingly
                                  unrealistic delivery schedules.

                                  In Measure and Manage Your IT Debt, Andy Kyte, Gartner VP and
                                  Fellow, eloquently illustrates the systemic risk in the application portfolio
                                  caused by the accumulation of Technical Debt over the last decade.
                                  Gartner estimates that Fortune 2000 businesses and large public sector
                                  agencies have an average IT debt of more than $200 million, so dealing
                                  with IT debt must be a priority for the coming decade.

                                  CAST clearly defines Technical Debt as the cost of fixing the structural
                                  quality problems in an application that, if left unfixed, are highly likely to
                                  cause major disruption and put the business at serious risk. CAST analysis
                                  shows that even a conservative calculation of Technical Debt in the typical
                                  business application tops $1 Million.

                                  A fundamental element in the calculation of Technical Debt is a ―violation‖,
                                  which occurs when an application fails to accord with one or more rules
                                  of software engineering. Violations are the root causes of software cost
                                  and risk; in other words, they are the fundamental metric of structural
                                  quality. Putting a dollar figure on structural quality translates structural
                                  quality into a language the business can understand. It enables apples-
                                  to-apples comparisons with other monetized figures, driving informed
                                  tradeoffs between Technical Debt, business value, and IT investment.

                                  When should you measure Technical Debt? CAST recommends you make
                                  it a part of the periodic review of your mission-critical applications.
                                  1. Count and compare the number of structural quality violations once a
                                     quarter. Establish an automated process to measure the structural
                                     quality of an application.
                                  2. Create an Acceptance Quality Gate as a threshold for accepting any
                                     application before it is put into production, so you can clearly
                                     communicate quality targets to internal teams and external service
                                     providers.
                                  3. Strengthen your systemic risk reduction processes. Integrate the
                                     practice of measuring violations into your delivery model to remediate
                                     risks before they increase your Technical Debt.

                                  Once Technical Debt is measured, juxtapose it with the business value
                                  of applications to inform critical tradeoffs between delivery agility and
                                  business risk. Set the appropriate threshold for Technical Debt and monitor
                                  critical applications against this threshold to keep the right balance
                                  between agility and business risk as IT and business conditions evolve.
How to Monetize Your Application Technical Debt
Page 3




                                      I. Introduction
              Contents
                                      In Measure and Manage Your IT Debt, Andy Kyte, Gartner VP and
I.     Introduction                   Fellow, eloquently illustrates the systemic risk in the application portfolio
II.    The Definition of Technical    caused by the accumulation of Technical Debt over the last decade.
       Debt and How It’s Calculated   Gartner estimates that Fortune 2000 businesses and large public sector
III.   Four Steps for Calculating     agencies have an average IT debt of more than $200 million, so dealing
       Technical Debt                 with IT debt must be a priority for the coming decade. His call to action
IV.    Setting a technical Debt       is to collect reliable data about the scale of the problem.
       Threshold
V.     From Monetization to Action—
       Three Use Cases                At CAST Research Labs, our data repository of software structural
VI.    Conclusion
                                      quality data—Appmarq—provides a unique foundation for quantifying
                                      the scale of Technical Debt in businesses worldwide. In its current state,
                                      Appmarq contains data on software size, complexity, and structural
                                      quality from 160 IT organizations from around the world. There are 745
                                      applications in the data set. This white paper builds on the summary of
                                      results presented in The CRASH Report 2011/12.

                                      In this white paper we explain how Appmarq is used to monetize the
                                      Technical Debt of an application. A fundamental element in the calculation
                                      of Technical Debt is a ―violation‖. Violations, as we will explain in more
                                      detail, are at the root of an application’s structural quality. Hence, our
                                      monetization of Technical Debt is based on reliably collecting and quan-
                                      tifying the root causes of the systemic risks in an application. Our results
                                      show that even a conservative calculation of Technical Debt in the typical
                                      business application tops $1 Million. There is substantial systemic risk in
                                      applications but also a substantial opportunity for improvement.

                                      We begin with a definition of Technical Debt and the result of our calculation
                                      of Technical Debt in a typical application. We then present the details
                                      behind this calculation – the fundamental elements in the calculation
                                      and how they are put together to generate the result. We conclude with
                                      recommendations for when Technical Debt should be measured and the
                                      actions CIOs should take once Technical Debt is monetized.




                                      II. The Definition of Technical Debt and How It’s Calculated
             Highlights
                                      There are many ways to define and calculate Technical Debt, so let’s
How to Monetize Your Application Technical Debt
Page 4




We define Technical Debt as the         begin with our definition and its merits. We define Technical Debt as the
cost of fixing the structural quality   cost of fixing the structural quality problems in an application that, if left
problems in an application that, if     unfixed, put the business at serious risk. Technical Debt includes only
left unfixed, put the business at
                                        those application structural quality problems that are highly likely to
serious risk.
                                        cause business disruption and hence put the business at risk; it does
                                        not include all problems, just the serious ones.

                                        Under this definition of Technical Debt, we find that a typical application of
                                        300,000 lines of code (KLOC) has more than $1 Million of Technical
                                        Debt. Technical Debt does vary by application technology/language. For
                                        hypotheses as to why and for more details, please see the CRASH
                                        Report 2011/12.

                                        Given our definition of Technical Debt, measuring it requires us to quantify
                                        an application’s structural quality problems that put the business at risk.
                                        This is where Appmarq comes in. Appmarq contains data on the structural
                                        quality of business applications (as opposed to data on the process by
                                        which these applications are built). Application structural quality measures
                                        how well an application is designed and how well it is implemented (the
                                        quality of the coding practices and the degree of compliance with the
                                        best practices of software engineering that promote security, reliability,
                                        and maintainability).

                                        The basic measure of application structural quality in Appmarq is the
                                        number of violations per thousands of lines of code (violations per KLOC).
                                        Violations are instances when an application fails to accord with one or
                                        more rules of software engineering. Violations can be grouped according
                                        to their potential customer impact in terms of the business disruption
                                        they create if left unresolved: the higher the level of business disruption,
                                        the higher the severity of the violation. The most severe violations are
                                        categorized as ―critical violations.‖

                                        The number of violations per KLOC for each application is not obtained
                                        from surveys of project/program managers; rather, it is measured using
                                        the repeatable, automated CAST Application Intelligence Platform. Our
                                        approach therefore rests on the foundation of objective, repeatably-
                                        measured quantities. It is not susceptible to the subjectivity and
                                        inconsistencies that undermine survey-driven data collection. Moreover,
                                        the size of the data set is large enough to make robust estimates of the
                                        number of low-, medium-, and high-severity violations per KLOC in the
                                        universe of all business applications.
            Highlights
                                        We have independently verified the strong correlation between violations
We find that a typical application      and business disruption events in a number of real-world field tests of
of 374,000 lines of code (KLOC)         mission-critical systems. By focusing solely on violations, this calculation
has more than $1 Million of
How to Monetize Your Application Technical Debt
Page 5




Technical Debt.                      of Technical Debt takes into account only the problems that we know will
                                     cause business disruption. We also apply this conservative approach to
                                     quantifying the cost and time it takes to fix violations (all assumptions
                                     are stated clearly below).

                                     In defining and calculating Technical Debt as we do, we err on the side
                                     of a conservative estimate of the scale of Technical Debt. The actual
                                     Technical Debt is likely to be higher and our aim is to simply set the
                                     value for the floor – the lowest value it is likely to be. We think this is the
                                     right direction to err when it comes to monetizing Technical Debt.

                                     III. Four Steps for Calculating Technical Debt
                                     Step 1. The density of violations per thousand lines of code (KLOC) is
                                     derived from source code analysis using the CAST Application
                                     Intelligence Platform.

                                     Step 2. Violations are categorized into low, medium and high severity.
                                     The Technical Debt calculation assumes that only 50% of high-severity
                                     violations, 25% of medium-severity violations, and 10% of low-severity
                                     violations require fixing to prevent business disruption.

                                     Step 3. We conservatively assume that each violation, no matter its
                                     level of severity, takes 1 hour to fix at a fully-burdened cost of $75 per
                                     hour. Although these numbers could be a lot higher, especially when the
                                     fix is applied during operation, we assume these values to produce a
                                     conservative estimate.

                                     Step 4. The formula for Technical Debt:
                                     •   L = Number of Low-Severity Violations per KLOC
                                     •   M = Number of Medium-Severity Violations per KLOC
                                     •   H = Number of High-Severity Violations per KLOC
                                     •   S = Average Application Size (KLOC)
                                     •   C = Cost to Fix a Violation ($ per Hour)
                                     •   T = Time to Fix a Violation (Number of Hours)
                                     Technical Debt per Application = [(10% * L) + (20% * M) + (50% * H)] *
                                     C*T*S
           Highlights
                                     Using Appmarq data to arrive at the values for L, M, H, and S, the
                                     amount of Technical Debt in a typical business application of 374
The monetization of Technical Debt
translates structural quality into   KLOC is over $1 Million.
money, the universal language of     Once Technical Debt is monetized, what next? In the next section we
business. It enables apples-to-      explain the steps that CIOs and Application delivery and maintenance
apples comparisons that were not     heads should take once they have measured and monetized the Technical
possible before.                     Debt of their business-critical applications.
How to Monetize Your Application Technical Debt
Page 6




                                         IV. Setting a Technical Debt Threshold
                                         Getting a handle on the systemic risk in an application begins with an
                                         assessment of its Technical Debt. This measurement is a way to monetize
                                         the quality of the application – it puts a dollar figure on the quality of an
                                         application. This monetization is critical because it translates structural
                                         quality into money, the universal language of business. It enables apples-
                                         to-apples comparisons that were not possible before.

                                         We all know that application quality is important. Being able to monetize
                                         quality means we can now ask a further, critical question, namely, how
                                         much quality is enough? Or to put it another way, how much should we
                                         invest in this application to manage its systemic risk?

                                         Figure 1 is a conceptual diagram that illustrates the tradeoff between
                                         Technical Debt and business value. Please keep in mind that the diagram
                                         is illustrative and uses no actual data.




   Figure 1. Application Technical Debt and Business Value as a Function of Structural Quality Violations (Conceptual)
                                         The increase in Technical Debt as the number of violations rise is shown
            Highlights                   by the red line in Figure 1. The blue line shows the declining business
                                         value as the number of violations rise. The point of intersection at which the
Three use cases to get started           curves meet marks the maximum Technical Debt that can be tolerated
measuring Technical Debt are:
How to Monetize Your Application Technical Debt
Page 7




Periodic Count of Structural          by the application. Anything to the right of that means a precipitous drop
Quality Violations; Acceptance        in business value and a simultaneous rise in the cost to operate the
Quality Gate; and Industrialization   application.
of Systemic Risk Reduction
Processes.
                                      The goal is to keep the number of structural quality violations well to the
                                      left of the intersection of the curves. The range of acceptable values of
                                      Technical Debt below the threshold can vary based on the exact nature
                                      of the Technical Debt and the Business Value curves. This is indicated
                                      by the gray shaded area. Moving left beyond the shaded area might be
                                      too much of a good thing – there is a point beyond which improving
                                      quality has diminishing marginal improvement in business value.

                                      V. From Monetization to Action–Three Use Cases
                                      We recommend that CIOs and heads of Applications use an automated
                                      system to evaluate the structural quality of their three to five mission-
                                      critical applications. As each of these applications is being built, measure
                                      its structural quality at every major release. When the applications are in
                                      operation, measure their structural quality every quarter.

                                      In particular, keep a watchful eye on the violation count; monitor the
                                      changes in the violation count and calculate the Technical Debt of the
                                      application after each quality assessment. Once you have a dollar figure
                                      on Technical Debt, use Figure 1 to determine how much Technical Debt
                                      is too much and how much is acceptable based on the marginal return
                                      on business value. For a framework for calculating the loss of business
                                      value due to structural quality violations, please see, The Business
                                      Value of Application Internal Quality by Dr. Bill Curtis.

                                      Use Case 1: Periodic Count of Structural Quality Violations
                                      While an application is being developed or being operated, establish an
                                      automated process for periodically measuring the structural quality of
                                      the application based on the number and the trend of structural quality
                                      violations. Use this information to make the right tradeoffs between
                                      delivery speed, application quality, and business value.

                                      Use Case 2: Acceptance Quality Gate
                                      Before you accept an application for production, measure its Technical
                                      Debt against a pre-set threshold for acceptance. Use this objective
                                      measure to clearly communicate your IT and business goals to your
            Highlights
                                      internal teams and to your service providers.

Once Technical Debt is measured,
you can juxtapose it with the
business value of applications to
inform critical tradeoffs between     Use Case 3: Industrialization of Systemic Risk Reduction
                                      Processes
How to Monetize Your Application Technical Debt
Page 8




delivery agility and business risk.   Integrate the practice of measuring Technical Debt into your delivery
                                      model. Involve your developers, architects, QA, and DevOps to take
                                      immediate actions to reduce Technical Debt rather than wait until it might
                                      be too late (or too expensive). The cycle of measurement and structural
                                      quality improvement improves team learning, performance, and morale.
                                      Moreover, these improvements in the team’s productivity can be quantified
                                      in terms of the same metrics that are used to measure structural quality.

                                      VI. Conclusion
                                      As Gartner analyst Andy Kyte recommends, the first step to getting a
                                      handle on the systemic risks in your portfolio is to measure the scale of
                                      Technical Debt in your applications. Measurement is the first step, but it
                                      is an important step. To ensure objective, cost-effective measurement, use
                                      an automated system to evaluate the structural quality of your business-
                                      critical applications. Make sure that your assessment of Technical Debt
                                      is grounded on a key driver of software structural quality.

                                      The analysis in this white paper is grounded in objective counts of
                                      violations which have been verified in numerous field tests to be the key
                                      drivers of application costs and risks in organizations worldwide. The
                                      power of this Technical Debt calculation is not in its mechanics (which
                                      we have purposefully kept very simple) but in the fundamental bits of
                                      data on which it is based. The independent confirmation that these
                                      fundamental elements (structural quality lapses measured as number of
                                      low-, medium-, and high-severity violations) play a significant role in the
                                      business productivity of companies worldwide further strengthens the
                                      objectivity and accuracy of the calculation.

                                      Once Technical Debt is measured, juxtapose it with the business value
                                      of applications to inform critical tradeoffs between delivery agility and
                                      business risk. Set the appropriate threshold for Technical Debt and
                                      monitor critical applications against this threshold to ensure that the right
                                      balance between agility and business risk is maintained as IT and
                                      business conditions evolve.
About CAST
                             CAST is a pioneer and world leader in Software Analysis and Measurement,
                             with unique technology resulting from more than $100 million in R&D
                             investment. CAST provides IT and business executives with precise
                             analytics and automated software measurement to transform application
                             development into a management discipline. More than 650 companies
                             across all industry sectors and geographies rely on CAST to prevent
                             business disruption while reducing hard IT costs. CAST is an integral part
                             of software delivery and maintenance at the world’s leading IT service
                             providers such as IBM and Capgemini.

                             Founded in 1990, CAST is listed in NYSE-Euronext (Euronext: CAS) and
                             services IT intensive enterprises worldwide with a network of offices in
                             North America, Europe, and India.




  www.castsoftware.com




                                                               North America            Europe
                                                               373 Park Avenue South    3, rue Marcel Allegot
  www.castsoftware.com                                         New York, NY 10016       92190 Meudon - France
                                                               Phone: +1 212-871-3330   Phone: +33 1 46 90 21 00

© CAST All Rights Reserved
L a nmo ea o t A T
 er    r bu C S




    w w c ss f aec m
     w .a tot r.o
              w
    bo .a tot aec m
     lgc ss f r.o
             w
w w fc b o .o c so q a t
 w . e o kc m/a tn u ly
    a                 i
w w sd s aen t a tot ae
 w . ie h r.e/ ss f r
     l         c    w
  w w t ie.o O Q a t
   w . t r m/ n u ly
       wt c         i

Weitere ähnliche Inhalte

Was ist angesagt?

Continuous integration
Continuous integrationContinuous integration
Continuous integration
amscanne
 

Was ist angesagt? (20)

Gestão de defeitos e testes com Jira
Gestão de defeitos e testes com JiraGestão de defeitos e testes com Jira
Gestão de defeitos e testes com Jira
 
ISO 9126 - Qualidade de Software
ISO 9126 - Qualidade de SoftwareISO 9126 - Qualidade de Software
ISO 9126 - Qualidade de Software
 
Introduction to Agile Testing
Introduction to Agile TestingIntroduction to Agile Testing
Introduction to Agile Testing
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
 
Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2Diagramas de casos de uso - aula 2
Diagramas de casos de uso - aula 2
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Teste de Software
Teste de SoftwareTeste de Software
Teste de Software
 
AOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de UsoAOO - Diagrama de Caso de Uso
AOO - Diagrama de Caso de Uso
 
Sw 아키텍처와 sw 공학
Sw 아키텍처와 sw 공학Sw 아키텍처와 sw 공학
Sw 아키텍처와 sw 공학
 
Model-Based Testing: Why, What, How
Model-Based Testing: Why, What, HowModel-Based Testing: Why, What, How
Model-Based Testing: Why, What, How
 
Introduction to Software Test Automation
Introduction to Software Test AutomationIntroduction to Software Test Automation
Introduction to Software Test Automation
 
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...
Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...Viewpoint-based Test Requirement Analysis Modelingand Test Architectural D...
Viewpoint-based Test Requirement Analysis Modeling and Test Architectural D...
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Design Patterns (Tasarım Kalıpları)
Design Patterns (Tasarım Kalıpları)Design Patterns (Tasarım Kalıpları)
Design Patterns (Tasarım Kalıpları)
 
Jira as a Tool for Test Management
Jira as a Tool for Test ManagementJira as a Tool for Test Management
Jira as a Tool for Test Management
 
Aula 24.2 spice-iso15504 v02
Aula 24.2  spice-iso15504 v02Aula 24.2  spice-iso15504 v02
Aula 24.2 spice-iso15504 v02
 
Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Modelo plano de_testes
Modelo plano de_testesModelo plano de_testes
Modelo plano de_testes
 
Performance Engineering Basics
Performance Engineering BasicsPerformance Engineering Basics
Performance Engineering Basics
 
Questionario CTFL - Foundation Level
Questionario CTFL - Foundation LevelQuestionario CTFL - Foundation Level
Questionario CTFL - Foundation Level
 

Ähnlich wie Monetize Your Technical Debt

Making a Strong Business Case for Multiagent Technology
Making a Strong Business Case for Multiagent TechnologyMaking a Strong Business Case for Multiagent Technology
Making a Strong Business Case for Multiagent Technology
dgalanti
 
Converged infrastructure-wp
Converged infrastructure-wpConverged infrastructure-wp
Converged infrastructure-wp
EMC
 
Iaetsd design and implementation of secure cloud systems using
Iaetsd design and implementation of secure cloud systems usingIaetsd design and implementation of secure cloud systems using
Iaetsd design and implementation of secure cloud systems using
Iaetsd Iaetsd
 

Ähnlich wie Monetize Your 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
 
Deloitte Tech Trends 2014 Technical Debt
Deloitte Tech Trends 2014 Technical DebtDeloitte Tech Trends 2014 Technical Debt
Deloitte Tech Trends 2014 Technical Debt
 
Business Value of App Structural Quality
Business Value of App Structural QualityBusiness Value of App Structural Quality
Business Value of App Structural Quality
 
CAST HIGHLIGHT - Overview & Demos
CAST HIGHLIGHT - Overview & DemosCAST HIGHLIGHT - Overview & Demos
CAST HIGHLIGHT - Overview & Demos
 
calculate-business-costs-of-technical-debt.pdf
calculate-business-costs-of-technical-debt.pdfcalculate-business-costs-of-technical-debt.pdf
calculate-business-costs-of-technical-debt.pdf
 
The business case for software analysis & measurement
The business case for software analysis & measurementThe business case for software analysis & measurement
The business case for software analysis & measurement
 
Rapid Portfolio Analysis powered by CAST Highlight
Rapid Portfolio Analysis powered by CAST HighlightRapid Portfolio Analysis powered by CAST Highlight
Rapid Portfolio Analysis powered by CAST Highlight
 
Making a Strong Business Case for Multiagent Technology
Making a Strong Business Case for Multiagent TechnologyMaking a Strong Business Case for Multiagent Technology
Making a Strong Business Case for Multiagent Technology
 
Developing a Business Case for Corporate Portals
Developing a Business Case for Corporate PortalsDeveloping a Business Case for Corporate Portals
Developing a Business Case for Corporate Portals
 
The Future of IT: A Zero Maintenance Strategy
The Future of IT: A Zero Maintenance StrategyThe Future of IT: A Zero Maintenance Strategy
The Future of IT: A Zero Maintenance Strategy
 
Interview with Banca Intesa: Unbiased Metrics For Objective Portfolio Rationa...
Interview with Banca Intesa: Unbiased Metrics For Objective Portfolio Rationa...Interview with Banca Intesa: Unbiased Metrics For Objective Portfolio Rationa...
Interview with Banca Intesa: Unbiased Metrics For Objective Portfolio Rationa...
 
Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...
Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...
Using Adaptive Scrum to Tame Process Reverse Engineering in Data Analytics Pr...
 
Converged infrastructure-wp
Converged infrastructure-wpConverged infrastructure-wp
Converged infrastructure-wp
 
Time for Converged Infrastructure? Executives Discuss the Operational and Str...
Time for Converged Infrastructure? Executives Discuss the Operational and Str...Time for Converged Infrastructure? Executives Discuss the Operational and Str...
Time for Converged Infrastructure? Executives Discuss the Operational and Str...
 
9 Steps to Creating ADM Budgets
9 Steps to Creating ADM Budgets9 Steps to Creating ADM Budgets
9 Steps to Creating ADM Budgets
 
Prioritizing technical debt using bcg matrix in agile engagement
Prioritizing technical debt using bcg matrix in agile engagementPrioritizing technical debt using bcg matrix in agile engagement
Prioritizing technical debt using bcg matrix in agile engagement
 
Iaetsd design and implementation of secure cloud systems using
Iaetsd design and implementation of secure cloud systems usingIaetsd design and implementation of secure cloud systems using
Iaetsd design and implementation of secure cloud systems using
 
Business Risk: Effective Technology Protecting Your Business
Business Risk: Effective Technology Protecting Your BusinessBusiness Risk: Effective Technology Protecting Your Business
Business Risk: Effective Technology Protecting Your Business
 
BCSITv3.1
BCSITv3.1BCSITv3.1
BCSITv3.1
 
Applying the Principles of ITIL
Applying the Principles of ITILApplying the Principles of ITIL
Applying the Principles of ITIL
 

Mehr von CAST

Application Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsApplication Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical Systems
CAST
 
Application Assessment - Executive Summary Report
Application Assessment - Executive Summary ReportApplication Assessment - Executive Summary Report
Application Assessment - Executive Summary Report
CAST
 
Cloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST HighlightCloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST Highlight
CAST
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
CAST
 
Shifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business OutcomesShifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business Outcomes
CAST
 

Mehr von CAST (20)

Six steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systemsSix steps-to-enhance-performance-of-critical-systems
Six steps-to-enhance-performance-of-critical-systems
 
Application Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical SystemsApplication Performance: 6 Steps to Enhance Performance of Critical Systems
Application Performance: 6 Steps to Enhance Performance of Critical Systems
 
Application Assessment - Executive Summary Report
Application Assessment - Executive Summary ReportApplication Assessment - Executive Summary Report
Application Assessment - Executive Summary Report
 
Cloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST HighlightCloud Migration: Azure acceleration with CAST Highlight
Cloud Migration: Azure acceleration with CAST Highlight
 
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership OverviewCloud Readiness : CAST & Microsoft Azure Partnership Overview
Cloud Readiness : CAST & Microsoft Azure Partnership Overview
 
Cloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case StudyCloud Migration: Cloud Readiness Assessment Case Study
Cloud Migration: Cloud Readiness Assessment Case Study
 
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
Digital Transformation e-book: Taking the 20X20n approach to accelerating Dig...
 
Why computers will never be safe
Why computers will never be safeWhy computers will never be safe
Why computers will never be safe
 
Green indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in codeGreen indexes used in CAST to measure the energy consumption in code
Green indexes used in CAST to measure the energy consumption in code
 
Improving ADM Vendor Relationship through Outcome Based Contracts
Improving ADM Vendor Relationship through Outcome Based ContractsImproving ADM Vendor Relationship through Outcome Based Contracts
Improving ADM Vendor Relationship through Outcome Based Contracts
 
Drive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
Drive Business Excellence with Outcomes-Based Contracting: The OBC ToolkitDrive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
Drive Business Excellence with Outcomes-Based Contracting: The OBC Toolkit
 
CAST Highlight: Code-level portfolio analysis. FAST.
CAST Highlight: Code-level portfolio analysis. FAST.CAST Highlight: Code-level portfolio analysis. FAST.
CAST Highlight: Code-level portfolio analysis. FAST.
 
Shifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business OutcomesShifting Vendor Management Focus to Risk and Business Outcomes
Shifting Vendor Management Focus to Risk and Business Outcomes
 
Applying Software Quality Models to Software Security
Applying Software Quality Models to Software SecurityApplying Software Quality Models to Software Security
Applying Software Quality Models to Software Security
 
Cast Highlight Software Maintenance Infographic
Cast Highlight Software Maintenance InfographicCast Highlight Software Maintenance Infographic
Cast Highlight Software Maintenance Infographic
 
What is system level analysis
What is system level analysisWhat is system level analysis
What is system level analysis
 
What you should know about software measurement platforms
What you should know about software measurement platformsWhat you should know about software measurement platforms
What you should know about software measurement platforms
 
CRASH Report 2014
CRASH Report 2014CRASH Report 2014
CRASH Report 2014
 
Code quality infographic
Code quality infographicCode quality infographic
Code quality infographic
 
Unsustainable Regaining Control of Uncontrollable Apps
Unsustainable Regaining Control of Uncontrollable AppsUnsustainable Regaining Control of Uncontrollable Apps
Unsustainable Regaining Control of Uncontrollable Apps
 

Kürzlich hochgeladen

Kürzlich hochgeladen (20)

Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
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...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 

Monetize Your Technical Debt

  • 1.
  • 2. White Paper How to Monetize Your Application Technical Debt A Data-Driven Approach to Balance Delivery Agility with Business Risk While there are many ways to define and measure Technical Debt, one thing is clear—it has been growing exponentially as maintenance is starved and development teams are forced to cut corners to meet increasingly unrealistic delivery schedules. CAST clearly defines Technical Debt as the cost of fixing the structural quality problems in an application that, if left unfixed, are highly likely to cause major disruption and put the business at serious risk. Once Technical Debt is measured, it can be juxtaposed with the business value of applications to inform critical tradeoffs between delivery agility and business risk.
  • 3. How to Monetize Your Application Technical Debt Page 2 While there are many ways to define and measure Technical Debt, one Executive Summary thing is clear—it has been growing exponentially as maintenance is starved and development teams are forced to cut corners to meet increasingly unrealistic delivery schedules. In Measure and Manage Your IT Debt, Andy Kyte, Gartner VP and Fellow, eloquently illustrates the systemic risk in the application portfolio caused by the accumulation of Technical Debt over the last decade. Gartner estimates that Fortune 2000 businesses and large public sector agencies have an average IT debt of more than $200 million, so dealing with IT debt must be a priority for the coming decade. CAST clearly defines Technical Debt as the cost of fixing the structural quality problems in an application that, if left unfixed, are highly likely to cause major disruption and put the business at serious risk. CAST analysis shows that even a conservative calculation of Technical Debt in the typical business application tops $1 Million. A fundamental element in the calculation of Technical Debt is a ―violation‖, which occurs when an application fails to accord with one or more rules of software engineering. Violations are the root causes of software cost and risk; in other words, they are the fundamental metric of structural quality. Putting a dollar figure on structural quality translates structural quality into a language the business can understand. It enables apples- to-apples comparisons with other monetized figures, driving informed tradeoffs between Technical Debt, business value, and IT investment. When should you measure Technical Debt? CAST recommends you make it a part of the periodic review of your mission-critical applications. 1. Count and compare the number of structural quality violations once a quarter. Establish an automated process to measure the structural quality of an application. 2. Create an Acceptance Quality Gate as a threshold for accepting any application before it is put into production, so you can clearly communicate quality targets to internal teams and external service providers. 3. Strengthen your systemic risk reduction processes. Integrate the practice of measuring violations into your delivery model to remediate risks before they increase your Technical Debt. Once Technical Debt is measured, juxtapose it with the business value of applications to inform critical tradeoffs between delivery agility and business risk. Set the appropriate threshold for Technical Debt and monitor critical applications against this threshold to keep the right balance between agility and business risk as IT and business conditions evolve.
  • 4. How to Monetize Your Application Technical Debt Page 3 I. Introduction Contents In Measure and Manage Your IT Debt, Andy Kyte, Gartner VP and I. Introduction Fellow, eloquently illustrates the systemic risk in the application portfolio II. The Definition of Technical caused by the accumulation of Technical Debt over the last decade. Debt and How It’s Calculated Gartner estimates that Fortune 2000 businesses and large public sector III. Four Steps for Calculating agencies have an average IT debt of more than $200 million, so dealing Technical Debt with IT debt must be a priority for the coming decade. His call to action IV. Setting a technical Debt is to collect reliable data about the scale of the problem. Threshold V. From Monetization to Action— Three Use Cases At CAST Research Labs, our data repository of software structural VI. Conclusion quality data—Appmarq—provides a unique foundation for quantifying the scale of Technical Debt in businesses worldwide. In its current state, Appmarq contains data on software size, complexity, and structural quality from 160 IT organizations from around the world. There are 745 applications in the data set. This white paper builds on the summary of results presented in The CRASH Report 2011/12. In this white paper we explain how Appmarq is used to monetize the Technical Debt of an application. A fundamental element in the calculation of Technical Debt is a ―violation‖. Violations, as we will explain in more detail, are at the root of an application’s structural quality. Hence, our monetization of Technical Debt is based on reliably collecting and quan- tifying the root causes of the systemic risks in an application. Our results show that even a conservative calculation of Technical Debt in the typical business application tops $1 Million. There is substantial systemic risk in applications but also a substantial opportunity for improvement. We begin with a definition of Technical Debt and the result of our calculation of Technical Debt in a typical application. We then present the details behind this calculation – the fundamental elements in the calculation and how they are put together to generate the result. We conclude with recommendations for when Technical Debt should be measured and the actions CIOs should take once Technical Debt is monetized. II. The Definition of Technical Debt and How It’s Calculated Highlights There are many ways to define and calculate Technical Debt, so let’s
  • 5. How to Monetize Your Application Technical Debt Page 4 We define Technical Debt as the begin with our definition and its merits. We define Technical Debt as the cost of fixing the structural quality cost of fixing the structural quality problems in an application that, if left problems in an application that, if unfixed, put the business at serious risk. Technical Debt includes only left unfixed, put the business at those application structural quality problems that are highly likely to serious risk. cause business disruption and hence put the business at risk; it does not include all problems, just the serious ones. Under this definition of Technical Debt, we find that a typical application of 300,000 lines of code (KLOC) has more than $1 Million of Technical Debt. Technical Debt does vary by application technology/language. For hypotheses as to why and for more details, please see the CRASH Report 2011/12. Given our definition of Technical Debt, measuring it requires us to quantify an application’s structural quality problems that put the business at risk. This is where Appmarq comes in. Appmarq contains data on the structural quality of business applications (as opposed to data on the process by which these applications are built). Application structural quality measures how well an application is designed and how well it is implemented (the quality of the coding practices and the degree of compliance with the best practices of software engineering that promote security, reliability, and maintainability). The basic measure of application structural quality in Appmarq is the number of violations per thousands of lines of code (violations per KLOC). Violations are instances when an application fails to accord with one or more rules of software engineering. Violations can be grouped according to their potential customer impact in terms of the business disruption they create if left unresolved: the higher the level of business disruption, the higher the severity of the violation. The most severe violations are categorized as ―critical violations.‖ The number of violations per KLOC for each application is not obtained from surveys of project/program managers; rather, it is measured using the repeatable, automated CAST Application Intelligence Platform. Our approach therefore rests on the foundation of objective, repeatably- measured quantities. It is not susceptible to the subjectivity and inconsistencies that undermine survey-driven data collection. Moreover, the size of the data set is large enough to make robust estimates of the number of low-, medium-, and high-severity violations per KLOC in the universe of all business applications. Highlights We have independently verified the strong correlation between violations We find that a typical application and business disruption events in a number of real-world field tests of of 374,000 lines of code (KLOC) mission-critical systems. By focusing solely on violations, this calculation has more than $1 Million of
  • 6. How to Monetize Your Application Technical Debt Page 5 Technical Debt. of Technical Debt takes into account only the problems that we know will cause business disruption. We also apply this conservative approach to quantifying the cost and time it takes to fix violations (all assumptions are stated clearly below). In defining and calculating Technical Debt as we do, we err on the side of a conservative estimate of the scale of Technical Debt. The actual Technical Debt is likely to be higher and our aim is to simply set the value for the floor – the lowest value it is likely to be. We think this is the right direction to err when it comes to monetizing Technical Debt. III. Four Steps for Calculating Technical Debt Step 1. The density of violations per thousand lines of code (KLOC) is derived from source code analysis using the CAST Application Intelligence Platform. Step 2. Violations are categorized into low, medium and high severity. The Technical Debt calculation assumes that only 50% of high-severity violations, 25% of medium-severity violations, and 10% of low-severity violations require fixing to prevent business disruption. Step 3. We conservatively assume that each violation, no matter its level of severity, takes 1 hour to fix at a fully-burdened cost of $75 per hour. Although these numbers could be a lot higher, especially when the fix is applied during operation, we assume these values to produce a conservative estimate. Step 4. The formula for Technical Debt: • L = Number of Low-Severity Violations per KLOC • M = Number of Medium-Severity Violations per KLOC • H = Number of High-Severity Violations per KLOC • S = Average Application Size (KLOC) • C = Cost to Fix a Violation ($ per Hour) • T = Time to Fix a Violation (Number of Hours) Technical Debt per Application = [(10% * L) + (20% * M) + (50% * H)] * C*T*S Highlights Using Appmarq data to arrive at the values for L, M, H, and S, the amount of Technical Debt in a typical business application of 374 The monetization of Technical Debt translates structural quality into KLOC is over $1 Million. money, the universal language of Once Technical Debt is monetized, what next? In the next section we business. It enables apples-to- explain the steps that CIOs and Application delivery and maintenance apples comparisons that were not heads should take once they have measured and monetized the Technical possible before. Debt of their business-critical applications.
  • 7. How to Monetize Your Application Technical Debt Page 6 IV. Setting a Technical Debt Threshold Getting a handle on the systemic risk in an application begins with an assessment of its Technical Debt. This measurement is a way to monetize the quality of the application – it puts a dollar figure on the quality of an application. This monetization is critical because it translates structural quality into money, the universal language of business. It enables apples- to-apples comparisons that were not possible before. We all know that application quality is important. Being able to monetize quality means we can now ask a further, critical question, namely, how much quality is enough? Or to put it another way, how much should we invest in this application to manage its systemic risk? Figure 1 is a conceptual diagram that illustrates the tradeoff between Technical Debt and business value. Please keep in mind that the diagram is illustrative and uses no actual data. Figure 1. Application Technical Debt and Business Value as a Function of Structural Quality Violations (Conceptual) The increase in Technical Debt as the number of violations rise is shown Highlights by the red line in Figure 1. The blue line shows the declining business value as the number of violations rise. The point of intersection at which the Three use cases to get started curves meet marks the maximum Technical Debt that can be tolerated measuring Technical Debt are:
  • 8. How to Monetize Your Application Technical Debt Page 7 Periodic Count of Structural by the application. Anything to the right of that means a precipitous drop Quality Violations; Acceptance in business value and a simultaneous rise in the cost to operate the Quality Gate; and Industrialization application. of Systemic Risk Reduction Processes. The goal is to keep the number of structural quality violations well to the left of the intersection of the curves. The range of acceptable values of Technical Debt below the threshold can vary based on the exact nature of the Technical Debt and the Business Value curves. This is indicated by the gray shaded area. Moving left beyond the shaded area might be too much of a good thing – there is a point beyond which improving quality has diminishing marginal improvement in business value. V. From Monetization to Action–Three Use Cases We recommend that CIOs and heads of Applications use an automated system to evaluate the structural quality of their three to five mission- critical applications. As each of these applications is being built, measure its structural quality at every major release. When the applications are in operation, measure their structural quality every quarter. In particular, keep a watchful eye on the violation count; monitor the changes in the violation count and calculate the Technical Debt of the application after each quality assessment. Once you have a dollar figure on Technical Debt, use Figure 1 to determine how much Technical Debt is too much and how much is acceptable based on the marginal return on business value. For a framework for calculating the loss of business value due to structural quality violations, please see, The Business Value of Application Internal Quality by Dr. Bill Curtis. Use Case 1: Periodic Count of Structural Quality Violations While an application is being developed or being operated, establish an automated process for periodically measuring the structural quality of the application based on the number and the trend of structural quality violations. Use this information to make the right tradeoffs between delivery speed, application quality, and business value. Use Case 2: Acceptance Quality Gate Before you accept an application for production, measure its Technical Debt against a pre-set threshold for acceptance. Use this objective measure to clearly communicate your IT and business goals to your Highlights internal teams and to your service providers. Once Technical Debt is measured, you can juxtapose it with the business value of applications to inform critical tradeoffs between Use Case 3: Industrialization of Systemic Risk Reduction Processes
  • 9. How to Monetize Your Application Technical Debt Page 8 delivery agility and business risk. Integrate the practice of measuring Technical Debt into your delivery model. Involve your developers, architects, QA, and DevOps to take immediate actions to reduce Technical Debt rather than wait until it might be too late (or too expensive). The cycle of measurement and structural quality improvement improves team learning, performance, and morale. Moreover, these improvements in the team’s productivity can be quantified in terms of the same metrics that are used to measure structural quality. VI. Conclusion As Gartner analyst Andy Kyte recommends, the first step to getting a handle on the systemic risks in your portfolio is to measure the scale of Technical Debt in your applications. Measurement is the first step, but it is an important step. To ensure objective, cost-effective measurement, use an automated system to evaluate the structural quality of your business- critical applications. Make sure that your assessment of Technical Debt is grounded on a key driver of software structural quality. The analysis in this white paper is grounded in objective counts of violations which have been verified in numerous field tests to be the key drivers of application costs and risks in organizations worldwide. The power of this Technical Debt calculation is not in its mechanics (which we have purposefully kept very simple) but in the fundamental bits of data on which it is based. The independent confirmation that these fundamental elements (structural quality lapses measured as number of low-, medium-, and high-severity violations) play a significant role in the business productivity of companies worldwide further strengthens the objectivity and accuracy of the calculation. Once Technical Debt is measured, juxtapose it with the business value of applications to inform critical tradeoffs between delivery agility and business risk. Set the appropriate threshold for Technical Debt and monitor critical applications against this threshold to ensure that the right balance between agility and business risk is maintained as IT and business conditions evolve.
  • 10. About CAST CAST is a pioneer and world leader in Software Analysis and Measurement, with unique technology resulting from more than $100 million in R&D investment. CAST provides IT and business executives with precise analytics and automated software measurement to transform application development into a management discipline. More than 650 companies across all industry sectors and geographies rely on CAST to prevent business disruption while reducing hard IT costs. CAST is an integral part of software delivery and maintenance at the world’s leading IT service providers such as IBM and Capgemini. Founded in 1990, CAST is listed in NYSE-Euronext (Euronext: CAS) and services IT intensive enterprises worldwide with a network of offices in North America, Europe, and India. www.castsoftware.com North America Europe 373 Park Avenue South 3, rue Marcel Allegot www.castsoftware.com New York, NY 10016 92190 Meudon - France Phone: +1 212-871-3330 Phone: +33 1 46 90 21 00 © CAST All Rights Reserved
  • 11. L a nmo ea o t A T er r bu C S w w c ss f aec m w .a tot r.o w bo .a tot aec m lgc ss f r.o w w w fc b o .o c so q a t w . e o kc m/a tn u ly a i w w sd s aen t a tot ae w . ie h r.e/ ss f r l c w w w t ie.o O Q a t w . t r m/ n u ly wt c i