Identifying and Quantifying Architectural Debt

Author(s): Lu Xiao, Yuanfang Cai, Rick Kazman, Ran Mo, Qiong Feng
Venue: International Conference on Software Engineering
Date: May 2016

Type of Experiement: Case Study
Sample Size: 7
Class/Experience Level: Professional
Participant Selection: Chose Apache projects that differed in scale, application domain, length of history, and many other project characteristics.
Data Collection Method: Observation


This paper presents a test done to measure architectural debt. Architectural debt is similar to technical debt, but deals with how a flawed architecture accrues penalty. The study studies how exactly to identify and measure architectural debt by tracking the development of seven different Apache projects that differed in characteristics. Over the course of the projects, they measured commits, bug reports, and the number of files from beginning to end.

Results showed that a significant amount of overall maintenance effort was consumed by paying "interest" on architectural debts. Also, the top 5 architectural debts in each project consumed a non-trivial portion of the maintenance effort, but only contained a small portion of error-prone files. In conclusion, it helps to find sources of architectural debt early on to cut down on maintenance costs. It also helps to refactor small clusters of files early on, which will greatly decrease the maintenance costs later on.