1. Arquitetura
Ágil,
uma
abordagem
disciplinada
Adriano
Tavares
adriano.tavares@gmail.com
BH,
19
de
outubro,
2013
2. Adriano
Tavares
SoKware
Architect,
Agile
Coach
adriano.tavares@gmail.com
hGp://adrianotavares.com
@adrianotavares
hGp://br.linkedin.com/in/adrianotavares
DAD
Black
Belt/CerCfied
Instructor
hGp://DisciplinedAgileConsorCum.org
3. MoCvação
ü Apresentar
uma
abordagem
disciplinada
de
como
o
responsável
pela
arquitetura
pode
atuar
no
ciclo
de
vida
de
desenvolvimento
ágil.
4. 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.
6. 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
7. 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
8. ACvidades
na
Iniciação
de
Projetos
EsCmaCva
Inicial
Modelagem
Inicial
dos
Requisitos
Modelagem
Inicial
da
Arquitetura
JusCficar
o
Projeto
Cronograma
Alto-‐nível
do
release
65%
70%
75%
80%
85%
90%
95%
Source:
AmbysoK
2009
Agile
Project
IniCaCon
Survey
9.
10. Contextos
para
adaptação
da
agilidade
em
escala
Agility
at
Scale
Disciplined
Agile
Delivery
Agile
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
•
•
•
•
•
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
•
•
•
•
•
Foco
na
construção
Ciclo
de
vida
dirigido
por
valor
Times
alto-‐organizados
(<15)
PrescriCvo
(Scrum,
XP,
AM)
Aderência
a
Times
de
projeto
The Agile Scaling Model (ASM), é um framework conceitual desenvolvido pela IBM
11. 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.
12. DAD
é
uma
abordagem
ágil
híbrida
DevOps
Outside
In
Dev.
OpenUP
Scrum
Lean
XP
Agile
Data
Agile
Modeling
Kanban
…
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.
15. Quem
é
o
responsável
pela
arquitetura
em
Cmes
ágeis?
16. 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.
17. 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.
18. 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.
19. Times
Grandes
(>30)
Sugestões
de
organização
de
sub-‐Cmes:
• Features
Time
que
trabalha
em
uma
feature
fim-‐a-‐fim.
Necessidade
de:
• Coordenação
de
gerenciamento
de
projetos.
• Coordenação
de
requisitos.
• Coordenação
da
Arquitetura.
• Componentes:
Time
focado
em
compoenentes
específicos.
• Integração
Time
focado
na
integração
das
features
e
componentes.
20. 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.
23. Agilistas
Disciplinados
adotam
uma
abordagem
dirigida
por
metas
Meta
IdenCficar
a
estratégia
técnica
inicial
*
Questões
Nível
de
detalhe
Tipos
de
visões
Estratégia
de
Modelagem
Estratégia
de
Entrega
*
Opção
Opção
Default
Vantagens
Desvantagens
Considerações
Informal
Modeling
Sessions
Formal
Modeling
Sessions
Single
Candidate
Architecture
MulCple
Candidate
Architectures
26. Arquitetura
ao
longo
da
construção
Architecture
owner
facilita
as
decisões
arquiteturais
ao
longo
da
construção
Visão
Arquitetural
guia
os
esforços
de
desenvolvimento
MiCgação
de
riscos
mais
cedo
provando
que
a
arquitetura
funciona
DAS
e
modelos
são
atualizados
quando
necessário
Architecture
spikes
para
explorar
as
questões
técnicas
27. 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.
28. 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
29. 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)