140 likes | 275 Views
The Technical Debt Management Cycle: Evaluating the Costs and Risks of IT Assets. Dr. Bill Curtis Director, Consortium for IT Software Quality. Technical Debt Damages Business Value. 2. The Technical Debt Metaphor.
E N D
The Technical Debt Management Cycle:Evaluating the Costs and Risks of IT Assets Dr. Bill Curtis Director, Consortium for IT Software Quality
The Technical Debt Metaphor Technical Debt the future cost of defects remaining in code at release, a component of the cost of ownership Business Risk Opportunity cost Opportunity cost—benefits that could have been achieved had resources been put on newcapability rather than retiring technical debt Liability—business costs related to outages, breaches, corrupted data, etc. Liability from debt Technical Debt Interest on the debt Interest—continuing IT costs attributable to the violations causing technical debt, i.e, higher maintenance costs, greater resource usage, etc. Principalcost of fixing problems remaining in the code after release that must be remediated Principal borrowed Structural quality problems in production code 3 3
How to Use Technical Debt Calculating Cost Of Ownership Assessing Business Risk Estimate of Technical Debt Explaining IT Cost of Quality Managing Portfolio Quality 4
CAST’s Application Intelligence Platform Language Parsers Application Analysis Detected Violations Quality Measurements Oracle PL/SQL Sybase T-SQL SQL Server T-SQL IBM SQL/PSM C, C++, C# Pro C Cobol CICS Visual Basic VB.Net ASP.Net Java, J2EE JSP XML HTML Javascript VBScript PHP PowerBuilder Oracle Forms PeopleSoft SAP ABAP, Netweaver Tibco Business Objects Universal Analyzer for other languages Expensive operation in loop Static vs. pooled connections Complex query on big table Large indices on big table Performance Empty CATCH block Uncontrolled data access Poor memory management Opened resource not closed Evaluation of 1200+ coding & architectural rules Robustness SQL injection Cross-site scripting Buffer overflow Uncontrolled format string Application meta-data Security Unstructured code Misuse of inheritance Lack of comments Violated naming convention Transferability Highly coupled component Duplicated code Index modified in loop High cyclomatic complexity Changeability 5
Technical Debt Management Cycle Application Managers Build/Release/ QA/AI Center IT Executives Developers Step 7 Step 2 Step 1 Step 5 Step 6 Step 3 Report to the business Measure Technical Debt Remediate violations Set policy and quality priorities Track results Set thresholds for app quality Step 4 Plan reduction goals & actions 6
Step 1 Set Policy and Quality Priorities Quality Policy Corporate purpose Training Expected behavior Reporting Audit Reliability Performance Security Maintainability Quality Priorities Customer-facing Internal business Reliability Performance Security Maintainability 7
Step 2 Set Thresholds for App Quality Reliability 3.8 Performance 3.9 Security 2.5 Maintainability 3.0 Product information Retail Website Reliability 3.5 Performance 3.5 Security 3.9 Maintainability 2.5 Online purchase Reliability 3.5 Performance 3.0 Security 3.9 Maintainability 2.5 Delivery scheduling 8
Step 4 Plan Quality Goals & Actions Quality Score Target by Release Score 10
Step 6 Track Results App Management Performance Efficiency AppDev Exec Portfolio QA Data Repository 12
Step 7 Report to the Business Output Measure Operational problems Quality Category Availability Outages, slow recovery Business risk Resilience Work efficiency Degraded response Efficiency Data protection Breaches, Theft Technical debt Security IT productivity Lengthy comprehension IT cost Transferability Delivery speed Excessive effort Changeability 13