# SAFe #
Como escalar algo que é
essencialmente artesanal?
Manoel Pimentel
twitter.com/manoelp
Segunda	
  Década	
  
de	
  Agile	
  
Escalar	
  
Agile?	
  
Múl$plos	
  $mes	
  
Obje$vos	
  estratégicos	
  comuns	
  	
  
Sincronização	
  de	
  diferentes	
  backlogs	
  
Depedências	
  entre	
  $mes/produtos	
  
Necessidade	
  de	
  seguir	
  uma	
  
arquitetura	
  comum/global.	
  
Governança	
  
Hierarquias	
  
Polí$cas	
  
O	
  que	
  mo7va	
  a	
  escala	
  do	
  Ágil?	
  
Time:	
  ATM	
  	
  
Time:	
  Internet	
  Banking	
  
Time:	
  Mobile	
  
Time:	
  Transações	
  
O	
  que	
  mo7va	
  a	
  escala	
  do	
  Ágil?	
  
Vamos alterar o
Conta Corrente?
Time:	
  ATM	
  	
  
Time:	
  Internet	
  Banking	
  
Time:	
  Mobile	
  
Time:	
  Transações	
  
O	
  que	
  mo7va	
  a	
  escala	
  do	
  Ágil?	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
Time:	
  ATM	
  	
  
Time:	
  Internet	
  Banking	
  
Time:	
  Mobile	
  
Time:	
  Transações	
  
Time:	
  ATM	
  	
  
Time:	
  Internet	
  Banking	
  
Time:	
  Mobile	
  
Time:	
  Transações	
  
O	
  que	
  mo7va	
  a	
  escala	
  do	
  Ágil?	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
Dependências	
  
Dependências	
  
Dependências	
  
Dependências	
  
Time:	
  ATM	
  	
  
Time:	
  Internet	
  Banking	
  
Time:	
  Mobile	
  
Time:	
  Transações	
  
O	
  que	
  mo7va	
  a	
  escala	
  do	
  Ágil?	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
Dependências	
  
Dependências	
  
Dependências	
  
Dependências	
  
Me	
  
ajuda?	
  
Me	
  
ajuda?	
  
O	
  Meu	
  é	
  mais	
  
importante.	
  
Nem	
  
Pensar!	
  
Time:	
  ATM	
  	
  
Time:	
  Internet	
  Banking	
  
Time:	
  Mobile	
  
Time:	
  Transações	
  
Começando	
  a	
  resolver	
  	
  o	
  problema	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
“Minha	
  
parte”	
  
Dependências	
  
Dependências	
  
Dependências	
  
Dependências	
  
Integra	
  as	
  
dependências	
  
Product	
  
Manager	
  
Integra	
  e	
  
Sincroniza	
  as	
  
dependências	
  
Product	
  
Manager	
  
Começando	
  a	
  resolver	
  	
  o	
  problema	
  
Release	
  
Management	
  
Começando	
  a	
  resolver	
  	
  o	
  problema	
  
Integração	
  e	
  Sincronização	
  na	
  Release	
  
Release	
  Planning	
  	
  
Managing	
  Dependences	
  
Release	
  
Iteração	
   Iteração	
   Iteração	
   Iteração	
  
Time	
  A	
  
Iteração	
   Iteração	
   Iteração	
   Iteração	
  
Time	
  B	
  
Iteração	
   Iteração	
   Iteração	
   Iteração	
  
Time	
  C	
  
Iteração	
   Iteração	
   Iteração	
   Iteração	
  
Time	
  D	
  
A B
CD
A B
CD
A B
CD
A B
CD
Inspect	
  &	
  Adapt	
  
Conteúdo	
  Itera7vo	
  e	
  Incremental	
  	
  
Entregas	
  	
  
do	
  Time	
  A	
  
Iteração1	
   Iteração2	
   Iteração3	
   Iteração4	
  
Demo	
  da	
  Release	
  
Entregas	
  	
  
do	
  Time	
  A	
  
Iteração1	
   Iteração2	
   Iteração3	
   Iteração4	
  
Entregas	
  	
  
do	
  Time	
  A	
  
Iteração1	
   Iteração2	
   Iteração3	
   Iteração4	
  
Compilação	
  de	
  
Ferramentas	
  
é um framework
testado e comprovado
disponível publicamente para aplicação
ágil em grande escala
SAFe	
  Case	
  Studies	
  
ScaledAgileFramework.com/case-­‐studies	
  
Nível	
  TIME	
  
▸  Time multi-disciplinar, empoderado e auto organizado
▸  Entrega valor devidamente testado a cada Iteração
▸  Entrega de valor através de User Stories
Mul7disciplinar	
  =	
  Time	
  Fractal	
  
Fractal
twiTer.com/jreisstudio	
  
Organização de múltiplos times ágeis trabalhando de forma integrada e
sincronizada para um mesmo objetivo estratégico.
Nível	
  PROGRAMA	
  
Nível	
  PORTFÓLIO	
  
▸  Estratégia centralizada com execução descentralizada
▸  Arquitetura corporativa é figura importante dentro do framework
▸  Métricas objetivas de governança e kaizen
▸  Valor descrito através de épicos de negócios e de arquitetura
▸  Lean Budget (Tempo Fixo, Custo Fixo e Escopo Variável)
▸  Portfólio fluindo num sistema Kanban
hTp://www.slideshare.net/GiulioRoggero/kanban-­‐porWolio-­‐management-­‐a-­‐real-­‐case	
  
O	
  coração	
  do	
  	
  
SAFe	
  
O Trem é uma forma de organizar múltiplos times que estão
desenvolvendo esforços interdependentes em prol de um mesmo
objetivo em nível de programa.
Um trem parte de uma estação e chega na
próxima estação com um confiável
agendamento. Nesse caso, em termos práticos,
teremos uma cadência fixa de entregas dos
objetivos de negócio.
Essa	
  cadência	
  fixa,	
  em	
  grandes	
  
empresas,	
  pode	
  acontecer	
  em	
  
tempo	
  de	
  release,	
  não	
  
necessariamente	
  em	
  tempo	
  de	
  
Iterações.	
  Isso	
  significa	
  que	
  um	
  ART	
  
pode	
  ser	
  composto	
  pelo	
  resultado	
  
integrado	
  de	
  várias	
  iterações	
  e	
  de	
  
vários	
  $mes	
  diferentes.	
  	
  
A	
  Metáfora	
  do	
  Trem	
  
Release sobre demanda
Release
Atualização
Versão de
Demonstração
Release Nova Feature
Cadência de Desenvolvimento
Scaled	
  	
  
DoD	
  
Papéis	
  	
  
em	
  escala	
  
Papéis	
  
RTE ( Release Train Engineer - Mantêm o programa
funcionando de maneira sincronizada. É o responsável
pela integração dos processos e funcionamento de
métodos ágeis nos times.
Product Manager - Faz a gestão dos requisitos em alto
nível (Épicos e Features) dentro de um programa e
garante a visão integrada das entregas e a sincronização
dos backlogs dos diferentes times.
System Architect - Guia e suporta as grandes decisões
globais dos times do ponto de vista técnico e arquitetural.
Também é responsável pela congruência tecnológica das
soluções criadas pelos diferentes times.
Release	
  Planning	
  
Managing	
  Dependencies	
  
Release	
  
Iteração	
   Iteração	
   Iteração	
   Iteração	
  
Time	
  A	
  
Iteração	
   Iteração	
   Iteração	
   Iteração	
  
Time	
  B	
  
Iteração	
   Iteração	
   Iteração	
   Iteração	
  
Time	
  C	
  
Iteração	
   Iteração	
   Iteração	
   Iteração	
  
Time	
  D	
  
A B
CD
A B
CD
A B
CD
A B
CD
Inspect	
  and	
  Adapt	
  
Architectural	
  
Runway	
  
A r c h i t e c t u r a l 	
   R u n w a y 	
  
…	
  to	
  support	
  future	
  
features	
  
Implemented	
  now	
  
…	
  
Feature	
  
Feature	
  
Feature	
  
Arch	
  
Current	
  Stories	
  
Current	
  
Design	
  
Upcoming	
  features	
  
Arch.	
  
Runway	
  
Emergent	
  design	
  
Inten7onal	
  architecture	
  
Release	
  	
  
Planning	
  
Release	
  Planning	
  
Entrada
•  Roamap e Visão
•  Features prioritarias do Program
Backlog
Envolvidos
•  Membros dos times
•  Product Manager/RTE/Sytem
Archtect
•  Stakeholders
Resultados
•  Conjunto de Objetivos para o
programa e para cada time
•  Um plano de entregas e
dependêncas entre os times.
Day 1 Agenda Day 2 Agenda
Contexto de Negócio
Visão do Produto
Visão Arquitetural, UX e
Práticas de Desenv.
Explicação do
planejamento entre times
Entendimento e
planejamento das
Histórias
Integração dos Planos
Discussão sobre Riscos
Ajustes no Entendimento
e Planejamento das
Histórias
Integração final dos
planos
Gestão de Riscos
Ajustes finais (se
necessário)
Retrospectiva da Release
Planning
8:00
9:00
9:00
10:30
10:30
11:30
11:30
12:00
13:00
16:00
16:00
17:00
18:00
6:00
8:00
11:00
11:00
12:00
13:00
14:00
14:00
16:00
16:00
17:00
Exemplo	
  de	
  Agenda	
  de	
  Release	
  Planning	
  
Mark	
  Richards	
  
Program	
  Board	
  
Requisitos	
  em	
  	
  
escala	
  
Épico	
  
Features	
  
Histórias	
  
Épicos	
  são	
  inicia$vas	
  que	
  tem	
  impacto	
  
substancial	
  no	
  escopo	
  e	
  que	
  por	
  
consequência	
  precisa	
  de	
  um	
  
entendimento	
  do	
  potencial	
  do	
  ROI	
  da	
  
implementação.	
  Do	
  ponto	
  de	
  vista	
  de	
  
tamanho,	
  um	
  épico	
  precisa	
  de	
  mais	
  de	
  
um	
  Iteração	
  para	
  ser	
  entregue.	
  
Épicos	
  
Os	
  serviços	
  ou	
  caracterís$cas	
  
fornecidos	
  pelo	
  sistema	
  que	
  
preencham	
  necessidades	
  dos	
  
stakeholders.	
  
Features	
  
Histórias	
  
Cartão	
   Conversa	
   Confirmação	
  
Histórias	
  de	
  
Usuário	
  
Feature	
  
Épico	
  
Histórias	
  de	
  
Usuário	
  
Feature	
  
Épico	
  
Feature Teams
Accounts	
  
Bill	
  Pay	
   Transfers	
  
Cash	
  Back	
  
Épicos	
  
Time
Ágil
Feature
História
de
Usuário
História
de
Usuário
História
de
Usuário
História
de
Usuário
Iteração
História
de
Usuário
História
de
Usuário
História
de
Usuário
História
de
Usuário
Iteração
Release
Time
Ágil
Feature
História
de
Usuário
História
de
Usuário
História
de
Usuário
História
de
Usuário
Iteração
História
de
Usuário
História
de
Usuário
História
de
Usuário
História
de
Usuário
Iteração
Release
Feature
História
de
Usuário
História
de
Usuário
História
de
Usuário
História
de
Usuário
Iteração
História
de
Usuário
História
de
Usuário
História
de
Usuário
História
de
Usuário
Iteração
Release
Feature
História
de
Usuário
História
de
Usuário
História
de
Usuário
História
de
Usuário
Iteração
História
de
Usuário
História
de
Usuário
História
de
Usuário
História
de
Usuário
Iteração
Release
Métricas	
  
Finalizando	
  
1.  Code Quality
2.  Program execution
3.  Alignment
4.  Transparency
Core	
  Values	
  
“He's	
  the	
  hero	
  Gotham	
  
deserves,	
  but	
  not	
  the	
  
one	
  it	
  needs	
  right	
  now.”	
  
Thanks!	
  
manoel@adaptworks.com.br	
  	
  	
  	
  	
  	
  
twieer.com/manoelp	
  
infoq.com/br/interviews/Visao-­‐Geral-­‐do-­‐SAFe	
  	
  
	
  

SAFe - Como escalar algo artesanal?