![Page 1: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/1.jpg)
Antecipando o Sucesso de uma
Arquitetura de Software Emergente
em Times Ágeis Sérgio GiraldoBelém - 2016
![Page 2: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/2.jpg)
Sérgio Giraldo
Físico de formação, engenheiro de software por paixão, ágil por convicção.
Itaú e HSBC durante 10 anos , arquiteto de software e transformador ágil.
Globant desde 2015, arquiteto de software e agile coach.
![Page 3: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/3.jpg)
“Quality in a service or product is not what you put
into it. It is what the client or customer
gets out of it.”
Peter Drucker
![Page 4: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/4.jpg)
![Page 5: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/5.jpg)
The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them.
![Page 6: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/6.jpg)
Indivíduos e interaçõesmais 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
![Page 7: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/7.jpg)
Indivíduos e interaçõesmais 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
![Page 8: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/8.jpg)
![Page 9: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/9.jpg)
Arquitetura emergente
![Page 10: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/10.jpg)
Instabilidade nos requisitosRisco técnicoValor rapidamenteCulturaExperiência em arquitetura
Responder a mudanças Mitigar riscos Arquitetura emergente Bduf Frameworks e modelos
![Page 11: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/11.jpg)
Instabilidade nos requisitos
Efeito causado por requisitos incompletos ou em mudança
![Page 12: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/12.jpg)
Risco técnico
Arquitetura muito complexa leva a risco técnico.
Causas Requisitos arquiteturalmente significativos; Integrações com outros sistemas; Envolvimento com sistemas legados.
![Page 13: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/13.jpg)
Valor Rapidamente
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
![Page 14: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/14.jpg)
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
![Page 15: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/15.jpg)
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
![Page 16: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/16.jpg)
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.
![Page 17: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/17.jpg)
Instabilidade nos requisitosRisco técnicoValor rapidamenteCulturaExperiência em arquitetura
![Page 18: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/18.jpg)
Responder a mudanças
Sua arquitetura deve estar aberta a modificações e representa continuamente a melhor solução para o problema.
![Page 19: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/19.jpg)
Mitigar riscos
O time faz a o design de arquitetura o suficiente para reduzir o risco a um nível satisfatório (aqui temos o nível em que não há riscos capazes de inviabilizar o projeto).
![Page 20: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/20.jpg)
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.
![Page 21: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/21.jpg)
Design completo antecipado (BDUF)
Aqui o time faz o design completo da arquitetura antes do início de qualquer atividade de implementação
![Page 22: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/22.jpg)
Utilização de frameworks e modelos
Uso de modelos e componentes existentes às expensas de restrições adicionais aplicadas ao sistema.
![Page 23: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/23.jpg)
Responder a mudançasMitigar riscosArquitetura emergenteBdufFrameworks e modelos
![Page 24: Antecipando o sucesso de uma arquitetura de software emergente em times ágeis](https://reader036.vdocuments.pub/reader036/viewer/2022062902/58ee64b81a28ab433a8b4621/html5/thumbnails/24.jpg)
Adaptado de Michael Waterman