2o ProdConf - Escalando Ágil em Projetos com Múltiplos Times
1. Desenvolvimento de Produtos Digitais consolidando
Múltiplos Times escalando Metodologias Ágeis
Desenvolvemos produtos digitais
Geraldo B Farias
Agile Professional
br.linkedin.com/in/geraldobf @GeraldoBFgeraldo.farias@concretesolutions.com.br
2. CONHECENDO O PROBLEMA...
Desenvolver um produto de Mobile Banking, nas plataformas nativas Android, iOS e Windows Phone,
utilizando práticas ágeis de desenvolvimento de software.
• Prazo “apertado”• App para 4MM de usuários
• Organização em transição
para um Modelo de
Desenvolvimento Ágil
• Elevado nível de
dependências no produto
• Product Backlog pré-
definido (em nível de
épicos)
3. DEPENDÊNCIAS DO TIME
FRONT
-END
• UX
• Devs
• DevOps
• QA
FRAMEWORK
API SEGURANÇA
• Comunicação
• Regras de Negócio
• Transacional
• Backend da Segurança
4. COMPOSIÇÃO DO TIME
Para isso, contamos com um time de 27 pessoas.
Tech
Lead
Tech
Lead
Tech
Lead
DEV DEV DEV DEVDEV DEV DEV DEVDEV DEV DEV DEV UX UI UX
QA
DEVOPS
TIME DE
GESTÃO
PO PO
Tech
Lead
PM SM I. API
PRINCIPAIS PROBLEMAS:
DAILY ÚNICO
(30 A 40 MIN POR
DAILY)
ASSINCRONIA COM
DEPENDÊNCIAS
TIMES
DESBALANCEADOS E
EM FORMAÇÃO
PRAZO INICIAL
ARROJADO
5. COMO ABORDAR O PROBLEMA...
Scrum-of-Scrums
(SoS)
PO meta-scrum
Large Scale Scrum
(LeSS)
Larman/Vodde
Scaled Agile
Framework (SAFe)
Leffingwell
Discipled Agile
Delivery (DAD) +
Agility at Scale
Ambler/Lines
Spotify "model"
(Tribes, Squads,
Chapters & Guilds)
Recipes for Agile
Governance (RAGE)
DSDM Drive Strategy
Deliver More
• ALGUMAS MANEIRAS DE ABORDAR O PROBLEMA DE ESCALAR ÁGIL EM PROJETOS
Scrum at Scale
Sutherland/Brown
Nexus
Scrum.org
6. TENTANDO SE BASEAR NO NEXUS
PRIMEIRAS AÇÕES:
SEPARAR OS TIMES
POR PLATAFORMA +
TIME UX
FORMAR O “TIME DE
CONSOLIDAÇÃO”
EVENTOS POR TIME /
PLATAFORMA
SESSÕES DE
REFINING COM TECH
LEADS + UX
7. NA PRÁTICA, A TEORIA É OUTRA...
SESSÕES DE
REFINING:
PO + TECH LEADS +
UX ( 1 HR)
[SOB DEMANDA]
PL iOS
Tech Lead +
Devs (“2” hrs)
PL Android
Tech Lead +
Devs (“2” hrs)
PL W. Phone
Tech Lead +
Devs (“2” hrs)
Daily iOS
TC + Tech Lead
+ Devs
Daily Android
TC + Tech Lead
+ Devs
Daily W. Phone
TC + Tech Lead
+ Devs
Daily UX
TC + UXers
PRE-RETRO:
TIME DE
CONSOLIDAÇÃO
(30 MIN)
RV/RT iOS
TC + Tech Lead
+ Devs
(2 HRS)
RV/RT Android
Tech Lead +
Devs
(2 HRS)
RV/RT WPhone
Tech Lead +
Devs
(2 HRS)
RV/RT UX
TC + Uxers
(2 HRS)
POS-RETRO:
TIME DE
CONSOLIDAÇÃO
(30 MIN)
10:00 ~ 10:15
10:20 ~ 10:35
10:40 ~ 10:55
11:00 ~ 11:15
PRE-PLANNING:
PO + TECH LEADS +
UX
( 2 HRS)
8. AÇÕES:
DAILYS
SIMULTÂNEOS
QA INSERIDO NOS
REFININGS E PRE-
PLANNING
PLANNING DE UX
O QUE FIZEMOS BEM?
TIME 15 MIN DE
DAILY
RETROSPECTIVAS
EFETIVAS
COMEÇARAM A
IDENTIFICAR OS
PROBLEMAS
SESSÕES DE
REFINING
COMEÇARAM A
“CLAREAR” O
BACKLOG
ALGUNS PROBLEMAS PERMANECERAM E NOVOS APARECERAM...
TIME DE
CONSOLIDAÇÃO COM
01H20M DE DAILY /
DIA
ALGUNS EVENTOS
ESTOURANDO TIME-
BOX
DIFICULDADE DAS
DAILYS DE UX
QA PARTICIPA ONDE? UX FAZ PLANNING?
APÓS 01 SPRINT...
9. EVENTOS DE SCRUM
SESSÕES DE
REFINING:
PO + TECH LEADS +
UX + QA ( 1 HR)
[SOB DEMANDA]
PL iOS
Tech Lead +
Devs (“2” hrs)
PL Android
Tech Lead +
Devs (“2” hrs)
PL W. Phone
Tech Lead +
Devs (“2” hrs)
Daily iOS
TC + Tech Lead
+ Devs
Daily Android
TC + Tech Lead
+ Devs
Daily W. Phone
TC + Tech Lead
+ Devs
Daily UX
TC + UXers
PRE-RETRO:
TIME DE
CONSOLIDAÇÃO
(30 MIN)
RV/RT iOS
TC + Tech Lead
+ Devs
RV/RT Android
Tech Lead +
Devs
RV/RT W.
Phone
Tech Lead +
Devs
RV/RT UX
TC + UXers
POS-RETRO:
TIME DE
CONSOLIDAÇÃO
(30 MIN)
10:30 ~ 10:45
PRE-PLANNING:
PO + TECH LEADS +
UX + QA
( 2 HRS)
Plano de Jogo do RV /
RT
- Dinâmicas a serem
utilizadas
- Agenda
- Necessidade de
materiais
- Divisão dos times
entre os membros
do TC
Discussão dos
problemas em comum
- Quais os problemas
estão afetando
todos os times?
- Há interdependência
nos problemas?
- O que fizemos bem e
o que podemos
melhorar pra
próxima como TC?
Discussão das
histórias entre PO e
Tech Leads
Discussão de fluxo
POS-DAILY:
TIME DE
CONSOLIDAÇÃO
(15 MIN)
10:45 ~ 11:00
Algum impedimento?
PL UX
UXers + PO
(“2” hrs)
Quebrar as histórias do
Sprint em tarefas
INSPECIONANDO E ADAPTANDO
10. O QUE FIZEMOS BEM?
FLUIDEZ DOS DAILYS
O GARGALO NÃO DESAPARECE. ELE SÓ MUDA DE LUGAR...
UX E QA FORA DO
TIME: CASCATEANDO
O ÁGIL
ASSINCRONIA
EXCESSIVA COM AS
DEPENDÊNCIAS
DIFICULDADE NO
ATENDIMENTO DAS
DEFINIÇÕES DE
PRONTO
COMO O PO VALIDA O
PRODUTO NO
REVIEW?
TIME NÃO
PARTICIPAVA
DIRETAMENTE DA
DISCUSSÃO DAS
HISTÓRIAS
MELHORIA NA
PREPARAÇÃO DAS
RETROSPECTIVAS
MELHORIA NAS
ESPECIFICAÇÕES DE
TESTES
APÓS ALGUNS SPRINTS..
LEAD TIMES
ELEVADOS
ALTO NÍVEL DOS
ESTOQUES
11. ESTUDANDO MAIS UMA VEZ O PROBLEMA..
Feature
1
Feature
2
Feature
3
Feature
1
Feature
2
Feature
3
Feature
1
Feature
2
Feature
3
Feature
1
Feature
2
Feature
C
Feature
1
Feature
2
Feature
A
Feature
1
Feature
X
Feature
3
Feature
1
Feature
2
Feature
B
API
FMW
SEG
QA
• Modelo “celular”: Alto nível de dependência entre os times
• O time não tem autonomia pra se auto-organizar e atender a definição de pronto
• Estoque, estoque e mais estoque
• Problemas na identificação e resolução dos impedimentos entre times
12. REDUZINDO AS DEPENDÊNCIAS: CORTE POR FUNCIONALIDADES
Feature 1
API FMW
SEG
QA
• Corte por funcionalidade: redução das dependências
Feature 2
API FMW
SEG
QA
Feature 3
API FMW
SEG
QA
• Team Ownership: a responsabilidade de atender a definição de pronto é do time
• Utilização do sistema Kanban, com review por funcionalidade
• Retrospectivas quinzenais: o time reflete como melhorar a forma de trabalho
• Workshop de Histórias: o time “funcional” não deverá ter dúvidas a respeito do que precisa entregar
13. CONCLUSÃO: 7 LIÇÕES APRENDIDAS
1) Traga as dependências para dentro do time
2) Deixe claro as definições de pronto
3) Nada fala melhor que software funcionando: coloque o app em produção
4) “Abuse” das sessões de Refining: as histórias precisam estar o mais
CLARO possível pro time
5) Centralizar e gerenciar as dependências fora do time: gerencie a
integração
6) Retrospectiva é para o time, não para o projeto
7) Inspecionar e adaptar SEMPRE!
14. Desenvolvimento de Produtos Digitais consolidando
Múltiplos Times escalando Metodologias Ágeis
Desenvolvemos produtos digitais
br.linkedin.com/in/geraldobf @GeraldoBFgeraldo.farias@concretesolutions.com.br
OBRIGADO !!!