=Paper= {{Paper |id=Vol-1771/paper15 |storemode=property |title=Perspectives on Managing Technical Debt: A Transition Point and Roadmap from Dagstuhl |pdfUrl=https://ceur-ws.org/Vol-1771/paper15.pdf |volume=Vol-1771 |authors=Clemente Izurieta,Ipek Ozkaya,Carolyn Seaman,Philippe Kruchten,Robert Nord,Will Snipes,Paris Avgeriou |dblpUrl=https://dblp.org/rec/conf/apsec/IzurietaOSKNSA16 }} ==Perspectives on Managing Technical Debt: A Transition Point and Roadmap from Dagstuhl== https://ceur-ws.org/Vol-1771/paper15.pdf
                              1st International Workshop on Technical Debt Analytics (TDA 2016)



                 Perspectives on Managing Technical Debt
                                 A Transition Point and Roadmap from Dagstuhl

Clemente Izurieta1, Ipek Ozkaya2, Carolyn Seaman3, Philippe Kruchten4, Robert Nord2, Will Snipes5, Paris Avgeriou6
                          1
                            clemente.izurieta@montana.edu, Montana State University, Bozeman, MT, USA
2
    {ozkaya, rn}@sei.cmu.edu, Software Engineering Institute, Carnegie Mellon University, Pittsburgh, PA, USA
                       3
                         cseaman@umbc.edu, University of Maryland Baltimore County, Maryland, MD, USA
                                      4
                                        pbk@ece.ubc.ca, University of British Columbia, BC, Canada
                                5
                                  will.snipes@us.abb.com, ABB Corporate Research, Raleigh, NC, USA
                                   6
                                     paris@cs.rug.nl, University of Groningen, Groningen, Netherlands

    Abstract—Thirty-three practitioners, researchers, students,           the periphery of the definition. Examples of the latter include
and tool vendors gathered in Dagstuhl, Germany, for five days in          social, documentation, process, and infrastructure debt. We
April 2016 to discuss the state of managing technical debt in             thus present a conceptual model that allows for extension and
software engineering. Participants reflected on the significant           context representation of various artifacts.
advances that the Managing Technical Debt (MTD) community
has made since its inception in 2010; reached a consensus on a
definition, called the Dagstuhl 16K technical debt definition; and                              II. BACKGROUND
discussed avenues for future progress in the area. This paper                 The Management of Technical Debt (MTD) community
provides a brief history, summarizes current research, and offers         has formally existed since 2010. Figure 1 depicts the timeline
a roadmap and a vision that describe the areas of research where          of prior events and illustrates new meetings that represent an
significant challenges remain.                                            increased level of activity. The outcome of these efforts has
                                                                          been more than 200 research papers written by research
    Keywords—technical debt; software quality; software decay;            groups across the globe, systematic literature studies
software economics; software project management
                                                                          organizing the space and demonstrating gaps, and special
                                                                          issues in practitioner and research journals such as IEEE
                        I. INTRODUCTION                                   Software and the Journal of Systems and Software. Possibly
    While other software engineering disciplines—such as                  the most welcomed and challenging outcome has been an
software sustainability, maintenance and evolution, refactoring,          ever-increasing involvement of the practitioner community.
software quality, and empirical software engineering—have                 As a result, many tool vendors have started adding or
produced results relevant to managing technical debt, none of             repurposing features to support technical debt analysis. Many
them alone suffice to model, manage, and communicate the                  organizations are also looking into developing their own
different facets of the design trade-off problems involved in             internal best practices for managing technical debt, and they
managing technical debt. Although the technical debt metaphor             need help.
can be attributed to Cunningham [1], a community consensus                    Table 1 illustrates the topics on which technical debt
on a pithy and focused definition has been a barrier for                  research has focused since 2006. We clearly see a sharp
research progress that could address the most pressing                    distinction between artifacts that are easier to measure, such as
immediate needs of the software engineering community. The                code, and those that are not, such as people. It also shows
technical debt metaphor describes a situation in which                    which topics have received more and less research.
developers accept quality compromises in the current release to
meet a deadline (e.g., delivering a release on time). A
subsequent release that has been compromised will incur a                                 III. THE DAGSTUHL FORMAT
higher cost in the form of higher maintenance efforts.                        Dagstuhl brought together researchers, practitioners,
                                                                          students, and tool vendors from academia and industry who are
    To date, the technical debt metaphor has served as a strong
                                                                          interested in the theoretical foundations of technical debt and
communication and reference mechanism, but the community
                                                                          how to manage it (e.g., techniques for measurement, analysis,
now understands that technical debt is also a software
                                                                          and prevention). The organizers created a blog where attendees
development artifact that is incurred (mostly) unintentionally
                                                                          posted positions and started discussions to facilitate seeding of
and discovered during later stages of software development.
                                                                          ideas prior to the seminar. Organizers grouped discussions and
Moreover, the community also recognizes that the key research
                                                                          blog entries into relevant themes that included creating a
challenges ahead cannot be addressed by simply repurposing
                                                                          common definition and conceptual model of technical debt,
code quality and maintainability analysis as technical debt
                                                                          measurement and analysis of technical debt, management of
analytics. The Dagstuhl Seminar 16162 (Dagstuhl 16K)
                                                                          technical debt, and a research roadmap for managing technical
definition of technical debt focuses on design and
                                                                          debt. No long talks were featured. Each day had three types of
implementation artifacts that affect maintainability and
                                                                          sessions. There was a plenary session for “lightning talks,” in
evolvability of software. This definition also prompted the
                                                                          which each presenter had 10 minutes for presentation and
community to address the problem of classifying artifacts in
                                                                          questions on each day except for the last day of the seminar.




                                                                     84
                             1st International Workshop on Technical Debt Analytics (TDA 2016)




                                                    Fig. 1. Technical debt community events [3]

                     Table 1. Where is research focused? [4]




                   IV. TECHNICAL DEBT                                           “In software-intensive systems, technical debt is a
    The significant outcomes of the seminar include a                       collection of design or implementation constructs that are
definition, a conceptual model, and a list of challenges that we            expedient in the short term, but set up a technical context that
face moving forward on the research agenda and transition                   can make future changes more costly or impossible. Technical
prospects for managing technical debt. The definition and                   debt presents an actual or contingent liability whose impact is
model serve as starting points for the community to build on                limited to internal system qualities, primarily maintainability
and improve.                                                                and evolvability.”

    The Dagstuhl 16K definition presents an expansion over                  B. Conceptual Model and Related Activities of Technical
past definitions by taking into account the concerns heard from                 Debt
prior technical debt events and the thinking that has occurred
                                                                               Another outcome of the seminar was the recognition that,
over the years. Specifically, this definition elevates the
                                                                            similar to other complex software engineering artifacts,
concepts of evolvability and maintainability as the primary foci
                                                                            technical debt is best described through multiple viewpoints.
of technical debt research, combines design and
                                                                            Concepts related to technical debt should be discussed based
implementation constructs, and highlights the context-specific
                                                                            on two related viewpoints:
trade-offs that need to be made in an expedient manner.
                                                                                a) the viewpoint describing the properties, artifacts, and
A. Definition of Technical Debt                                                    elements related to technical debt items (see Fig. 2)
    Attendees converged on the following (Dagstuhl 16K)                         b) the viewpoint articulating the management- and
definition [2][5] for technical debt:                                              process-related activities to perform or the different
                                                                                   states that debt may go through




                                                                       85
                             1st International Workshop on Technical Debt Analytics (TDA 2016)




                                                Fig. 2. Contextual figure of technical debt [2][5]

    Figure 2 shows the conceptual model in the form of a UML                go through. An activity-focused view would map out research
class diagram, which focuses on the first viewpoint and helped              topics to be studied such as identifying, visualizing, assessing,
the group converge on key concepts. The technical debt                      and making decisions about technical debt. The phenomena all
associated with a software-intensive system is composed of a                along the causal chain of causes and consequences are also
set of technical debt (TD) items, and this technical debt is one            important to investigate.
of many concerns associated with a system. TD items have
both causes and consequences. The cause of technical debt can               C. Technical Debt Management
be a process, a decision, an action (or lack thereof), or an event
                                                                               Managing technical debt includes recognizing, analyzing,
that triggers the existence of that TD item, such as schedule
                                                                            monitoring, and measuring it. Today many organizations do
pressure, unavailability of a key person, or lack of information
about a technical feature. The consequences of a TD item are                not have established practices to manage technical debt, and
many: technical debt can affect the value of the system, the                project managers and developers alike are asking for methods
costs of future changes, the schedule, and system quality. The              and tools to help them strategically plan, track, and pay down
business objectives of the sponsoring organization developing               technical debt. We identified two broad high-priority
or maintaining the software system are affected in several                  challenges:
ways: through delays, loss of quality for some features of the                  1) Developing effective tooling (academia and industry) to
system, and difficulties in maintaining the system operations
                                                                            assist with assessing technical debt: A number of studies have
(continuance). A TD item is associated with one or more
concrete, tangible artifacts of the software development                    examined the relationship between software code quality and
process, primarily the code, but also to some extent the                    technical debt. This work has applied detection of “code
documentation, known defects, and tests associated with the                 smells” (low internal code quality), coupling and cohesion,
system.                                                                     and dependency analysis to identify technical debt. However,
                                                                            empirical examples collected from industry all point out that
    To keep with the financial metaphor, the cost impact of
technical debt can be seen as composed of principal and                     the most significant technical debt is caused by design trade-
interest. The principal is the cost savings gained by taking                offs, which are not detectable by measuring code quality. For
some initial approach or shortcut in development (the initial               example, an architectural decision encountered early in the
principal, often the initial benefit) or the cost that it would now         design stage is the selection of a Visitor pattern vs.
take to develop a different or better solution (the current                 inheritance-based designs. Either design selection may be
principal). The interest is comprised of costs that add up as               appropriate in the current context and would not yield smells;
time passes. There is recurring interest: additional cost                   however, later evolutionary steps may reveal different
incurred by the project in the presence of technical debt, due to           maintenance problems, depending on the choice. Furthermore,
reduced velocity (or productivity), induced defects, and loss of            several published case studies demonstrate that assessing
quality (maintainability is affected). And there is accruing
                                                                            technical debt appropriately requires combining several
interest: the additional cost of developing new software
depending on not-quite-right code (evolvability is affected).               analysis techniques together.

   This view summarizing the elements related to technical                      2) Establishing an empirical basis and data science for
debt, however, does not capture the activities that need to be              technical debt: Well-defined benchmarks (with uncertainty
conducted to manage technical debt or the states that debt may              levels) provide a basis for evaluating new approaches and




                                                                       86
                            1st International Workshop on Technical Debt Analytics (TDA 2016)

ideas. They are also an essential first step toward creating an         an essential relationship with how technical debt plays out in
empirical basis on which work in this area can grow more                practice. Specific activities include
effectively. Effective and well-accepted benchmarks allow                  • identifying the important context factors (e.g., code
researchers to validate their work and tailor empirical studies                 volatility, business context, development personnel)
to be synergistic. Technical debt’s evolving definition and its                 that affect the evaluation of technical debt
sensitivity to context have inhibited the development of                   • understanding the relationship of other types of debt
benchmarks so far. An ideal benchmark for technical debt                        (e.g., social, infrastructure) as causes or consequences
research would consist of a code base, architectural models                     of technical debt
(perhaps with several versions), and known TD items. New                   • exploring the role of development methodologies to
approaches could be run against these artifacts to see how well                 manage technical debt
the approaches reveal TD items. Industry needs guidance for                 3) The Necessary Infrastructure: Building the shared
how and what data to collect and what artifacts they can make           infrastructure that facilitates all our research activities.
available to enable progress in understanding, measuring, and           Specific activities include
managing technical debt.                                                    • sharing experimental data sets and study designs
            V. RESEARCH ROADMAP AND VISION                                  • creating benchmarks in an effort to standardize tools
                                                                                 and measures
    The Dagstuhl participants spent some time envisioning
                                                                            • developing techniques to inject different forms of
what the world would be like if technical debt research were
                                                                                 technical debt into data sets in order to evaluate,
as successful as we could ever hope it to be. The resulting
                                                                                 predict, and validate techniques
vision is summarized in the following points:
    • Technical debt will be managed as well as we now                                               CONCLUSION
        manage defects, vulnerabilities, and new features.
                                                                          Technical debt is an active field of research with a growing
    • We have a way to translate developer concerns to
        manager concerns—a basis for making decisions about             community, as evidenced by the success of meetings and
        allocating time for reducing technical debt.                    increased research output such as papers, commercial tools,
    • Technical debt will be mostly incurred intentionally.             and new projects. However, significant challenges remain to
    • Projects that manage technical debt are more efficient,           meet effective tooling demands, to establish an empirical
        effective, and sustainable than projects that don’t.            basis, and to pinpoint artifacts that serve as inputs to
    • There is support for up-front and continuous                      measurement and analysis and most importantly to be useful
        architectural work (vs. emergent architecture) and              in practice. The research roadmap is an evolving document
        evidence that it helps avoid and manage technical debt.         and activity that requires active involvement from the greater
    • Tools support all aspects of technical debt management,           community of academics and practitioners alike. The hope is
        and all stakeholders adopt them and use them.                   that it will continue to be refined and instantiated at gatherings
    • Technical debt-aware development (practices and tools)            of researchers and engineers interested in future research in
        is an accepted way of producing software.                       technical debt management.

   This vision set the stage for the beginnings of a research                                    ACKNOWLEDGMENT
roadmap to guide future research to establish a cohesive body             Copyright 2016 Carnegie Mellon University. This material is based upon
of knowledge about how to manage technical debt. The                    work funded and supported by the Department of Defense under Contract No.
                                                                        FA8721-05-C-0003 with Carnegie Mellon University for the operation of the
research roadmap consists of three major parts:                         Software Engineering Institute, a federally funded research and development
                                                                        center. NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE
   1) The       Core:       Defining,   understanding,      and         ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE
operationalizing the concept of value with respect to technical         MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR
                                                                        IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF
debt. Specific activities include                                       FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED
                                                                        FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY
   • investigating the role of opportunity cost to measure              WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK,
        the differences in value between a decision to                  OR COPYRIGHT INFRINGEMENT. [Distribution Statement A] This material has
                                                                        been approved for public release and unlimited distribution. Please see
        implement new features that incur technical debt or
                                                                        Copyright notice for non-US Government use and distribution. DM-0004135.
        make infrastructure improvements that avoid technical             We thank Tamara Marshall-Keim for her expert input.
        debt while foregoing the features
   • understanding the factors, beyond principal and                                                 REFERENCES
        interest, that go into making decisions about incurring,        [1]   W. Cunningham, “The WyCash portfolio management system,”
        paying off, and managing technical debt                               SIGPLAN OOPS Mess., Vol. 4, No. 2, pp. 29-30, Dec 1992.
                                                                        [2]   Managing Technical Debt in Software Engineering, Dagstuhl Reports,
   • understanding how to model technical debt                                Vol. 6, Issue 4, April 17-22, 2016. http://www.dagstuhl.de/16162
        phenomena over time, which is not linear in software            [3]   8th International Workshop on Managing Technical Debt (MTD),
        development                                                           Raleigh, NC, October 4, 2016.
                                                                        [4]   NSR Alves et al., Information and Software Technology 2016, Vol. 70,
    2) The Essential Context: Understanding phenomena that                    pp. 100-121.
fall outside the core definition of technical debt and that have        [5]   Dagstuhl Blog. https://mtd2016dagstuhl




                                                                   87