SPLASH '13 Workshop - Technical Debt

Home | Workshop final report

This site  The Web 

Date: Monday October 28, 2013
Time: 8:30am-5:00pm
Location: SPLASH 2013 Conference, Indianapolis, Indiana

Website contents

Workshop overview

Technical debt is a term that was coined by Ward Cunningham in 1992 to explain the accidental complexity that is a side-effects of “going faster” in the development work on a large code base.

Technical debt is a way to talk about the extra design and coding work that a developer or team “owes” to the product after making a “quick and dirty” coding fix. When developers work quickly and make too many expeditious fixes, the code base becomes increasingly more difficult to understand. The cost of adding new features increases drastically over time. Developers “pay back the technical debt” when they do some rework – “cleaning up the code” to restore a simpler and more elegant design.

Technical debt is one of the primary reasons for developers to do periodic refactoring of their code base. Refactoring is a step-by-step process to safely improve the structure of code without changing its behavior. This workshop will explore the sources of technical debt and some of the best practices for keeping technical debt under control. The workshop participants are invited to share both academic and industrial experiences.

How to join the workshop

What are your experiences in dealing with technical debt?    You can join in on the discussion.  Here is how you can become part of the workshop:

  1. Contact one of the workshop organizers listed below.
  2. Prepare an optional one-page "position paper" -- containing your ideas, questions, and experiences.  Send your position paper to mancl - AT - alcatel-lucent.com. 
  3. Note: The deadline for position papers is September 6.
  4. A workshop position paper is optional, but we use the workshop position papers to help us plan the discussion.  Here are some tips for your workshop paper:
    • Your position paper might explain some of your personal experiences (positive and/or negative) with design and coding problems leading to technical debt issues.
    • Or, you could describe some of your own philosophy of design techniques for reducing the burden of technical debt.
    • Finally, you could use your position paper to ask some questions -- some of the things that puzzle you about technical debt.

The workshop is organized as a set of interactive brainstorming and discussion sessions.  The workshop participants will prepare a poster to present at the SPLASH poster session on Monday afternoon.

Workshop Committee:

  • Dennis Mancl (mancl -AT- alcatel-lucent.com)
  • Bill Opdyke (opdyke -AT- acm.org)
  • Steve Fraser (sdfraser -AT- acm.org)

Extra material

Extra material (useful readings, links to books and articles on technical debt issues) will be posted here.

  • “Technical Debt” article on the Portland Patterns Wiki site, http://c2.com/cgi/wiki?WardExplainsDebtMetaphor.
  • Philippe Kruchten, Robert L. Nord, Ipek Ozkaya, Joost Visser, “Technical debt in software development: from metaphor to theory,” ACM SIGSOFT Software Engineering Notes, September 2012, pp. 36-38.
  • Technical Debt online community website:  http://www.ontechnicaldebt.com

Workshop position papers
 
These papers were submitted before the workshop, and you might want to read them before attending the workshop.

Position paper by Henry Baragar

Position paper by Dennis Mancl

 

SPLASH 2013 Workshop - Technical Debt