TY - GEN
T1 - A Case Study in Locating the Architectural Roots of Technical Debt
AU - Kazman, Rick
AU - Cai, Yuanfang
AU - Mo, Ran
AU - Feng, Qiong
AU - Xiao, Lu
AU - Haziyev, Serge
AU - Fedak, Volodymyr
AU - Shapochka, Andriy
N1 - Publisher Copyright:
© 2015 IEEE.
PY - 2015/8/12
Y1 - 2015/8/12
N2 - Our recent research has shown that, in large-scale software systems, defective files seldom exist alone. They are usually architecturally connected, and their architectural structures exhibit significant design flaws which propagate bugginess among files. We call these flawed structures the architecture roots, a type of technical debt that incurs high maintenance penalties. Removing the architecture roots of bugginess requires refactoring, but the benefits of refactoring have historically been difficult for architects to quantify or justify. In this paper, we present a case study of identifying and quantifying such architecture debts in a large-scale industrial software project. Our approach is to model and analyze software architecture as a set of design rule spaces (DRSpaces). Using data extracted from the project's development artifacts, we were able to identify the files implicated in architecture flaws and suggest refactorings based on removing these flaws. Then we built economic models of the before and (predicted) after states, which gave the organization confidence that doing the refactorings made business sense, in terms of a handsome return on investment.
AB - Our recent research has shown that, in large-scale software systems, defective files seldom exist alone. They are usually architecturally connected, and their architectural structures exhibit significant design flaws which propagate bugginess among files. We call these flawed structures the architecture roots, a type of technical debt that incurs high maintenance penalties. Removing the architecture roots of bugginess requires refactoring, but the benefits of refactoring have historically been difficult for architects to quantify or justify. In this paper, we present a case study of identifying and quantifying such architecture debts in a large-scale industrial software project. Our approach is to model and analyze software architecture as a set of design rule spaces (DRSpaces). Using data extracted from the project's development artifacts, we were able to identify the files implicated in architecture flaws and suggest refactorings based on removing these flaws. Then we built economic models of the before and (predicted) after states, which gave the organization confidence that doing the refactorings made business sense, in terms of a handsome return on investment.
UR - http://www.scopus.com/inward/record.url?scp=84943346141&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84943346141&partnerID=8YFLogxK
U2 - 10.1109/ICSE.2015.146
DO - 10.1109/ICSE.2015.146
M3 - Conference contribution
AN - SCOPUS:84943346141
T3 - Proceedings - International Conference on Software Engineering
SP - 179
EP - 188
BT - Proceedings - 2015 IEEE/ACM 37th IEEE International Conference on Software Engineering, ICSE 2015
T2 - 37th IEEE/ACM International Conference on Software Engineering, ICSE 2015
Y2 - 16 May 2015 through 24 May 2015
ER -