SEI Helps Shape Research Agenda for Managing Technical Debt
March 13, 2012—Twenty years after Ward Cunningham first articulated the concept of technical debt, the problem remains a concern in the field of software engineering. Today’s larger, more complex, and more interdependent systems only exacerbate the consequences of technical debt and demand more urgent efforts to address it. Experts at the SEI have been on the case, helping to drive research on managing technical debt in large-scale systems. In June, in conjunction with the International Conference on Software Engineering (ICSE), the SEI will conduct its third International Workshop on Managing Technical Debt. In addition, the SEI’s Robert Nord (pictured) and Ipek Ozkaya, and their colleague, Philippe Kruchten from the University of British Columbia, have been tapped to coedit a special issue of IEEE Software devoted to the topic of technical debt.
“We’re researching an architecture-focused measurement framework for managing technical debt. Our work is informed by real-world examples we’ve gathered from the Technical Debt Workshops.” —Robert Nord, senior member of the technical staff at the SEI.
Technical debt refers to the degraded quality and required rework resulting from short-term decisions made to expedite software development and delivery. Decisions that defer work in areas such as modifiability, portability, and documentation represent a kind of “loan” that allows developers to deliver on time. However, once the developers incur this debt, they become subject to “interest” charges in the form of higher long-term rework costs as time passes, customer requirements evolve, and intervening versions, perhaps carrying their own technical debt, are released. These costs may ultimately exceed the value of the original loan.
“We’re researching an architecture-focused measurement framework for managing technical debt,” said Robert Nord, senior member of the technical staff at the SEI. “Our work is informed by real-world examples we’ve gathered from the Technical Debt Workshops.”
The SEI’s early efforts in this area focused on providing software engineers visibility into technical debt from strategic and architectural perspectives. “This work produced a release planning framework,” said Ipek Ozkaya, a senior member of the technical staff working on technical debt management. “The release planning framework clarifies how to integrate architectural concerns with Agile project management methods, such as Scrum. It also helps users relate requirements with architectural decisions. Understanding these dependencies helps software developers make informed decisions about architectural technical debt.”
One major theme of the SEI’s research on technical debt is identifying metrics that can be extracted from the code and module structures of software systems and using them to provide insights into architectural dependencies that impact system-wide architectural rework. By doing so, Nord, Ozkaya, and their colleagues hope to enhance software development efficiency and quality.
To stimulate interest in this area of research and disseminate recent findings, IEEE Software will publish a special issue on technical debt in November/December 2012. The SEI’s Nord and Ozkaya will serve as two of the guest editors of the issue. “We’re accepting submissions until April 1,” noted Nord. For information on submitting an article for the IEEE Software special issue on technical debt, please visit http://www.computer.org/portal/web/computingnow/swcfp6.
Nord also encourages interested researchers and practitioners to participate in the third International Workshop on Managing Technical Debt, which will be held in conjunction with the ICSE on June 4, 2012. “The goal of this third workshop is to discuss managing technical debt as a part of the research agenda for the software engineering field,” said Nord. “In particular, we want to focus on industry challenges for the research community in eliciting and visualizing causes of debt and creating payback strategies.” To learn how to participate in the workshop, please visit http://www.sei.cmu.edu/community/td2012/.
Those interested in attending the SATURN Conference 2012 in St. Petersburg, Fla., should note that the Program Committee has made a change to the tutorials schedule, which now includes the topic of technical debt. The updated Tutorial 6 (T6), "Strategic Management of Technical Debt," will be conducted by the SEI’s Nord and Ozkaya. This tutorial will
- introduce attendees to the technical debt metaphor
- discuss tools and techniques for measuring and communicating technical debt (including the SEI's Hard Choices game)
- provide a foundation for managing architectural tradeoff and refactoring decisions based on economic impact
The tutorial is scheduled for Friday, May 11, from 8:30 a.m. to 12:00 p.m.