Investigating the impact of design debt on software quality

  • Authors:
  • Nico Zazworka;Michele A. Shaw;Forrest Shull;Carolyn Seaman

  • Affiliations:
  • Fraunhofer Center for Experimental Software Engineering, College Park, MD, USA;Fraunhofer Center for Experimental Software Engineering, College Park, MD, USA;Fraunhofer Center for Experimental Software Engineering, College Park, MD, USA;Fraunhofer Center for Experimental Software Engineering & UMBC, College Park & Balitmore, MD, USA

  • Venue:
  • Proceedings of the 2nd Workshop on Managing Technical Debt
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Technical debt is a metaphor describing situations where developers accept sacrifices in one dimension of development (e.g. software quality) in order to optimize another dimension (e.g. implementing necessary features before a deadline). Approaches, such as code smell detection, have been developed to identify particular kinds of debt, e.g. design debt. What has not yet been understood is the impact design debt has on the quality of a software product. Answering this question is important for understanding how growing debt affects a software product and how it slows down development, e.g. though introducing rework such as fixing bugs. In this case study we investigate how design debt, in the form of god classes, affects the maintainability and correctness of software products by studying two sample applications of a small-size software development company. The results show that god classes are changed more often and contain more defects than non-god classes. This result complements findings of earlier research and suggests that technical debt has a negative impact on software quality, and should therefore be identified and managed closely in the development process.