Arquitetura Ágil, uma abordagem disciplinada
-
Upload
adriano-tavares -
Category
Documents
-
view
2.535 -
download
0
Transcript of Arquitetura Ágil, uma abordagem disciplinada
Arquitetura Ágil, uma abordagem disciplinada
Adriano Tavares [email protected] BH, 19 de outubro, 2013
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
MoCvação
ü Apresentar uma abordagem disciplinada de como o responsável pela arquitetura pode atuar no ciclo de vida de desenvolvimento ágil.
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.
© ScoG Ambler + Associates 5
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
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
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
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
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.
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.
Pessoas-‐primeiro: Papéis em Cmes DAD
Ciclo de vida DAD básico
Quem é o responsável pela arquitetura em Cmes ágeis?
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.
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.
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.
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.
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.
DAD é dirigido por metas
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
Meta: IdenCficar a estratégia técnica inicial
Meta: Provar a Arquitetura o mais cedo possível
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
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.
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
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)