Technical debt in reference architectures: definition, conceptual model, and identification guidelines
Autor(a) principal: | |
---|---|
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_ |
1815257370951942144 |