Technical Debt: A Clean Architecture Implementation
ResumoTechnical Debt (TD) and Technical Debt Management (TDM) are terms that are receiving increasing attention from practitioners and researchers. They reflect a concern on how shortcuts taken during the software development process can incur negative impacts on software maintainability and how practitioners may use tools and techniques to mitigate the effects of the debt over time. A widely used tool to manage TD on an implementation level is SonarQube with the SQALE method, as it allows developers and managers to track debt over time. However, even SonarQube has its weaknesses since it only provides a set of architecture agnostic rules for TD, and the implementation of new rules can prove to be a challenging job. In this paper, we discuss how, during a real industrial project on a Brazilian software house, we developed a set of rules based on the Clean Architecture model, created a plug-in for SonarQube, and integrated it into our development cycle. At last, the preliminary results show that using a rigorous set of rules allows keeping track of TD on an implementation level.
Cunningham, Ward. 1992. "The WyCash Portfolio Management System." SIGPLAN OOPS Mess.
Li, Zengyang, Paris Avgeriou, and Peng Liang. 2015. "A Systematic Mapping Study on Technical Debt and Its Management." Journal of Systems and Software 101 (March): 193–220.
Martin, Robert C., 2017. Clean Architecture: A Craftsman's Guide to Software Structure and Design. 1st ed. Upper Saddle River, NJ, USA: Prentice-Hall Press.