O planejamento e a emergência da arquitetura dos softwares desenvolvidos com os métodos dos agilistas

Carregando...
Imagem de Miniatura

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

Citação

Departamento

Curso

Endereço externo

Avaliação

Revisão

Suplementado Por

Referenciado Por