Towards a Technical Debt Management Framework based on Cost-Benefit Analysis (CoBeTDM) M. Firdaus Harun and Horst Lichter [email protected]• Background • Idea • Example Presented at The Tenth International Conference on Software Engineering Advances (ICSEA’15) Nov. 15 - 20, Barcelona, Spain
13
Embed
Towards a Technical Debt Management Framework based on Cost-Benefit Analysis
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Towards a Technical Debt Management Framework based on Cost-Benefit Analysis (CoBeTDM)
"Shipping first time code is like going into debt. A little debt speeds development so long as it is paid back promptly with a rewrite ... . The danger occurs when the debt is not repaid. Every minute spent on not-quite-right code counts as interest on that debt. (1992)
A design or construction approach that is expedient in the short term, but that creates a technical context in which the same work will cost more to do later than it would cost to do now (including increased cost over time). (2011)
Cost-Benefit Analysis (CBA)• To determine which maintenance/refactoring is valuable to be paid first (i.e.,
breakeven point) along the timeline of the project• Valuable – software is easier to maintain and less cost is needed in the
future
Why CBA?• Easy to understand by project manager (esp. technical people)• Can answer following questions:
Which maintenance/refactoring is cost-effective to incur or reduce debt? When the TD should be repaid? Now vs. next releases? How much should be repaid in each release to gain maximum benefit and minimizing
• How much TD do we have rightnow/current release?
• Is the TD at an acceptable level ornot? Does the TD continuouslygrows for each release?• What is an acceptable threshold
value of TD of each release?• What is a maximum TD (debt
ceiling) or minimum TD (debtbaseline) for each release?
• How to react when the TD reachesthe ceiling?
Current and Future Works
TD Identification• Validate a defined metrics, detection strategy and calculation model• Improve an estimation accuracy (e.g., inputs and outputs of Cost and Benefit analysis) from
historical data
TD Prioritization• Construct an explicit pre and post prioritization rule
TD Visualization • Develop a prototype tool
TD Management Process• Construct a process model i.e., based Software & System Process Engineering Metamodel