Technical Debt: A Clean Architecture Implementation

  • Alessandro Caetano Beltrão Universidade Federal do Rio de Janeiro
  • Fábio de Almeida Farzat ED Company
  • Guilherme Horta Travassos Universidade Federal do Rio de Janeiro

Resumo


Technical 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.
Palavras-chave: Clean Architecture, Technical Debt, Technical Debt Management, SonarQube

Referências

Brown, Nanette, Ipek Ozkaya, Raghvinder Sangwan, Carolyn Seaman, Kevin Sullivan, Nico Zazworka, Yuanfang Cai, et al. 2010. "Managing Technical Debt in Software-Reliant Systems." In Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research - FoSER '10, 47. Santa Fe, New Mexico, USA: ACM Press.

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.
Publicado
19/10/2020
BELTRÃO, Alessandro Caetano; FARZAT, Fábio de Almeida; TRAVASSOS, Guilherme Horta. Technical Debt: A Clean Architecture Implementation. In: TRILHA DA INDÚSTRIA - CONGRESSO BRASILEIRO DE SOFTWARE: TEORIA E PRÁTICA (CBSOFT), 11. , 2020, Evento Online. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2020 . p. 131-134. DOI: https://doi.org/10.5753/cbsoft_estendido.2020.14620.