O planejamento e a emergência da arquitetura dos softwares desenvolvidos com os métodos dos agilistas
Carregando...
Data
Autor(es)
Título da Revista
ISSN da Revista
Título de Volume
Editor
Universidade Federal de Minas Gerais
Descrição
Tipo
Monografia de especialização
Título alternativo
Primeiro orientador
Membros da banca
Gisele Lobo Pappa
Resumo
O principal objetivo do presente trabalho é apresentar um estudo exploratório a respeito de aspectos da emergência da arquitetura de produtos durante o desenvolvimento de software, empregando equipes que adotam modelos de processo de desenvolvimento ágil. Nos métodos tradicionais, os requisitos devem ser obtidos de forma extensiva e exaustiva e, a arquitetura deve ser definida e especificada de forma a atender a este conjunto de requisitos de forma abrangente e consolidada. Nos métodos dos agilistas não é possível incorporar a forma tradicional de definição do desenho da arquitetura de software, pois não existe a pretensão de obter os requisitos de forma extensiva e exaustiva. Os requisitos são considerados em função dos desejos e expectativas julgados mais urgentes e importantes. Então, desenha-se a arquitetura de maneira incremental na medida em que os requisitos vão sendo considerados, com a crença de que a arquitetura irá "emergir" a partir dos diferentes conjuntos de requisitos considerados. Neste trabalho são apresentados: i) formas de desenhar a arquitetura de software plena antes de iniciar a etapa de codificação; ii) princípios e trabalhos relacionados a desenvolvimento de software quanto ao trabalho de arquitetura, empregando equipes que adotam modelo de processo de desenvolvimento agil; iii) práticas dos métodos de desenvolvimento ágil quando empregadas em projetos de desenvolvimento de software; iv) como os princípios dos métodos de desenvolvimento ágil podem influenciar no desenho da arquitetura e os riscos de se trabalhar com uma arquitetura emergente; e, v) práticas de gestão de projeto de software em função da emergência da arquitetura em projetos de software quando executados por equipes que empregam métodos ágeis.
Abstract
The main objective of this document is to present an exploratory study regarding aspects of the architecture emergence that occurs along the software development process among teams that adopt agile development process models. In traditional methods, the requirements are obtained from extensive and exhaustive work, and the architecture design is defined and specified to meet this set of comprehensive and consolidated requirements. In the agile methods, it´s not possible to incorporate the traditional way of the software architecture design work, since there is no plan to collect a full set of requirements. The requirements are considered in rounds according to the stakeholders wishes and main needs. So, the architecture design is defined while the requirements are considered with the belief that the architecture design will "emerge" from the different sets of requirements that are considered to develop. Along those lines, this document presents: i) ways to design full software architecture up front; ii) how agile software development teams work out the architecture design; iii) what practices agile software development teams use when they work in software development projects; iv) how the agile principles can influence the architectural design and how the risks of working with an "emerging" architecture can be managed; and v) software project management practices considering architecture emergence in software projects and teams employing agile methods.
Assunto
Software Desenvolvimento, Computação, Engenharia de software
Palavras-chave
Processo de desenvolvimento de software, Emergência, Agilidade, arquitetural