Delivering increasingly complex software-reliant systems demands better ways to manage the long-term effects of short-term expedients. The technical debt metaphor is gaining significant traction as a way to understand and communicate these issues. Often when a particular symptom in a system is described as technical debt, it's not just the code quality that is bad, but it's also accumulating problems that happen in terms of architectural changes that have occurred throughout the system's development. We see increasing industry interest and the emergence of related practices in an effort to handle maintainability, degrading quality, and strategic time-to market tradeoffs that the technical debt metaphor reifies.
Ipek Ozkaya. SEI Agile Research Forum 5.22.12. "Strategic Management of Architectural Technical Debt"
Ipek Ozkaya. "An Architecture-Focused Measurement Framework for Managing Technical Debt"
Interviews with key practitioners on technical debt: Jeromy Carriere, Michael Feathers, Steve McConnell, and Carolyn Seaman.
Philippe Kruchten, Robert L. Nord, Ipek Ozkaya. "Technical Debt: From Metaphor to Theory and Practice." IEEE Software, Nov/Dec, 2012
The educational "Hard Choices Board Game" communicates the concepts of uncertainty, risk, options, and technical debt.
Industry and government stakeholders continue to demand increasingly rapid innovation and the ability to adjust products and systems to emerging needs. Amidst all the enthusiasm towards meeting these needs, the critical role of the underlying architecture is often overlooked. These articles focus on the architecture principles and practices that support rapid delivery while managing technical debt.
Nanette Brown, Robert Nord, Ipek Ozkaya. "Enabling Agility Through Architecture," Crosstalk, Nov/Dec, 2010.
Felix Bachmann, Robert L. Nord, and Ipek Ozkaya. "Architectural Tactics to Support Rapid and Agile Stability," Crosstalk, May/June, 2012.
Ipek Ozkaya, Michael Gagliardi and Robert L. Nord. "Architecting for Large Scale Agile Software Development: A Risk-Driven Approach," Crosstalk, May/June, 2013.
Highlight: "Links: Ipek Ozkaya on Technical Debt, Agile, and Architecture"
Practices intended to speed up the delivery of value to users often result in high rework costs that ultimately offset the benefits of faster delivery, especially when good engineering practices are forgotten along the way.
The SEI focuses on managing debt as an agile software architecture strategy. Specifically, SEI researchers are focusing on identifying any implications to the cost of architectural changes. Architectural technical debt is a design or construction approach that's expedient in the short term, but that creates a technical context in which the same work requires architectural rework and costs more to do later than it would cost to do now (including increased cost over time). A unifying perspective is emerging of technical debt as the invisible results of past decisions about software that affect its future. The effect can be negative in the form of poorly managed risks, but if properly managed can be seen in a positive light to add value in the form of deferred investment opportunities. A gap in the existing approaches and tools is a way to extract architectural metrics that can assist understanding the accumulating rework and degrading quality.
Robert L. Nord, Ipek Ozkaya, Philippe Kruchten, Marco Gonzalez. "In Search of a Metric for Managing Architectural Debt."Joint 10th Working IEEE/IFIP Conference on Software Architecture (WICSA) & 6th European Conference on Software Architecture (ECSA), August 20-24, 2012, Helsinki, Finland.
Robert L. Nord, Ipek Ozkaya, Raghvinder S. Sangwan. "Making Architecture Visible to Improve Flow Management in Lean Software Development." IEEE Software Special Issue on Lean Software Development (Sept/Oct 2012).
Robert L. Nord, Ipek Ozkaya, Raghvinder Sangwan, Nanette Brown.
"Communicating the Benefits of Architecting within Agile Development: Quantifying the Value of Architecting within Agile Software Development via Technical Debt Analysis." In: Bass et al. Results of SEI Line-Funded Exploratory New Starts Projects (CMU/SEI-2012-TR-004), March 2012.
Nanette Brown, Robert Nord, Ipek Ozkaya, Manuel Pais.
"Analysis and Management of Architectural Dependencies in Iterative Release Planning", Working IEEE/IFIP Conference on Software Architecture, June 2011.
Nanette Brown, Yanfang Cai, Yuepo Guo, Rick Kazman, Miryung Kim, Phillippe Kruchten, Erin Lim, Alan McCormack, Robert Nord, Ipek Ozkaya, Raghvinder Sangwan, Carolyn Seaman, Kevin Sullivan, Nico Zazworka.
"Managing Technical Debt in Software-Reliant Systems," FSE/SDP Workshop on the Future of Software Engineering Research (FoSER) 2010, November 7–8, 2010, Santa Fe, New Mexico, USA.
Highlight: "Using Agile Effectively in DoD Environments" describes how our research has approached the topic of Agile methods both from an acquisition and a technical perspective.
For more information
Please tell us what you
think with this short
(< 5 minute) survey.