Sie sind auf Seite 1von 7

Defining the Decision Factors for Managing Defects: A Technical Debt Perspective

Will Snipes, Brian Robinson Yuepu Guo, Carolyn Seaman


ABB Corporate Research Department of Information Systems
Industrial Software Systems University of Maryland Baltimore County
Raleigh, NC, USA Baltimore, MD, USA
{will.snipes, brian.p.robinson}@us.abb.com {yuepu.guo, cseaman}@umbc.edu

AbstractMaking a decision about whether to fix or defer CCB agrees should be fixed, but due to competing priorities
fixing a defect is important to software projects. Deferring and limited resources have to be deferred to a later time.
defects accumulates a technical debt that burdens the software Decisions made by the CCB to defer addressing defects
team and customer with a less than optimal solution. The can accumulate a significant amount of technical debt for a
decision to defer fixing a defect is made by Software Change product. Tate expresses in [3] that a short term outlook on
Control Boards (CCBs) based on a set of decision factors. In maintaining technical debt can lead to a pivot point where
this paper, we evaluated the set of decision factors used by two development teams spend so much time addressing defect
CCBs at ABB in the context of technical debt management. backlog that they cannot devote adequate time to deliver new
The aim was to determine how a model of cost and benefits of
feature requests. Tate describes how the team may not be
incurring technical debt could be part of the CCB decision
aware of the burden because they can manage to barely keep
process. We identified the cost categories and decision factors
for fixing and deferring defects as a result of interviews with
up with new requests but that those teams are in a short or
CCB members. We found that the decision factors could long death spiral leading to the point where their product
incorporate the financial aspects when using the technical debt development becomes unsustainable.
metaphor. We identify opportunities for further research to As the technical debt metaphor suggests, deferring
integrate technical debt concepts with the decision factors defects may incur higher maintenance cost in the future, as if
towards better long term outcomes. paying interest for the defect debt. For example, using the
previously established criteria, each defect is evaluated for
Keywords-Technical debt; defects; defect costs; decision cost to fix now versus cost to fix later. In the case of a low
factors severity defect representing a potential usability problem, it
may cost much less to fix the defect now than to process the
I. INTRODUCTION potential customer calls on the helpline as they struggle to
Software development teams have the constant challenge understand how to use the system. Thus a cost benefit
of delivering new feature requests while addressing defects analysis of this scenario would support the decision to fix the
from current and past software releases. During a release defect now even though it is low severity. From an
cycle, the volume of new change requests and defect reports economics perspective, the goal of managing defect debt is
from test activities can exceed the volume that can be to minimize the overall long-run cost. Therefore, the quality
addressed by development resulting in a backlog of requests of a decision criterion in terms of defect debt is judged by
that must be managed. how well it can balance the short-term benefit, e.g. earlier
Software change management, such as that practiced by a release date, with the long-term cost.
Change Control Board (CCB)[1], is designed to help the Currently Change Control Boards decide when to fix a
organization balance the competing demands of schedule, defect based on a set of defined criteria. The CCB decision
new feature and defect change requests on the development criteria involve consideration of a set of factors, e.g. what is
resources. Jones describes a CCB in [2] as a group of the risk of introducing a fix to the system? and how much
managers, client representatives, and technical personnel effort is needed to fix the defect? These criteria have a
who decide which change to accept and which to reject. significant influence over how much technical debt is
When change requests, including changes to fix defects, incurred from known defects. A given set of criteria may
come to a CCB, they prioritize these requests and decide allow a CCB to accumulate a larger volume of defect debt
when the changes will be implemented in a software product than is prudent for the long term sustainability of the
release. As a result, change requests with higher priority are product. Extending the above example, a criterion to only
addressed in the release they were proposed, while other fix defects with certain severity levels leads to an
requests may be deferred. Over time the deferred change accumulation of low-severity defects over time.
requests (such as those to fix defects) accumulate and thus The goal of this study is to evaluate, in the context of
the product incurs a form of technical debt. The technical technical debt management, the decision factors that a CCB
debt consists of change requests and defects that are deferred considers when determining when to fix a defect. By
to a later release. Defect debt consists of defects that the understanding the decision factors and the cost categories we
aim to incorporate a model of technical debt into the decision

978-1-4673-1749-8/12/$31.00
c 2012 IEEE 54 MTD 2012, Zurich, Switzerland
criteria. In this study we identified various types of costs fixing defects at present. The interest of defect debt is the
related to fixing a defect, or deferring a defect and fixing it cost associated with deferring the defects so they can be
later. Through interviews of CCB members, we identified a fixed in the future plus the costs managing or working
set of factors that affect the decision on when to fix a defect. around the presence of these defects until they are fixed.
Findings of this study include the set of factors influencing Software cost estimation approaches would be required to
the decision about when to fix a defect ranked by importance approximate the present and future value of technical debt.
and their relationship to the decision outcome. Based on the The efficacy of the cost estimation approach will affect the
findings, we propose further research to address gaps in the quality of technical debt measurement and eventually the
decision criteria and enhance the criteria through cost-benefit quality of decisions in technical debt management.
analysis. By introducing the debt concept into the decision Therefore, the interviews in this study include questions
criteria, we expect the CCB to put more weight on the cost- about the maturity of their cost estimation approaches.
effectiveness of their decisions, thus ensuring the long term Comparing technical debt to debt in its common sense,
maintainability and profitability of the software product. such as financial debt, from which the debt metaphor
In section II we review the relevant literature on technical originates, technical debt has its unique characteristic the
debt, defect management, cost analysis, and software interest of technical debt may or may not be incurred,
process. In section III the study design describes the depending on whether changes will be requested in the
research questions, the approach to conducting the case study future. Therefore, the interest part in principal-interest
with the target participants, and the data analysis method. In measurement of technical debt has been broken down to two
section IV we review the demographics and findings of the sub metrics interest amount and interest probability, the
case study, and section V discusses conclusions and ideas for latter of which captures the uncertainty of interest payment
future work. [8]. In defect debt, the uncertainty is manifested as
contingency of the costs related to fixing defects. Therefore,
II. RELATED WORK we investigated in this study not only the types of costs
incurred in the course of fixing defect, but also the
There are multiple dimensions to classifying technical conditions under which the costs are incurred. Due to the
debt. McConnell categorized technical debt as unintentional involved uncertainty, technical debt can be treated as a
and intentional debt [4]. The intentional debt was further particular software risk [9]. Thus risk management
broken down to short term debt and long term debt. Based on approaches such as risk exposure analysis described by
this classification, Fowler created a technical debt quadrant, Boehm in [10] can be applied to evaluate technical debt
which consists of two dimensions deliberate/inadvertent impact and address technical debt management problem.
and reckless/prudent [5]. Each quadrant represents a This motivated us to study whether and to how risk has been
particular type of debt that takes the combination of the used in the CCB decisions about when to fix a defect.
values from each dimension. This type of classification is
helpful in finding the causes of technical debt, thus III. METHODOLOGY
contributing to technical debt identification. Technical debt This study consisted of two stages. In the first stage, we
can also be classified in terms of the phase it occurs in reviewed the history of the defects in the selected subject
software lifecycle design debt, testing debt, defect debt, systems. The outcome from this stage was a set of cost
etc. [6]. This type of classification ties technical debt to the categories related to defect fixing, the conditions under
software development process. It indicates different forms of which the costs were incurred and some defect debt instances
technical debt may have different characteristics and hence that were then used for the interviews on the defect decision
need different measures and approaches for management. making process. In the second stage, we interviewed the
For example, the difference between expected code coverage CCB members who play different roles in the maintenance
of the test suites and their actual coverage can be used to of the subject systems. Through the interviews we identified
measure testing debt. Our focus was on how defect debt is other costs related to fixing defects, which were missed in
created deliberately during the testing and maintenance the first stage, and combined them with the previously
phase of the lifecycle by prudence oriented management identified cost categories. Then we identified the factors
decisions of the timing for fixing an identified defect. affecting the decisions about when to fix a defect. We also
Since the ultimate goal of managing technical debt is to determined the impact of the decisions in terms of which
facilitate decision making, it is necessary that all types of categories of costs tended to go up, and which tended to go
technical debt have uniform measurement so that they can be down, as a result of a decision to defer fixing a defect. Figure
easily monetized and are comparable to one another [7]. 1 illustrates the structure and steps we followed to conduct
Inspired by the metaphor, technical debt can be measured by this study. Stage one was a study of the defect records used
principal and interest. Principal refers to the cost of to identify the defect instances that where the fix was
completing a software maintenance task at present, while the deferred and the impact of the defer decision on the future
interest is the extra cost required to complete it in the future release. Stage two on the right hand side shows how the
if the task is postponed, plus the cost of other work that is interviews of the CCB members with a qualitative
required due to the presence of the debt. As a particular type questionnaire identified the cost categories for fixing and
of technical debt, defect debt is measured by the same deferring defects and the decision factors used by the CCB to
metrics. The principal of defect debt refers to the cost of choose to fix or defer fixing defects.

55
other was mainly responsible for taking notes, but they
Research Questions shared the two roles. After each interview, the notes taken
by the two researchers were compared and then combined to
form the answers to the interview questions. Then the
interview questionnaire and the notes, together with follow-
up questions on the interviewees responses were sent to the
Defect CCB interviewee. A formal follow-up interview session was also
History Members arranged for two interviewees.
Decision Cost
Impact Categories C. Interview Questions
Interview
Based on the research questions in Section II A, we
Review
developed the interview questions. The interview
Defect Decision questionnaire is composed of four sections. The first section
Instances Factors contains the questions about the profile of the interviewees
Stage 1 Stage 2 including: What are your current title and responsibilities,
How long have you been involved in developing or
Figure 1. Defect Debt Study Process. maintaining the system?
In the second section we ask questions about the profile
A. Research Questions of the subject project or system including: what is the goal
of the project?, what is the biggest release or project in
To begin the study we formed key research questions that
terms of duration or effort? The questions in the first two
address the goal of evaluating the decision process in the
sections construct the context where defect debt is incurred
context of technical debt management.
and thus help us understand how the decisions on when to fix
a defect are made.
What are the cost categories associated with defect Questions in the third section are regarding defect
fixes and defect debt? (1) properties and the costs associated with fixing a defect.
What factors affect decisions about incurring/paying Some questions directly correspond to the research question
off defect debt? (2) 1, while others can be used to derive the answers for the
How do costs change with different defect fixing research question. To discover the maturity of the estimation
strategies? (3) methods, we ask What is the way you usually estimate the
time and effort for handling defects?, and Was there a big
RQ 1 determines the cost categories that will form the difference between actual cost of defect fixing and the
costs and benefits for evaluating the technical debt equation. estimated cost?
RQ 2 identifies the factors the CCB considers when deciding To address RQ 3 determining how costs change with
when to fix a defect. These factors have significant different fix strategies, we ask What exceptions might
influence over the decision and the relative level of influence happen in the defect fixing process and how do you handle
for each factor is captured in the study. RQ 3 investigates the exceptions? We then ask the participant a directly about
the relationship between the cost categories and the decision RQ 1 with the question What are the costs and cost
made about the defect. The cost change depends on both the categories related to fixing a defect? Then to determine the
decision outcome and the decision factors that lead to the effort for each category, we ask What percent of total cost
outcome. of handling a defect does each category contribute to?
B. Data Collection With these questions, we expected to uncover the hidden
costs by exploring all possible activities that are performed
In the first stage, we collected information about defects after a defect is detected. The final question taps into the
including registration date, description, severity, responsible relations and change patterns of different cost categories in
person, change history, handling process, disposal date, etc., the process of fixing a defect by asking If a defect is found
from a defect database. A set of query criteria were by customers, what additional costs does it have?
configured to meet the goal of identifying defects that the In the fourth section we framed a set of questions to elicit
CCB classified as should fix but that also were deferred to how a decision is made about when to fix a defect and the
a later release for fixing. The defect history record indicates impact of the decision. We directly address RQ 2 by asking
that a defect was postponed to a later release regardless of what factors are considered when you make a decision
the current open or closed status. The estimated effort to fix about when to fix a defect? and how are these factors
was used to determine the amount of the principal of the weighted? We also asked questions on a specific decision
technical debt represented in this deferred defect. path such as how do you decide to defer a defect? In
In the second stage of this study we conducted interviews addition to these general questions, we asked the
with 7 CCB team members to discover their decision criteria interviewees to give examples of deferred defects, or we
for fixing or deferring defects. The study used a semi- provided the examples selected in the first stage of the study.
structured interview strategy. The interviews involved two Based on concrete defect debt instances, we asked whether
researchers. One mainly served as an interviewer and the the defects should be deferred in their opinion and why they

56
were deferred. Thereby we could elicit the actual decision Data analysis started with coding the interview notes and
making process about deferring defects. This section also the responses to the follow-up questions using the coding
contains questions on the impact of the decision. We ask scheme, i.e., assigning the codes to pieces of text that fit the
has a decision to defer a defect ever had any positive or definition of the codes. Then relationships among the codes
negative impact on the project, and if so, what was the were identified and confirmed using the grouped text as the
impact? At the end of this section we asked two questions chain of evidence. For example, a cost change is part of the
that needed to be answered in a retrospective way. The two impact of a decision. Finally these codes and relations among
questions were have you made decisions on deferring defect them are collectively used to answer the research questions.
fixes? If so, was it worthwhile to defer defect fixes? and if Using this analysis approach we identified a set of decision
you were given the chance to do the project again, would factors employed in the current decision making process and
you make different decisions? Using these questions, we change patterns of various types of costs related to fixing a
expected to gather lessons on how defect decisions increase defect. The results from the data analysis are presented in the
or decrease the costs and cost categories for fixing or next section.
deferring a defect. These questions provided insight into the
current decision making process and thus contributed to the IV. RESULTS
improvement of the process. We studied defect data from 5 past releases of two
The entire interview questionnaire was refined several products in an ABB control system. The products are
times, e.g. merging or separating questions and adjusting the representative significant programs of greater than 1M
order of the questions, before we implemented the interview. Source Lines of Code.
To assure the quality of the interview, we reviewed the We selected a set of defects that were at some point
questionnaire with an expert, who has rich experience in identified as deferred in the defect tracking system history.
software change control, and made changes he suggested. Of the deferred defect set, 10% were identified as deferred
D. Data Analysis for a reason other than having a low impact severity. The set
of defects with medium or high impact severity that were
Since the data gathered in the first stage of this study deferred were investigated in detail and discussed with
were used as input for the second stage, the data analysis interview participants to confirm the decision criteria.
focused on the information we collected through the The interview portion of the study enlisted 7 participants
interviews. Data collected in the second stage included the who were current members of the Change Control Board for
notes taken during the interviews and responses to the each product. The average experience of the participants
follow-up questions. Since most of the interview questions was 7 years with the company and 4 years in their current
were open-ended and responses were free form text, data role. The job roles of the interviewees included product
collected in this study were qualitative in nature. Therefore, manager, test manager, and project manager. Interviews
these data were analyzed using qualitative methods including were conducted via teleconference with two interviewers
coding and constant comparison [11]. Based on the research talking with one participant in all interview sessions. Each
questions, we developed a coding scheme that contains a set interview session lasted about an hour.
of codes and sub-codes, each of which represents a concept The interviews used a pre-defined set of questions that
or an aspect of our object of study. Figure 2 shows the codes included questions on what the cost categories for fixing
and how they are related to the research questions. Within defect were and what the decision criteria were about when
the Defect Cost code the Type is the cost category to fix a defect, as described in section III.C. Results of the
discussed in section 4.A., the Condition code refers to interviews are discussed in the following two sections.
conditions under which the cost is incurred or changed, and
Change code is related to how the cost changes with a A. Defect Cost Categories
decision to defer or fix. Within the Defect Decision code There is a formal process for handling defects in ABB.
the Factors refers to the criteria used to decide to fix or Usually a defect will first be reported and confirmed once it
defer a defect, the Process is related to how the decision is is detected. Then the maintenance team needs to diagnose
made, and the Impact code refers to how the decision the defect to find the causes, come up with solutions,
affects the cost. implement the change and then validate the change (testing).
Since cost is incurred in any link of this activity chain, there
are various types of costs associated with handling defects.
These costs largely fall into six categories investigation,
Coding Scheme Research Questions modification, workaround, customer support, patch and
Defect Cost validation cost.
Type (1)
Condition Investigation cost refers to the cost of diagnosing a
Change reported problem, verifying that it is a defect, finding the
Defect Decision (2) causes and providing possible solutions. A developer
Factors conducts the investigation by performing causal analysis and
Process (3) replicating the defect in the development environment (if it is
Impact
a customer reported issue). The developer defines one or
Figure 2. Mapping Between Code Scheme and Research Questions. more fix proposals to repair the defect, describes the risk of

57
making the change(s) and the affected test scenarios and incurred when a decision is made to defer the defect. The
whether a system level validation step is required. risk of a customer requesting a patch increases when a defect
Investigation cost is estimated by interviewees at percentages is deferred. The cost of validation decreases with a deferred
between 50-70% of the cost of fixing a defect. defect because the test of the workaround requires less effort
Modification cost refers to the cost of implementing the than that of the fix. There are other types of costs, such as
proposed changes to fix a defect. This includes the cost to CCB meetings, but they are minor costs compared to those
implement the code and verify the fix with inspections, unit listed in Table I.
testing, and functional testing in the development
environment. It does not include costs of system validation
that are reported separately. Modification cost is estimated TABLE I. CHANGE PATTERNS OF DEFECT COSTS
by interviewees as 10-15% of the cost of fixing a defect. This
Cost Category Fixing Deferring Condition
is small because most of the work to develop the fix is
Investigation
performed during the Investigation, thus Modification is
simply implementing and retesting the selected fix design Modification
alternative.
Workaround
Workaround cost refers to the cost of providing
workarounds to bypass a known failure trigger when the Customer support Customer Request
underlying defect is not fixed right away. The cost for a
Patch Customer Request
workaround includes documentation and verification system
test environment. Workarounds may be suggested by any Validation
team member who works on the defect and must be : Incurred, : Increase, : Decrease
approved by the product manager as acceptable to the
customer. Table II shows the cost categories cited by participants
Customer support cost refers to the cost of providing with the percentage of respondents rating for the cost level of
support for a customer who encounters a problem due to a the category. The question was asked as a percentage, but
defect in the system. A change or a workaround may require the respondents answered with a range that we classified into
reeducation of system users and support cost may increase the three levels shown. We classified cost as high when
until users become familiar with the new operating participants gave answers in the range of 50-70%; Medium is
procedure. 20-30% range and low is 10-15% range. 71% of the
Patch cost refers to the cost of providing a temporary fix participants gave Investigation as a cost category and all
for the post-release defects to affected customers usually cited it as a high cost. 45% of participants gave the Patch
upon their request. The patch cost may vary across systems cost category with 14% indicating it was a high cost and
where some systems have binary patch capabilities that 29% indicating a medium cost. The Validation category
reduce the risk and scope of the change while others require ranked as medium by 57% of participants. The Customer
delivering an entire build. The latter have significantly Support category was given by 14% who indicated it was a
higher costs for this type of repair because it includes low percentage of the cost. The modification cost was given
validation and deployment of the patch build. by 57% of participants who all considered it as low. 14% of
Validation cost refers to the cost of testing in the context participants included project management cost as a low
of the complete system. This type of testing requires a percentage. The cost for a work around was identified by
separate team with specialized lab equipment for simulating 14% of participants as a medium cost.
a customer operational environment for the entire system.
Validation cost is 20-30% of the cost for fixing a defect TABLE II. PARTICIPANT CITING OF COST CATEGORIES
though this cost may be spread across a set of defects
delivered into a maintenance release. Cost Category High Medium Low
Compared to fixing a defect at present, deferring the Investigation 71% 0% 0%
defects may eliminate some categories of costs, but it may
Patch 14% 29% 0%
incur new categories of cost. Table I lists different types of
costs associated with defect fixing, the conditions under Validation 0% 57% 0%
which they are incurred and how they change if the defect is Customer Support 0% 0% 14%
deferred. Even within the same cost category, the cost may
increase or decrease with the decision to defer a defect. For Modification 0% 0% 57%
example, the cost for investigation increases with a deferral Project Management 0% 0% 14%
decision according the respondents because the investigation
Workaround 0% 0% 14%
must be repeated by the person who fixes the defect in a
subsequent release. The cost to modify stays the same as
long as the same solution is used. We incur a cost of The main cost in handling a defect comes from
customer support when a defect is deferred because it is investigation through which the cause and proposed fixes for
more likely for the customer to complain when the encounter the defect are identified by the developer. Validation cost
the failure mode for the defect. The cost for a workaround is takes the second place. Modification cost is relatively small

58
compared to investigation and validation cost. In most cases required to architecture models, design documentation, and
deferring a defect will reduce the cost if no customer detects user documentation. The final extraneous question is how the
the defect. When a customer finds a defect, however, the problem could have been identified earlier in the life-cycle.
total cost significantly increases if a patch must be issued for
a deferred defect. This case is discussed further in the
review of the decision factors in the next section. V. DISCUSSION
B. Defect Decision Through this study we identified various types of costs
associated with fixing a defect. We also found the conditions
As previously stated, the decision factors and criteria for under which the costs are incurred and their change patterns.
when to fix a defect heavily influence the accumulation of Findings of this study indicate that it is not certain that
technical debt in the form of deferred defects. According to deferring a defect will increase or decrease the overall cost.
the respondents, the key factors in order of importance are: In other words, we cannot simply conclude, using only the
Severity results of this study, that incurring defect debt will have
Existence of a workaround positive or negative impact on the project. However, the
Urgency of fix required by customer results show that the total cost will increase significantly if
Effort to implement the fix the customer requests a patch for a deferred defect. In
Risk of the proposed fix addition, it is true in most cases that deferring a defect will
Scope of testing required reduce the cost if no customer detects the defect. Therefore
whether a defect will be detected by a customer drives the
The severity factor explores the capabilities that are cost to benefit ratio of fixing a defect or deferring the fix.
affected by the defect that will concern the customer. The The defect decision making process has been studied
extent of the impact may range from a minor irritation to a from several perspectives but, until now, not the technical
critical impediment to normal system operations. The debt perspective. When we look at this problem from a
importance of the function affected is the primary concern technical debt perspective, we can identify some
for this factor. improvements to the decision factors provided by the CCB
The existence of a workaround makes it possible to defer members. The defect factors and decision making process
the fix to a later release. A developer or product manager are mainly based on severity analysis and risk. Although cost
may identify a workaround in the process of investigating the and schedule were considered in the analysis, a rigorous
defect. The product manager approves the workaround as cost-benefit analysis is not typically used. Therefore it is
acceptable and the team validates workaround in a simulated possible that incorporation of cost-benefit analysis could lead
operational environment. to better decisions for long term product profitability and
Occasionally the customer will request that a particular customer satisfaction.
defect be addressed urgently. This criterion trumps others To include technical debt as part of the CCB decision
and triggers the development validation and release of a process we need to develop a cost-benefit analysis that
patch build to correct the defect. incorporates the cost factors identified by the CCB
The effort required to fix the defect is weighed by the participants. With a cost-benefit analysis model each cost
CCB against available resources and schedule and the category becomes part of either the cost or benefit side of the
relative priority of this defect to fix within these constraints. equation. Based on the identified cost categories we build
The developer estimates the effort and time required to the cost benefit analysis model with the following variables.
implement a fix and test the fix. The test organization gives The variable P includes the cost categories of Investigation,
an estimate of effort and time to validate the fix. Modification, and Validation representing the cost to pay off
The risk evaluation of the proposed fix evaluates the the debt at present. P is thus the principal of the debt in the
extent of code and functionality that will be changed. This cost-benefit ratio. Let Iw represent the portion of the interest
also gives information to determine the scope of verification cost for defining a workaround. Let Ic be the interest cost for
and validation required to ensure the fix is correct. The customer support of the workaround. Let Ip represent the
developer assesses the risk of the proposed fix solution for patch cost and Ipr represent the probability that the customer
the defect. The evaluation includes affected software will request a patch for the defect. The value of Ip * Ipr is the
components and functions, classes within those components, expected value for the patch cost similar to the expected
and their methods. value of the cost to patch the defect if required. Let Ifr
The scope of testing required considers the impacted represent the probability that the deferred defect is eventually
requirements and functions to determine the scope of fixed (the principal repaid). Thus P * Ifr is the expected
selected test cases and whether system regression needs to be value of the cost to pay off the debt.
run on the resulting fix. The impact of the fix to non- Thus the cost-benefit ratio r is given in the following
functional requirements is also considered particularly for equation:
the areas of performance, scalability, usability, and
maintainability. =
+ + +
Questions that are considered but are extraneous to the
Figure 3. Equation for Cost Benefit Analysis Ratio
decision of whether to fix or defer include determining the
root cause of the problem, and identifying the updates

59
When the cost benefit ratio is < 1 it is to the advantage of costs of implementing and testing an identified fix against
long term cost to fix the defect now (pay the principal). costs of testing a workaround and future support costs and
When it is >1 there is a financial advantage to defer fixing re-investigation costs. We plan further research to evaluate
and pay the interest. This is a simplistic equation because it the use of a cost model combined with the current decision
does not consider the effects of time on factors such as Ic and factors in CCB decision making. Addressing the
Ipr, nor does it consider the opportunity cost of other work impediments and key questions is also the target of future
the developers could be producing rather than fixing defects. work on technical debt management.
Outside the boundary of a suitable equation for a specific
defect, there is the concept of the impact of accumulated ACKNOWLEDGMENT
defect debt on customer satisfaction and the ability of the The authors would like to thank the participants in this
company to sell their product in the marketplace. study from ABB and the support of ABB Corporate
We define the cost benefit analysis ratio as an additional Research for this work. Guo and Seamans work is
factor in the decision to fix or defer a defect. The cost sponsored by the US National Science Foundation grant
benefit analysis ratio replaces factors of the existence of a #0916699.
workaround and the effort to fix with the cost benefit
analysis that incorporates these factors. Other factors remain REFERENCES
to consider the other aspects related to severity, customer [1] "IEEE standard glossary of software engineering terminology," Tech.
priority, and risk separately. Rep., 1990.
We discussed implementing this model with the CCB [2] C. Jones, "Strategies for managing requirements creep," Computer,
participants. The CCB found the model interesting and vol. 29, no. 6, pp. 92-94, Jun. 1996.
potentially useful for their decision making process. We [3] K. Tate, Sustainable software development : an agile perspective, A.
identified impediments to implementing the model including Cockburn and J. Highsmith, Eds. Addison-Wesley, 2006.
the key impediment of estimation of the cost factors that are [4] S. McConnell. (2007). 10x Software Development. Available:
part of the interest equation. CCB members find it difficult http://forums.construx.com/blogs/stevemcc/archive/2007/11/01/techni
cal-debt-2.aspx
to estimate the patch risk factor and customer support cost
[5] M. Fowler. (2009). Technical Debt Quadrant. Available:
because these relate to whether the customers will encounter http://www.martinfowler.com/bliki/TechnicalDebtQuadrant.html
the defect. A secondary impediment is developing tool [6] J. Rothman. (2006). An Incremental Technique to Pay Off Testing
support for the cost benefit analysis that integrates with their Technical Debt. Available:
normal workflow. http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectT
Another key question is what should be the ype=COL&ObjectId=11011&tth=DYN&tt=siteemail&iDyn=2
organizations policy with regard to incurring defect debt. In [7] N. Brown, Y. Cai, Y. Guo, R. Kazman, M. Kim, P. Kruchten, E. Lim,
the finance world there is the concept of a debt to income A. MacCormack, R. Nord, I. Ozkaya, R. Sangwan, C. Seaman, K.
Sullivan, N. Zazwork, Managing Technical Debt in software-reliant
ratio that tells lenders the ability of borrower to service and Systems, a, Proceedings of the 18th FSE/SDP Workshop on Future of
retire the debt. Given that technical debt exists in software, Software Engineering Research, 47-52, 2010
what is the appropriate income factor to use in the [8] C. Seaman and Y. Guo, Measuring and Monitoring Technical Debt,
corollary ratio? Is a policy that drives the product towards Advances in Computers, vol. 82, pp. 25-46, 2011.
zero debt the best for all stakeholders? [9] Y. Guo, C. Seaman, A Portfolio Approach to Technical Debt
In this study we determined the cost factors for fixing or Management, , Proceeding of the 2nd Workshop on Managing
deferring defects and the current decision factors used by the Technical Debt, 31-34, 2011
CCB. We determined that these decision factors could [10] B. W. Boehm, "Software Risk Management: Principles and
incorporate a financial model of cost benefit analysis for the Practices," IEEE Software, vol. 8, pp. 32, 1991.
fix vs. defer fix decision. We can use the metaphor of [11] M.B. Miles, A.M. Huberman, "Qualitative Data Analysis: An
Expanded Sourcebook", 2nd ed., Sage, 1994.
technical debt to define an economic model of a decision to
fix or defer fixing a defect. A cost model can balance the

60

Das könnte Ihnen auch gefallen