O que é Arquitetura Ágil?

De uma maneira simples e rápida: é a aplicação do pensamento enxuto nas práticas arquiteturais.

O pensamento enxuto é a busca pela maximização do valor através da contínua eliminação de desperdícios. O desenvolvimento ágil é fortemente baseado no pensamento enxuto. Apesar de que as metodologias definem várias práticas, valores, princípios, etc, etc, etc… No fim, tudo o que elas buscam é: maximizar o valor eliminando desperdícios.

Por isso você dificilmente conseguirá achar um time ágil que escreve um Documento de Visão [2], dada a sua grandiosíssima utilidade para o projeto. No entanto, se a equipe trabalha, por exemplo, para órgão públicos, os documentos são extremamente necessário, então, neste caso, os documentos trazem sim valor ao projeto, não devendo ser eliminados.

A Arquitetura Ágil então busca aplicar este pensamento, de cortar desperdícios, e agregar mais valor ao cliente. As definições mais clássicas de arquitetura definem como “a estrutura organizacional dos seus componentes e o relacionamento entre estes” [3]. Com base nisso surgiram várias práticas arquiteturais para realizar esta análise, como modelos, diagramas, entre outros. Mas a verdade é que “a estrutura organizacional dos seus componentes e o relacionamento entre estes”, por si só, não traz nada para o cliente, ou projeto.

Entra então a Arquitetura Ágil. Nos trabalhos mais atuais, quando se fala de Arquitetura, é muito comum falar sobre atributos de qualidade [4], ou seja, agora a Arquitetura não é só uma visão da implementação, ela também traz valor ao projeto, ao buscar alcançar determinados atributos de qualidade, e isso sim traz um real valor.

Um bom exemplo de atributo de qualidade é o tempo de resposta para criação de um relatório. Como poderíamos destacar que o tempo de resposta para gerar um certo conjunto de relatórios, em determinada situação, seja igual a 10 segundos, por exemplo? A equipe não consegue descrever uma estória sobre isso, pois essa é uma preocupação constante no projeto e não algo que vai ser testado e implementado para ser feito o deploy.

A Arquitetura Ágil vai então propor atividades que tragam a atenção do time para esta tarefa. Para este exemplo, poderia ser utilizado a prática de Landing Zones [5], onde seria definido valores mínimo, ideal e máximo para o tempo de criação do relatório. Assim a equipe poderia escrever um teste que, ao quebrar estes limites alertaria um problema.

Existem ainda vários outros pontos de discussão, como onde encaixar a arquitetura, se é preciso realmente uma preocupação com a arquitetura, quem é o arquiteto, ou “Quem  precisa de um arquiteto?” [6]

Se você quer saber mais sobre Arquitetura, compareça a JavaCE Comunity Conference (http://conference.javace.org/) e vote no meu LT (http://call4paperz.com/events/javace-conference-lightning-talk/proposals/388) para ser um dos palestrantes no evento.

[1] Lean Thinking. http://www.lean.org.br/o_que_e.aspx

[2] Documento de visão. http://pt.wikipedia.org/wiki/Documento_de_visão

[3] VAROTO, A. C. Visões em arquitetura de software. Dissertação de Mestrado, Universidade de São Paulo, São Paulo, SP, 2002.

[4] SHARIFLOO, A. A.; et al. Embedding Architectural Practices into Extreme Programming . 19th Australian Conference on Software Engineering , 2008.

[5] GUERRA, E. Práticas para lidar com Arquitetura em ambientes ágeis. MundoJ, Nov/Dez, 2011

[6] FOWLER, M. Who Needs an Architect? IEEE Software, Jul/Ago, 2003

Anúncios

5 comentários sobre “O que é Arquitetura Ágil?

  1. Cara, parabéns pelo post. A proposito, vou fazer minha monografia de pós-graduação exatamente sobre esse assunto. As referências desse post serão bastante uteis.

  2. Olha ai o Rodrigo Galba. Estou pensando em fazer no mesmo tema cara!

  3. Muito bacana esse Post, gostei bastante. Terminei minha Pós Graduação e quero fazer exatamente neste assunto. Arquitetura de Software em Projetos Ageis. Será que você poderia me passar algumas bibliografias ou até mesmo sua monografia, para dar uma lida e ter uma idéia. Se for possível. Agradeço desde já

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s