Documentação de arquitetura de software em contextos ágeis de desenvolvimento - Barreto, Leonardo Augusto Picanço (2024)
O contexto de desenvolvimento de software atual contém alta competitividade e impõe às empresas a necessidade crescente de entregar valor rapidamente e com custo baixo. Nesse caso, os recursos são alocados no desenvolvimento acelerado em detrimento de atividades de planejamento e de documentação de arquitetura de software. Dessa forma, informações relevantes sobre o sistema como interações do usuário, infraestrutura e plataforma de desenvolvimento, por exemplo, não são definidas ou documentadas da melhor forma, levando à maior complexidade de desenvolvimento e manutenção dos sistemas. Nesse contexto, a questão de pesquisa deste trabalho é quais abordagens de documentação da arquitetura de sistemas são viáveis em contextos ágeis de desenvolvimento de software e como utilizá-las? Para respondê-la, uma revisão da literatura e uma Feature Analysis foram realizadas, para avaliar as abordagens 4+1, S4V, ADD, BAPO/CAFCR, C3A e C4. A análise indicou as abordagens 4+1 e C4 com potencial de aplicação no contexto estudado e, para validá-las, três estudos experimentais foram realizados. Foi possível mostrar que não há diferença significativa na corretude da documentação ao utilizar as duas abordagens. Entretanto, algumas visões, como a de contexto (C4) e física (4+1), por exemplo, são mais importantes e mais fáceis de utilizar nas fases iniciais de desenvolvimento e outras, como a de componentes (C4) e lógica (4+1), por exemplo, só serão úteis em estágios futuros. Por fim, verificou-se também que, para não impactar o processo de desenvolvimento, uma solução é definir uma pessoa da equipe para documentar a arquitetura do sistema, desde que tenha conhecimento amplo sobre o produto e, se não o tiver, permita a contribuição por parte dos outros membros da equipe.