arquitetura Ágil, uma abordagem disciplinada
TRANSCRIPT
![Page 1: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/1.jpg)
Arquitetura Ágil, uma abordagem disciplinada
Adriano Tavares [email protected] BH, 19 de outubro, 2013
![Page 2: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/2.jpg)
Adriano Tavares
DAD Black Belt/CerCfied Instructor
hGp://DisciplinedAgileConsorCum.org
SoKware Architect, Agile Coach [email protected] hGp://adrianotavares.com @adrianotavares hGp://br.linkedin.com/in/adrianotavares
![Page 3: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/3.jpg)
MoCvação
ü Apresentar uma abordagem disciplinada de como o responsável pela arquitetura pode atuar no ciclo de vida de desenvolvimento ágil.
![Page 4: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/4.jpg)
Publico alvo
ü Desenvolvedores, líderes técnicos e arquitetos envolvidos em aCvidades de design de soluções técnicas de soKware e miCgação de riscos técnicos ao longo de um projeto ágil desde seu início até a sua colocação em produção.
![Page 5: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/5.jpg)
© ScoG Ambler + Associates 5
![Page 6: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/6.jpg)
5 Mitos comuns que cercam a Arquitetura Ágil
1. Agilistas não “fazem arquitetura” 2. Agilistas iniciam direto na codificação 3. Agilistas não seguem estratégias de
arquitetura corporaCva 4. Agilistas não modelam 5. Agilistas não documentam
![Page 7: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/7.jpg)
5 Realidades sobre Arquitetura Ágil
1. Arquitetura é tão importante que agilistas a endereçam ao longo de todo o ciclo de vida
2. Agilistas disciplinados investem em visualização inicial (Just enough up front)
3. Agilistas disciplinados trabalham em estreita colaboração com profissionais corporaCvos
4. Agilistas disciplinados modelam explicitamente de uma forma leve ao longo de todo o ciclo de vida
5. Agilistas disciplinados documentam entregáveis conCnuamente
![Page 8: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/8.jpg)
ACvidades na Iniciação de Projetos
65% 70% 75% 80% 85% 90% 95%
Cronograma Alto-‐nível do release
JusCficar o Projeto
Modelagem Inicial da Arquitetura
Modelagem Inicial dos Requisitos
EsCmaCva Inicial
Source: AmbysoK 2009 Agile Project IniCaCon Survey
![Page 9: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/9.jpg)
![Page 10: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/10.jpg)
Contextos para adaptação da agilidade em escala
Agile
Disciplined Agile
Delivery
Agility at
Scale
• Foco na construção • Ciclo de vida dirigido por valor • Times alto-‐organizados (<15) • PrescriCvo (Scrum, XP, AM) • Aderência a Times de projeto
• Foco na entrega (Delivery) • Ciclo de vida dirigido por Risco-‐Valor • Auto-‐organização com governança apropriada (>15<30) • Dirigido por metas • Aderência CorporaCva
Disciplined agile delivery com um ou mais fatores de complexidade: § Times grandes (>30) § Times geograficamente distribuídos § Compliance regulatórios (PM, EA, SP) § Complexidade de domínio ou técnica § Questões culturais/organizacionais § Distribuição organizacional
The Agile Scaling Model (ASM), é um framework conceitual desenvolvido pela IBM
![Page 11: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/11.jpg)
Disciplined Agile Delivery (DAD) Disciplined Agile Delivery (DAD) é um framework de processo de decisão
As principais caracterísCcas de DAD:
ü Abordagem ágil hibrida; ü Pessoas-‐primeiro; ü Ciclo de vida de entrega completo; ü Dirigido por metas; ü Focado em soluções de TI; ü Ciclo de vida Risco-‐valor; ü Aderência CorporaCva; ü Escalável.
![Page 12: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/12.jpg)
Scrum
Lean
Kanban
DAD é uma abordagem ágil híbrida
OpenUP Agile Modeling
Agile Data XP Outside In Dev.
DevOps
… e mais
DAD uCliza estratégias comprovadas de várias fontes fornecendo uma estrutura de decisão para orientar a sua adoção e
customização de uma maneira dirigida pelo contexto.
![Page 13: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/13.jpg)
Pessoas-‐primeiro: Papéis em Cmes DAD
![Page 14: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/14.jpg)
Ciclo de vida DAD básico
![Page 15: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/15.jpg)
Quem é o responsável pela arquitetura em Cmes ágeis?
![Page 16: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/16.jpg)
O Que faz o Architecture Owner? ü Orienta a criação e evolução da arquitetura da solução; ü Lidera o esforço inicial de visualização da arquitetura; ü Lidera a equipe nas questões e práCcas de arquitetura; ü Entende as diretrizes e os padrões de arquitetura da sua
organização e garante que a equipe os segue; ü Garante que o sistema vai funcionar, incenCvando o
desenho e refatoração apropriado; ü Garante que o sistema seja integrado e testado
frequentemente; ü Tem a palavra final sobre as decisões técnicas, mas não
as dita.
![Page 17: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/17.jpg)
Times pequenos (<15)
• Architecture Owner geralmente é assumido pelo Team Lead.
• Não há necessidade de atribuir o papel formalmente.
• Baixa necessidade de trabalhar o escopo e a arquitetura na iniciação.
• Baixa necessidade de automação de ferramentas.
![Page 18: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/18.jpg)
Times Médios (>15<30)
• Necessidade de maior esforço de planejamento durante a iniciação. • Reuniões Diárias com cada Cme e reuniões de coordenação dos Cmes. • Necessidade de apoio.
![Page 19: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/19.jpg)
Times Grandes (>30) Sugestões de organização de sub-‐Cmes: • Features
Time que trabalha em uma feature fim-‐a-‐fim.
• Componentes: Time focado em compoenentes específicos.
• Integração Time focado na integração das features e componentes.
Necessidade de: • Coordenação de gerenciamento de projetos. • Coordenação de requisitos. • Coordenação da Arquitetura.
![Page 20: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/20.jpg)
Arquitetura Ágil em Times Grandes • Times grandes são sinônimo de maior complexidade de domínio, complexidade
técnica ou desafios culturais • Iniciação:
– InvesCr um pouco mais de tempo nos requisitos iniciais; – Abordagem “API First” para a arquitetura onde você define a interface para
componentes no início do projeto; – É provável que haja um pouco mais de especificação inicial.
• Construção: – Product Owners terão de coordenar as dependências de requisitos; – Architecture Owners terão de coordenar as dependências técnicas; – TDD pode precisar ser melhorado com testes independentes em paralelo.
![Page 21: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/21.jpg)
![Page 22: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/22.jpg)
DAD é dirigido por metas
![Page 23: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/23.jpg)
Agilistas Disciplinados adotam uma abordagem dirigida por metas
Meta Questões Vantagens Desvantagens Considerações
* Opção Opção Default
*
IdenCficar a estratégia técnica
inicial
Nível de detalhe Tipos de visões Estratégia de Modelagem Estratégia de Entrega
Informal Modeling Sessions Formal Modeling Sessions Single Candidate Architecture MulCple Candidate Architectures
![Page 24: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/24.jpg)
Meta: IdenCficar a estratégia técnica inicial
![Page 25: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/25.jpg)
Meta: Provar a Arquitetura o mais cedo possível
![Page 26: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/26.jpg)
Arquitetura ao longo da construção
MiCgação de riscos mais cedo provando que a arquitetura funciona
Architecture owner facilita as decisões arquiteturais ao longo da construção
DAS e modelos são atualizados quando necessário
Architecture spikes para explorar as questões técnicas
Visão Arquitetural guia os esforços de desenvolvimento
![Page 27: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/27.jpg)
Conclusão
ü Formalize o papel de Architecture Owner quando seu Cme crescer;
ü Adote uma abordagem de arquitetura colaboraCva;
ü Adote metas para guiar o trabalho de arquitetura; • IdenCficar a estratégia inicial • Provar a arquitetura o mais cedo possível
ü Emergent Design é uma abordagem consistente para Arquitetura Ágil Disciplinada.
![Page 28: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/28.jpg)
Disciplined Agile CerCficaCon DisciplinedAgileConsorCum.org
Disciplined Agile Yellow Belt – IndicaCon that the person is new to disciplined agile but eager to
learn – Beginner cerCficaCon
Disciplined Agile Green Belt – IndicaCon that the person is striving to be a professional – PotenCal to be a junior coach – Intermediate cerCficaCon
Disciplined Agile Black Belt – IndicaCon that the person is an expert – OKen a senior coach, instructor, or agile transformaCon lead – Expert cerCficaCon
![Page 29: Arquitetura Ágil, uma abordagem disciplinada](https://reader036.vdocuments.net/reader036/viewer/2022062514/5595f6211a28abc96c8b46fb/html5/thumbnails/29.jpg)
CerCfied Disciplined Agile Courses DisciplinedAgileConsorCum.org
Introductory: DA 101: The Disciplined Agile Delivery Experience Workshop (21 PDUs) DA 103: Disciplined Agile Delivery for ExecuCves (7 PDUs) DA 104: IntroducCon to Disciplined Agile Delivery (14 PDUs) Advanced: DA 203: Agile Architecture with Discipline (7 PDUs) DA 210: Disciplined Agile Delivery for Experienced Agile Professionals (7 PDUs) DA 301: Advanced Disciplined Agile Delivery (7 PDUs) DA 305: Disciplined Agile Delivery + Advisor Coaches Clinic (21 PDUs)