Strategic Management of Technical Debt

Abstract

Technical debt acknowledges that software development teams sometimes accept compromises in a system in one dimension (for example, modularity) to meet an urgent demand in some other dimension (for example, a deadline), and that such compromises incur a debt. If not properly managed the interest on this debt may continue to accrue, severely hampering system stability and quality and impacting the teams ability to deliver enhancements at a pace that satisfies business needs. Although unmanaged debt can have disastrous results, strategically managed debt can help businesses and organizations take advantage of time-sensitive opportunities, fulfill market needs and acquire stakeholder feedback. Because architecture has such leverage within the overall development life cycle, strategic management of architectural debt is of primary importance. Some aspects of technical debt - but not all technical debt - affect product quality. This tutorial introduces the technical debt metaphor and the techniques for integrating it fully with the software development lifecycle intentionally, with a focus on software architecture.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2018
Accession Number
AD1087753

Entities

People

  • Ipek Ozkaya
  • Philippe Kruchten

Organizations

  • Carnegie Mellon University

Tags

Communities of Interest

  • Engineered Resilient Systems

DTIC Thesaurus Topics

  • British Columbia
  • Department Of Defense
  • Engineering
  • Engineers
  • Information Systems
  • Lessons Learned
  • Life Cycles
  • Literature Surveys
  • Mechanical Engineering
  • Rapid Deployment
  • Software Design
  • Software Development
  • Systems Engineering
  • Technical Debt
  • Universities

Fields of Study

  • Computer science

Readers

  • European Security and Defence Policy (ESDP).
  • Organizational Process Management (OPM).
  • Software Engineering.