Este documento discute práticas arquiteturais em metodologias ágeis de desenvolvimento de software. Ele explora os desafios enfrentados por arquitetos em times ágeis, como documentação excessiva e falta de valor percebido, e sugere soluções como redução de artefatos e avaliações em alto nível. O objetivo é estudar como a arquitetura é empregada em times ágeis de forma a agregar valor e qualidade aos sistemas.
3. / princípios ágeis / modelo cascata
Comunicação
• Iniciação do projeto
• Levantamento de requisitos
Planejamento
• Estimativas
• Cronogramação
• Monitoração
Modelagem
• Análise
• Projeto
Construção
• Codificação
• Teste
Implantação
• Entrega
• Manutenção
• Feedback
REQUISITOS
ARQUITETURA
SOFTWARE
4. / princípios ágeis
INDIVÍDUOS E INTERAÇÕES MAIS QUE PROCESSOS E FERRAMENTAS
SOFTWARE EM FUNCIONAMENTO MAIS QUE DOCUMENTAÇÃO ABRANGENTE
COLABORAÇÃO COM O CLIENTE MAIS QUE NEGOCIAÇÃO DE CONTRATOS
RESPONDER A MUDANÇAS MAIS QUE SEGUIR UM PLANO
mesmo havendo valor nos itens à direita, devem
ser mais valorizados os itens à esquerda
5. / contexto
Para agilistas, arquitetura...
...é trabalhosa
...gera muita documentação
...consome tempo e recursos
6. / contexto
Para arquitetos, arquitetura...
...traz qualidade
...agrega valor
...é necessária para sistemas complexos
8. / resultados do estudo / problemas
Principais dificuldades dos “arquitetos ágeis”...
...documentação
...compreensibilidade da documentação
...localização de conhecimento relevante
...manter a documentação atualizada
...desenvolvimento
...mudança de requisitos
...não existe “fase de arquitetura ágil”
...avaliação
...não traz valor
9. / resultados do estudo / soluções
Soluções e sugestões...
...documentação
...redução de artefatos
...artefatos mais concisos (poucas palavras)
...desenvolvimento
...abordagens baseadas em funcionalidades
...abordagens baseadas em atributos
...adoção de arquiteturas de referência
...avaliação
...ATAM e CBAM
...avaliação em “alto nível” (equipe e outras equipes)
...histórias de usuário
10. / principais referências
1. Abrahamsson, P., Babar, M. A., & Kruchten, P. (2010). Agility and
architecture: Can they coexist?. Software, IEEE, 27(2), 16-22.
2. Babar, M. A., & Abrahamsson, P. (2008). Architecture-centric
methods and agile approaches. In Agile Processes in Software
Engineering and Extreme Programming (pp. 242-243). Springer
Berlin Heidelberg.
3. Nord, R. L., & Tomayko, J. E. (2006). Software architecture-centric
methods and agile development. Software, IEEE, 23(2), 47-53.
4. Babar, M. A. (2009, September). An exploratory study of
architectural practices and challenges in using agile software
development approaches. In Software Architecture, 2009 &
European Conference on Software Architecture. WICSA/ECSA
2009. Joint Working IEEE/IFIP Conference on (pp. 81-90). IEEE.