Technical debt in reference architectures: definition, conceptual model, and identification guidelines

Detalhes bibliográficos
Autor(a) principal: Damaceno, Katia Cristina Aparecida
Data de Publicação: 2024
Tipo de documento: Tese
Idioma: eng
Título da fonte: Biblioteca Digital de Teses e Dissertações da USP
Texto Completo: https://www.teses.usp.br/teses/disponiveis/55/55134/tde-23082024-135100/
Resumo: To cope with the increasing complexity of software development, organizations are often making decisions that compromise quality attributes of their products (e.g., maintainability and evolvability) to achieve business benefits in the software development lifecycle. This phenomenon, called Technical Debt (TD), occurs not only during coding (e.g. poor programming practices or technological gaps), but can be found in documentation, architecture, etc. TD is hardly seen by customers or end users, and sometimes not even from the point of view of developers who often are unaware of it. The invisibility of architectural TD increases the risk of high maintenance and evolution costs of the corresponding generated software systems. Since 2010, architectural TD has been constantly researched, showing the importance of this area for software development. On the other hand, TD could also be present in reference architectures, which are situated one level above software architectures, as they encompass the knowledge of how to design concrete architectures for a given application domain. However, Reference Architecture Technical Debt (RATD) has not received enough attention from the research community, which motivated this work. When left unidentified, RATD can lead to TD in software architectures and, consequently, in software systems. Furthermore, it can be accumulated and generate unexpected costs such as higher maintenance and time-to-market. Therefore, it is crucial to efficiently manage RATD debt to ensure the integrity of software systems. In this scenario, the main objective of this PhD thesis was to define the concepts involving RATD and propose a method to identify and to document RATD in reference architectures during the processes of creation, maintenance, and evolution. To evaluate the proposed concepts, a survey was carried out with experts in the area. To evaluate the proposed identification guidelines, a proof of concept was conducted based on a reference architecture already consolidated. As main results, we expect that the RATD concepts and identification guidelines will raise awareness among software developers about RATD and how to identify and document it, thus making reference architectures more sustainable in the long term.
id USP_4965fe2ac24216476ee06893b21f1b20
oai_identifier_str oai:teses.usp.br:tde-23082024-135100
network_acronym_str USP
network_name_str Biblioteca Digital de Teses e Dissertações da USP
repository_id_str 2721
spelling Technical debt in reference architectures: definition, conceptual model, and identification guidelinesDivida técnica em arquiteturas dereferencia: definição, modelo conceitual e diretrizes para identificaçãoArchitetural tecnical debtArquitetura de referênciaArquitetura de softwareDivida técnicaDivida técnica arquiteturalReference architectureSoftware architectureTechnical debtTo cope with the increasing complexity of software development, organizations are often making decisions that compromise quality attributes of their products (e.g., maintainability and evolvability) to achieve business benefits in the software development lifecycle. This phenomenon, called Technical Debt (TD), occurs not only during coding (e.g. poor programming practices or technological gaps), but can be found in documentation, architecture, etc. TD is hardly seen by customers or end users, and sometimes not even from the point of view of developers who often are unaware of it. The invisibility of architectural TD increases the risk of high maintenance and evolution costs of the corresponding generated software systems. Since 2010, architectural TD has been constantly researched, showing the importance of this area for software development. On the other hand, TD could also be present in reference architectures, which are situated one level above software architectures, as they encompass the knowledge of how to design concrete architectures for a given application domain. However, Reference Architecture Technical Debt (RATD) has not received enough attention from the research community, which motivated this work. When left unidentified, RATD can lead to TD in software architectures and, consequently, in software systems. Furthermore, it can be accumulated and generate unexpected costs such as higher maintenance and time-to-market. Therefore, it is crucial to efficiently manage RATD debt to ensure the integrity of software systems. In this scenario, the main objective of this PhD thesis was to define the concepts involving RATD and propose a method to identify and to document RATD in reference architectures during the processes of creation, maintenance, and evolution. To evaluate the proposed concepts, a survey was carried out with experts in the area. To evaluate the proposed identification guidelines, a proof of concept was conducted based on a reference architecture already consolidated. As main results, we expect that the RATD concepts and identification guidelines will raise awareness among software developers about RATD and how to identify and document it, thus making reference architectures more sustainable in the long term.Para lidar com a crescente complexidade do desenvolvimento de software, as organizações muitas vezes tomam decisões que comprometem os atributos de qualidade dos seus produtos (por exemplo, manutenibilidade e e capacidade de evolução) para obter benefícios de negócio no ciclo de vida de desenvolvimento de software. Este fenômeno, denominado Dívida Técnica ( DT), ocorre não apenas durante a codificação (por exemplo, práticas de programação inadequadas ou lacunas tecnológicas), mas pode ser encontrado na documentação, arquitetura, etc. A DT dificilmente é vista pelos clientes ou usuários finais, e às vezes nem mesmo do ponto de vista dos desenvolvedores, que podem ignorá-la. A DT arquitetural pode ser invisível, aumentando o risco de elevados custos de manutenção e evolução dos correspondentes sistemas de software gerados. Desde 2010, a DT arquitetural vem sendo constantemente pesquisada, mostrando a importância desta área para o desenvolvimento de software. Por outro lado, a DT também poderia estar presente em arquiteturas de referência, que se situam um nível acima das arquiteturas de software, pois abrangem o conhecimento de como projetar arquiteturas concretas para um determinado domínio de aplicação. No entanto, a Dívida Técnica de Arquitetura de Referência (RATD) não tem recebido atenção suficiente da comunidade científica, o que motivou este trabalho. Quando não identificado, a RATD pode levar à DT em arquiteturas de software e, consequentemente, em sistemas de software. Além disso, a dívida pode ser acumulada e gerar custos inesperados, como maior manutenção e tempo de mercado. Portanto, é crucial gerenciar eficientemente a RATD para garantir a integridade dos sistemas de software. Neste cenário, o objetivo principal desta tese de doutorado foi definir os conceitos envolvendo RATD e propor um método para identificar e documentar RATD em arquiteturas de referência durante o processo de criação, manutenção ou evolução. Para avaliar os conceitos propostos, foi realizada uma pesquisa com especialistas na área. Já para avaliar as diretrizes de identificação propostas, foi realizada uma prova de conceito com base em uma arquitetura de referência já consolidada. Como principais resultados, espera-se que os conceitos e diretrizes de identificação de RATD contribuam para conscientizar os desenvolvedores de software sobre a RATD e como identifica-la e documenta-la, tornando assim as arquiteturas de referência mais sustentáveis a longo prazo.Biblioteca Digitais de Teses e Dissertações da USPBraga, Rosana Teresinha VaccareNakagawa, Elisa YumiDamaceno, Katia Cristina Aparecida2024-06-18info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdfhttps://www.teses.usp.br/teses/disponiveis/55/55134/tde-23082024-135100/reponame:Biblioteca Digital de Teses e Dissertações da USPinstname:Universidade de São Paulo (USP)instacron:USPLiberar o conteúdo para acesso público.info:eu-repo/semantics/openAccesseng2024-08-23T16:59:02Zoai:teses.usp.br:tde-23082024-135100Biblioteca Digital de Teses e Dissertaçõeshttp://www.teses.usp.br/PUBhttp://www.teses.usp.br/cgi-bin/mtd2br.plvirginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.bropendoar:27212024-08-23T16:59:02Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)false
dc.title.none.fl_str_mv Technical debt in reference architectures: definition, conceptual model, and identification guidelines
Divida técnica em arquiteturas dereferencia: definição, modelo conceitual e diretrizes para identificação
title Technical debt in reference architectures: definition, conceptual model, and identification guidelines
spellingShingle Technical debt in reference architectures: definition, conceptual model, and identification guidelines
Damaceno, Katia Cristina Aparecida
Architetural tecnical debt
Arquitetura de referência
Arquitetura de software
Divida técnica
Divida técnica arquitetural
Reference architecture
Software architecture
Technical debt
title_short Technical debt in reference architectures: definition, conceptual model, and identification guidelines
title_full Technical debt in reference architectures: definition, conceptual model, and identification guidelines
title_fullStr Technical debt in reference architectures: definition, conceptual model, and identification guidelines
title_full_unstemmed Technical debt in reference architectures: definition, conceptual model, and identification guidelines
title_sort Technical debt in reference architectures: definition, conceptual model, and identification guidelines
author Damaceno, Katia Cristina Aparecida
author_facet Damaceno, Katia Cristina Aparecida
author_role author
dc.contributor.none.fl_str_mv Braga, Rosana Teresinha Vaccare
Nakagawa, Elisa Yumi
dc.contributor.author.fl_str_mv Damaceno, Katia Cristina Aparecida
dc.subject.por.fl_str_mv Architetural tecnical debt
Arquitetura de referência
Arquitetura de software
Divida técnica
Divida técnica arquitetural
Reference architecture
Software architecture
Technical debt
topic Architetural tecnical debt
Arquitetura de referência
Arquitetura de software
Divida técnica
Divida técnica arquitetural
Reference architecture
Software architecture
Technical debt
description To cope with the increasing complexity of software development, organizations are often making decisions that compromise quality attributes of their products (e.g., maintainability and evolvability) to achieve business benefits in the software development lifecycle. This phenomenon, called Technical Debt (TD), occurs not only during coding (e.g. poor programming practices or technological gaps), but can be found in documentation, architecture, etc. TD is hardly seen by customers or end users, and sometimes not even from the point of view of developers who often are unaware of it. The invisibility of architectural TD increases the risk of high maintenance and evolution costs of the corresponding generated software systems. Since 2010, architectural TD has been constantly researched, showing the importance of this area for software development. On the other hand, TD could also be present in reference architectures, which are situated one level above software architectures, as they encompass the knowledge of how to design concrete architectures for a given application domain. However, Reference Architecture Technical Debt (RATD) has not received enough attention from the research community, which motivated this work. When left unidentified, RATD can lead to TD in software architectures and, consequently, in software systems. Furthermore, it can be accumulated and generate unexpected costs such as higher maintenance and time-to-market. Therefore, it is crucial to efficiently manage RATD debt to ensure the integrity of software systems. In this scenario, the main objective of this PhD thesis was to define the concepts involving RATD and propose a method to identify and to document RATD in reference architectures during the processes of creation, maintenance, and evolution. To evaluate the proposed concepts, a survey was carried out with experts in the area. To evaluate the proposed identification guidelines, a proof of concept was conducted based on a reference architecture already consolidated. As main results, we expect that the RATD concepts and identification guidelines will raise awareness among software developers about RATD and how to identify and document it, thus making reference architectures more sustainable in the long term.
publishDate 2024
dc.date.none.fl_str_mv 2024-06-18
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://www.teses.usp.br/teses/disponiveis/55/55134/tde-23082024-135100/
url https://www.teses.usp.br/teses/disponiveis/55/55134/tde-23082024-135100/
dc.language.iso.fl_str_mv eng
language eng
dc.relation.none.fl_str_mv
dc.rights.driver.fl_str_mv Liberar o conteúdo para acesso público.
info:eu-repo/semantics/openAccess
rights_invalid_str_mv Liberar o conteúdo para acesso público.
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
dc.coverage.none.fl_str_mv
dc.publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
publisher.none.fl_str_mv Biblioteca Digitais de Teses e Dissertações da USP
dc.source.none.fl_str_mv
reponame:Biblioteca Digital de Teses e Dissertações da USP
instname:Universidade de São Paulo (USP)
instacron:USP
instname_str Universidade de São Paulo (USP)
instacron_str USP
institution USP
reponame_str Biblioteca Digital de Teses e Dissertações da USP
collection Biblioteca Digital de Teses e Dissertações da USP
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da USP - Universidade de São Paulo (USP)
repository.mail.fl_str_mv virginia@if.usp.br|| atendimento@aguia.usp.br||virginia@if.usp.br
_version_ 1809091022224883712