Software Engineering Institute | Carnegie Mellon University
Software Engineering Institute | Carnegie Mellon University

Digital Library

Javascript is currently disabled for your browser. For an optimal search experience, please enable javascript.

Advanced Search

Basic Search

Content Type

Topics

Publication Date

Collection - Related Assets

Architectural Technical Debt Library

  • Delivering increasingly complex software-reliant systems demands better ways to manage the long-term effects of short-term expedients known as technical debt.
  • Software Architecture Technical Debt
  • Publisher: Software Engineering Institute
  • Getting Started

    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.

     

    SATURN Blog

    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.

    http://saturnnetwork.wordpress.com/tag/technical-debt

     

    SEI Blog

    Highlight:"Developing an Architecture-Focused Measurement Framework for Management of Technical Debt"

    http://blog.sei.cmu.edu/archives.cfm/category/technical-debt

     

    Integrating Technical Debt Management with Software Development Practice

    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.

    Find more resources on this topic in the collection below.

     

    Technical Debt Research Agenda

    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.

    Find more resources on this topic in the collection below.

  • How to Agilely Architect an Agile Architecture February 2014 Author(s): Stephany Bellomo, Philippe Kruchten, Robert Nord, Ipek Ozkaya In this article, we present lessons learned about the characteristics of an Agile architecture that enabled an organization to develop its architecture in an Agile manner and continue to rapidly deliver features when more stringent quality attribute requi
  • Architecting for Large-Scale Agile Development: A Risk-Driven Approach May 2013 Author(s): Ipek Ozkaya, Michael J. Gagliardi, Robert Nord This article focuses on two agile architecting methods that provide rapid feedback on the state of agile team support: architecture-centric risk factors for adoption of agile development at scale and incremental architecture evaluations.
  • Architectural Tactics to Support Rapid and Agile Stability May 2012 Author(s): Felix Bachmann, Robert Nord, Ipek Ozkaya This article presents three tactics that support rapid and agile stability: aligning feature-based development and system decomposition, creating an architectural runway, and using matrix teams.
  • Enabling Agility Through Architecture December 2010 Author(s): Nanette Brown, Robert Nord, Ipek Ozkaya Enabling Agility Through Architecture: A Crosstalk article by Nanette Brown, Rod Nord, and Ipek Ozkaya.
  • Enabling Agility Through Architecture December 2010 Author(s): Nanette Brown, Robert Nord, Ipek Ozkaya This article discusses the important role that architecture plays in effectively applying Agile practices to software development.
  • Got Technical Debt? Surfacing Elusive Technical Debt in Issue Trackers May 2016 Author(s): Stephany Bellomo, Robert Nord, Ipek Ozkaya, Mary Popeck This paper reports on a study of issues from issue trackers to identify technical debt and present an approach for reporting technical debt in issue trackers.
  • Got Technical Debt? Surfacing Elusive Technical Debt in Issue Trackers November 2016 Author(s): Stephany Bellomo, Robert Nord, Ipek Ozkaya, Mary Popeck This presentation on measuring and managing technical debt was given at the 49th CREST Open Workshop Software Architecture and Technical Debt in November 2016.
  • Missed Architectural Dependencies: The Elephant in the Room April 2016 Author(s): Robert Nord, Raghvinder Sangwan, Julien Delange, Peter H. Feiler, Luke Thomas (Indiana University–Purdue University), Ipek Ozkaya This paper presents an in-depth study of a safety-critical system that underwent major changes as a result of missed architectural dependencies.
  • Reducing Friction in Software Development January 2016 Author(s): Paris Avgeriou (University of Groningen, The Netherlands), Philippe Kruchten, Robert Nord, Ipek Ozkaya, Carolyn Seaman (University of Maryland Baltimore County) Getting ahead of the software quality and innovation curve will involve establishing technical-debt management as a core software engineering practice.
  • Measure It? Manage It? Ignore It? Software Practitioners and Technical Debt November 2016 Author(s): Neil Ernst, Stephany Bellomo, Ipek Ozkaya, Robert Nord, Ian Gorton This presentation on measuring and managing technical debt was given at the 49th CREST Open Workshop Software Architecture and Technical Debt in November 2016.
  • Measure It? Manage It? Ignore It? Software Practitioners and Technical Debt August 2015 Author(s): Neil Ernst, Stephany Bellomo, Ipek Ozkaya, Robert Nord, Ian Gorton This paper reports on a survey of 1,831 software engineers and architects, and follow-up interviews of seven software engineers, to determine the most important sources of technical debt.
  • Architectural Dependency Analysis to Understand Rework Costs for Safety-Critical Systems June 2014 Author(s): Robert Nord, Ipek Ozkaya, Raghvinder Sangwan (Pennsylvania State University), Ronald Koontz (Boeing Company) This paper describes the need for a thorough understanding and analysis of architectural dependencies to minimize the cost of testing and technology upgrades.
  • Making Architecture Visible to Improve Flow Management in Lean Software Development October 2012 Author(s): Robert Nord, Ipek Ozkaya, Raghvinder Sangwan This article explains how the flow management concept from lean software development can provide a framework for balancing the allocation of critical architectural tasks to development effort.
  • In Search of a Metric for Managing Architectural Technical Debt August 2012 Author(s): Robert Nord, Ipek Ozkaya, Philippe Kruchten, Marco Gonzalez-Rojas (University of British Columbia) This paper describes an architecture-focused and measurement-based approach to developing a metric that will assist in strategically managing technical debt.
  • Analysis and Management of Architectural Dependencies in Iterative Release Planning April 2011 Author(s): Nanette Brown, Robert Nord, Ipek Ozkaya Authors assert that the ability to quantify architecture quality with measurable criteria provides engineering guidance for iterative release planning.
  • Managing Technical Debt in Software-Reliant Systems April 2011 Author(s): Nanette Brown This whitepaper argues that there is an opportunity to study and improve the “technical debt” metaphor concept and offers software engineers a foundation for managing such trade-offs based on models of their economic impacts.
  • Managing Technical Debt in Software-Reliant Systems November 2010 Author(s): Nanette Brown, Robert Nord, Ipek Ozkaya, Rick Kazman, Philippe Kruchten This paper describes how software engineers can manage technical debt based on models of their economic impact.