Measure it? Manage it? Ignore it? Software Practitioners and Technical Debt

Similar documents
Improving Software Sustainability Through Data-Driven Technical Debt Management

Carnegie Mellon University Notice

Technical Debt Analysis through Software Analytics

Machine Learning for Big Data Systems Acquisition

Agile Acquisition of Agile C2

Guided Architecture Trade Space Exploration of Safety Critical Software Systems

Driving Efficiencies into the Software Life Cycle for Army Systems

Fall 2014 SEI Research Review Aligning Acquisition Strategy and Software Architecture

A Mashup of Techniques to Create Reference Architectures

Semiconductor Foundry Verification

The Impact of Conducting ATAM Evaluations on Army Programs

Carnegie Mellon University Notice

Smart Grid Maturity Model: A Vision for the Future of Smart Grid

Evaluation of Competing Threat Modeling Methodologies

Multi-Agent Decentralized Planning for Adversarial Robotic Teams

Analytical Evaluation Framework

DoD Joint Federated Assurance Center (JFAC) Industry Outreach

Frameworks for Assessing IT Systems Engineering Acquisition Issues and Proposed Approaches in Support of Public Law 111

Analytical Evaluation Framework

Discerning the Intent of Maturity Models from Characterizations of Security Posture

Evolution of a Software Engineer in a SoS System Engineering World

An Architecture-Centric Approach for Acquiring Software-Reliant Systems

Struggles at the Frontiers: Achieving Software Assurance for Software- Reliant Systems

OSATE overview & community updates

Systems Engineering and Autonomy: Opportunities and Challenges

Enterprise ISEA of the Future a Technology Vision for Fleet Support

Dr. Cynthia Dion-Schwartz Acting Associate Director, SW and Embedded Systems, Defense Research and Engineering (DDR&E)

Pin Tool. Assembly Guide. For Research Use Only. Not for use in diagnostic procedures. Original Instructions

Advancing the Use of the Digital System Model Taxonomy

Inside Track Research Note. in association with. and. Managing Software Exposure. Time to fully embed security into your application lifecycle

ROI of Dependability Activities

WHITE PAPER FACILITY FOCUS: Next Generation Aseptic Manufacturing: An Eye-Opening Peek into the Future. By: Hite Baker

Leveraging Simulation to Create Better Software Systems in an Agile World. Jason Ard Kristine Davidsen 4/8/2013

Finding Discipline in an

TED-Kit 2, Release Notes

An Interview with Ian McClelland. Senior Director of Systems and Software at Thales Inflight Entertainment and Connectivity (IFEC)

CMMI and agile: a High Tech R&D Success Story

MEDICINE LICENSE TO PUBLISH

Simonson Design Lab, Inc. Design Agreement

ISO INTERNATIONAL STANDARD

The Potential Social and Economic Value of Innovation Procurement

Robotic automation goes mainstream: Accenture announces agreement with IPsoft

Line Conventions and Lettering

Digital Product Definition Data Practices

AN UCODE I2C PCB antenna reference designs. Application note COMPANY PUBLIC. Rev October Document information

DMSMS Management: After Years of Evolution, There s Still Room for Improvement

The Smart Production Laboratory: A Learning Factory for Industry 4.0 Concepts

Defense Microelectronics Activity (DMEA) Advanced Technology Support Program IV (ATSP4) Organizational Perspective and Technical Requirements

Bulletin 509 Three Phase Full Voltage NEMA Starters Size 9 Series A. Renewal Parts

DNB s oil and offshore conference. Idar Eikrem, CFO

Here we will briefly give you the following information (like very short and oversimplified overview and conclusions):

COLLABORATIVE R&D & IP ISSUES IN TECHNOLOGY TRANSFER IN UNIVERSITY SYSTEM

AN How to design an antenna with DPC. Rev November Application note COMPANY PUBLIC. Document information.

Software as a Medical Device (SaMD)

Research Brief. Clinicians and life sciences companies working together: What types of relationships do clinicians find most appealing?

Lewis-Clark State College No Date 2/87 Rev. Policy and Procedures Manual Page 1 of 7

International development

Associated Lists ASME Y Engineering Drawing and Related Documentation Practices. (Revision of ASME Y )

Future Trends of Software Technology and Applications: Software Architecture

Software Architecture Research: Science or Engineering?

Assessment of Smart Machines and Manufacturing Competence Centre (SMACC) Scientific Advisory Board Site Visit April 2018.

Upstream Oil and Gas. Spill Prevention, Preparedness, Response, and Recovery. March 2013

Dimensioning and Tolerancing Principles for Gages and Fixtures

Disruptors in the Automotive Aftermarket

WHITE PAPER FACILITY FOCUS: GMP Facility Modernization. By: David M. Marks, P.E.

Aimetis Outdoor Object Tracker. 2.0 User Guide

Intellectual Property. Rajkumar Lakshmanaswamy, PhD

Analyzing Engineering Contributions using a Specialized Concept Map

TN LPC1800, LPC4300, MxMEMMAP, memory map. Document information

The future of software engineering

1st ANNUAL BIM REPORT Foreword

Agilent E4980A Precision LCR Meter. Dielectric Constant Measurement Program Operation Manual

Public Art Network Best Practice Goals and Guidelines

Bridging law and technology

Aligning the Standards and Innovation Communities to Benefit All

AN Energy Harvesting with the NTAG I²C and NTAG I²C plus. Application note COMPANY PUBLIC. Rev February Document information

Technical Support, End User License & Warranty Information

Individual Test Item Specifications

Engineering Grand Challenges. Information slides

MarketsandMarkets. Publisher Sample

Panel 3: Technology Transfer and Development

. Faye Goldman. July Contents

Model Based Systems Engineering (MBSE) Business Case Considerations An Enabler of Risk Reduction

If These Crawls Could Talk: Studying and Documenting Web Archives Provenance

Technological Innovation : Open Innovation

STP-NU ROADMAP TO DEVELOP ASME CODE RULES FOR THE CONSTRUCTION OF HIGH TEMPERATURE GAS COOLED REACTORS (HTGRS)

Esri and Autodesk What s Next?

COM C. Rozwell

Berkeley Postdoc Entrepreneur Program (BPEP)

Issues and Challenges in Current Technology for Engineering Self-Organising Applications

R_ Driving LPC1500 with EPSON Crystals. Rev October Document information. Keywords Abstract

A Case Study of Changing the Tires on the Bus While Moving

We recommend you cite the published version. The publisher s URL is:

Letters.org. PERSUASIVE LETTER. Included: Persuasive Letter

User Experience Design in Software Product Lines

Automating Patent Drafting

UM User manual for di2c demo board. Document information

UM DALI getting started guide. Document information

Better Information Workshops. Design Thinking & The Legal Sector. 6th December, 2017

AN OVERVIEW OF THE UNITED STATES PATENT SYSTEM

Transcription:

Measure it? Manage it? Ignore it? Software Practitioners and Technical Debt Neil A. Ernst, Stephany Bellomo, Ipek Ozkaya, Robert Nord, Ian Gorton (FSE) Release; Distribution is Unlimited

Copyright 2016 Carnegie Mellon University This material is based upon 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 Software Engineering Institute, a federally funded research and development center. NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN AS-IS BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT. [Distribution Statement A] This material has been approved for public release and unlimited distribution. Please see Copyright notice for non-us Government use and distribution. This material may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other use. Requests for permission should be directed to the Software Engineering Institute at permission@sei.cmu.edu. DM-0004233 2

Background-1 Ipek Ozkaya, SEI CMU, PhD in Computational Design from Carnegie Mellon University Robert Nord, SEI CMU, PhD in Computer Science from Carnegie Mellon University Neil Ernst, SEI CMU, PhD in Software Engineering from University of Toronto Stephany Bellomo, SEI CMU, MS in Software Engineering from George Mason University Philippe Kruchten is a Prof of Software Eng. at University of British Columbia, Canada, known for RUP About the SEI SEI is a Federally Funded Research and Development Organization Affiliated with Carnegie Mellon University SEI has Research and Practical focus About our team Started with Agile and Architecture Could see projects with legacy code struggling with technical debt 3

Background-2 Motivating Definitions Cunningham, 1992: 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 McConnell the obligation that a software organization incurs when it chooses a design or construction approach that's expedient in the short term but that increases complexity and is more costly in the long term. 4

Survey Introduction RQ1: Is the technical debt metaphor useful? RQ2: What are most significant sources of technical debt? RQ3: What practices and tools are practitioners using for managing technical debt? Org Type # Surveys out / received A Defense Contractor 3,500 / 248 B C Global automation, power robotics Government development/research lab 15,000 / 1511 200 / 73 D DoD sustainment 35 / 29 Total 1861 Includes closed and open questions (follow-up interviews) 5

Demographics 1831 surveys were started (across all three collaborators) and 536 surveys fully completed (all questions answered), an overall response rate of 29% Roles included developers (42%) and project managers (32%) Mixed web systems (24%) or embedded (31%). Mostly medium sized: 10-20 people The systems averaged 3-5 years old, but a significant number (29%) were over 10 years old. The systems between 100K LOC and 1M LOC in size. 6

RQ1: Is The Metaphor Useful? I think the vocabulary of technical debt is useful for getting the interests aligned. helpful in convincing product managers and stakeholders on the value proposition of managing the debt. 7

RQ2: Most significant source of technical debt? 8

RQ2 Source of TD: Open Coding We triangulated answers with open coding of question data Question: What is the biggest technical debt challenge your project faces? 9

Quotes from TD Examples (related to R2 most significant impact) the work that we re doing now to introduce a service layer and also building some clients using other technology is an example of decisions that could have been done earlier if we had had more time and had the funding... platform was not designed with scalability in mind In retrospect we put messaging/communication... in the wrong place in the model view controller architecture 10

Architecture Choices and System Age Weak association between system age and the perceived importance of architectural issues 89% of those with systems > 6 years old agreed that architectural issues are a significant source of debt 80% of those with newer systems (<3 years old) agreed Open-ended quote over the years, other sites would begin using the system and would require changes to how the workflow operated Our data for this study does not support correlation between system age and perceived importance of architecture issues, however, we see indicators that may warrant further investigation 11

RQ3: What approaches are people using for managing TD? Not Identified/ Other: 27% How tracked Where tracked 12

RQ3: What tools are practitioners using for managing TD? 13 None/Unknown: 58% 13

RQ3: Quotes on Tools and TD regarding static analysis we have the source code static analysis tools, but this is to assure proper quality of source code. But how architectural changes are impacting I don t know. And, in fact, this is something we don t do. there s a billion little warnings [from static analyzers]. And so it seems a little bit overwhelming. [we track] occasionally by explicit tech debt items [in issue tracker], usually by pain, or not at all... 14

Summary Software practitioners agree on the usefulness of the technical debt metaphor Survey open and closed questions suggest architectural choices have biggest impact on accumulation Most pain in terms of effort or funds Responses suggest standard practices and tools to manage technical debt do not currently exist Respondents said issue trackers are heavily used for managing technical debt on their projects 15 15

Future Work on Strategic Management of TD Conceptual TD Timeline Debt incurred Recognized Ideal payback time Actual payback time 1 2 3 4 What we observe in practice 1 2 34 TD payback is delayed causing significant accumulation Our goal: Shorten the time between 2-3 by handling technical debt more strategically 16

Future Work Cont. Three aspects inform our future work Better understand states of technical debt and evolve our conceptual model Help practitioners strategically and proactively manage technical debt (as close as possible to the ideal time to pay it back) Improve the state of the practice for detecting impactful technical debt Preferably using artifacts that are a natural bi-product of the SDLC 17