sucesso e derrota na arquitetura agile
TRANSCRIPT
Globalcode – Open4education
Sucesso e Derrota na Arquitetura em Times Ágeis
Sérgio GiraldoSC-2016
Globalcode – Open4education
“O conjunto de decisões relevantes sobre a estrutura em alto nível e o
comportamento de um sistema” Philippe Kruchten, falando sobre RUP
Globalcode – Open4education
“Um modo ágil de definir a arquitetura, utilizando um ciclo de vida iterativo, o qual permite que o design arquitetural evolua, na medida em que os problemas e restrições são
entendidos com mais profundidade” Philippe Kruchten, falando sobre Arquitetura Ágil
Globalcode – Open4education
Software funcionando
Responder a mudanças
Globalcode – Open4education
Instabilidade nos requisitos
Efeito causado por requisitos incompletos ou em mudança
Globalcode – Open4education
Risco técnico
Arquitetura muito complexa leva a risco técnico. Causas:
Requisitos arquiteturalmente significativos; Integrações com outros sistemas; Envolvimento com sistemas legados.
Globalcode – Open4education
Receber valor o mais rápido possível
O seu cliente precisa receber algo significativo do sistema antes de todas as funcionalidades estarem prontas, e.g., um MVP
Globalcode – Open4education
Cultura do seu time
Se o seu time tem uma mentalidade ágil, isto auxilia a responder a mudanças rapidamente. Fatores chave:
Colaboração; Confiança; Tamanho do time; Experiência com Ágil
Globalcode – Open4education
Cultura da empresa
Qual o ambiente em que acontece o desenvolvimento? Uma empresa que é simpática aos princípios da agilidade auxilia um time a ser ágil
Globalcode – Open4education
Experiência em arquitetura
Arquitetura em times ágeis é uma disciplina compartilhada. Um time experiente é capaz de tomar decisões baseadas em conhecimentos prévios; caso contrário, as decisões necessitam ser mais explicitadas
Globalcode – Open4education
Responder a mudanças
Sua arquitetura deve estar aberta a modificações e representa continuamente a melhor solução para o problema
Globalcode – Open4education
Mitigar riscos
O time faz a o design de arquitetura o suficiente para reducir o risco a um nível satisfatório (aqui temos o nível em que não há riscos capazes de inviabilizar o projeto)
Globalcode – Open4education
Arquitetura emergente
O time faz apenas o necessário no início (define a tecnologia e os padrões elementares de arquitetura) e relega as outras decisões para a implementação
Globalcode – Open4education
Design completo antecipado (BDUF)
Aqui o time faz o design completo da arquitetura antes do início de qualquer atividade de implementação
Globalcode – Open4education
Utilização de frameworks e modelos
Esta estratégia utiliza modelos e componentes existentes às expensas de restrições adicionais aplicadas ao sistema
Globalcode – Open4education
Muito obrigado!
Linkedin https://br.linkedin.com/in/sergiorgiraldo