5. Fonte: The Agile Samurai: How Agile Masters Deliver Great Software. Rasmusson, Jonathan.
O QUE É FAZER ANÁLISE?
5
“Deixa que a gente se preocupa
com os detalhes.”
Conta com
a gente pra
fazermos nossa
tarefa de casa,
pra toda e cada
iteração!
Ajudar a definir histórias do usuário
Fazer a análise detalhada
Garantir que fizemos nosso
trabalho
Sei o que
quero, mas como
descrevo isso?
Fazer web site
3 meses
Artefatos de análise
6. O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
6
7. O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
7
Como palestrante do TheDevConf que
não mora mais em SP
Eu preciso listar nome, preço e
localização de hotéis de SP disponíveis
em 5 de julho
Para que eu possa escolher um hotel
perto do local do evento
8. O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
8
I Independente
Como palestrante do TheDevConf que
não mora mais em SP
Eu preciso listar nome, preço e
localização de hotéis de SP disponíveis
em 5 de julho
Para que eu possa escolher um hotel
perto do local do evento
9. O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
9
I
N
Independente
Negociável
Como palestrante do TheDevConf que
não mora mais em SP
Eu preciso listar nome, preço e
localização de hotéis de SP disponíveis
em 5 de julho
Para que eu possa escolher um hotel
perto do local do evento
10. O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
10
I
N
V
Independente
Negociável
Valiosa
Interface com o usuário (HTML, CSS)
Camada do meio (C#, Java, Python)
Camada de dados (Oracle, SQL Server)
Fonte: The Agile Samurai: How Agile Masters Deliver Great Software. Rasmusson, Jonathan.
Como palestrante do TheDevConf que
não mora mais em SP
Eu preciso listar nome, preço e
localização de hotéis de SP disponíveis
em 5 de julho
Para que eu possa escolher um hotel
perto do local do evento
11. O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
11
I
N
V
E
Independente
Negociável
Valiosa
Estimável
Interface com o usuário (HTML, CSS)
Camada do meio (C#, Java, Python)
Camada de dados (Oracle, SQL Server)
Fonte: The Agile Samurai: How Agile Masters Deliver Great Software. Rasmusson, Jonathan.
Como palestrante do TheDevConf que
não mora mais em SP
Eu preciso listar nome, preço e
localização de hotéis de SP disponíveis
em 5 de julho
Para que eu possa escolher um hotel
perto do local do evento
12. O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
12
I
N
V
E
S
Independente
Negociável
Valiosa
Estimável
Pequena (small)
Interface com o usuário (HTML, CSS)
Camada do meio (C#, Java, Python)
Camada de dados (Oracle, SQL Server)
Fonte: The Agile Samurai: How Agile Masters Deliver Great Software. Rasmusson, Jonathan.
Como palestrante do TheDevConf que
não mora mais em SP
Eu preciso listar nome, preço e
localização de hotéis de SP disponíveis
em 5 de julho
Para que eu possa escolher um hotel
perto do local do evento
13. O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
13
I
N
V
E
S
T
Independente
Negociável
Valiosa
Estimável
Pequena (small)
Testável
Interface com o usuário (HTML, CSS)
Camada do meio (C#, Java, Python)
Camada de dados (Oracle, SQL Server)
Fonte: The Agile Samurai: How Agile Masters Deliver Great Software. Rasmusson, Jonathan.
Como palestrante do TheDevConf que
não mora mais em SP
Eu preciso listar nome, preço e
localização de hotéis de SP disponíveis
em 5 de julho
Para que eu possa escolher um hotel
perto do local do evento
14. O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
14
I
N
V
E
S
T
Independente
Negociável
Valiosa
Estimável
Pequena (small)
Testável
Interface com o usuário (HTML, CSS)
Camada do meio (C#, Java, Python)
Camada de dados (Oracle, SQL Server)
Fonte: The Agile Samurai: How Agile Masters Deliver Great Software. Rasmusson, Jonathan.
Como palestrante do TheDevConf que
não mora mais em SP
Eu preciso listar nome, preço e
localização de hotéis de SP disponíveis
em 5 de julho
Para que eu possa escolher um hotel
perto do local do evento
HISTÓRIA
ÁGIL TRADICIONAL
17. BACKLOG
▫︎Conjunto das histórias para features do produto
▫︎Épico: agrupam histórias de mesma área do domínio
17
ÉPICO: Cadastro
de cliente
18. BACKLOG
▫︎Conjunto das histórias para features do produto
▫︎Épico: agrupam histórias de mesma área do domínio
18
ÉPICO: Cadastro
de cliente
História #1:
Cadastro manual:
nome, email, …
História #2:
Cadastro via
facebook
19. E quando as histórias são
implementadas por microsserviços?
19
21. QUE PROBLEMA MICROSSERVIÇOS TENTA RESOLVER?
21
Arquitetura monolítica: várias features
em um único executável
22. QUE PROBLEMA MICROSSERVIÇOS TENTA RESOLVER?
22
Arquitetura monolítica: várias features
em um único executável
Problemas:
-Implantação de uma feature requer
implantação de todas
23. QUE PROBLEMA MICROSSERVIÇOS TENTA RESOLVER?
23
Arquitetura monolítica: várias features
em um único executável
Problemas:
-Implantação de uma feature requer
implantação de todas
-Difícil de manter a modularização
24. QUE PROBLEMA MICROSSERVIÇOS TENTA RESOLVER?
24
Arquitetura monolítica: várias features
em um único executável
Problemas:
-Implantação de uma feature requer
implantação de todas
-Difícil de manter a modularização
-Escalar horizontalmente requer mais
infra
25. O QUE SÃO MICROSSERVIÇOS?
25
Arquitetura monolítica: várias features
em um único executável
Arquitetura de microsserviços: conjunto
de serviços, cada um sendo um executável
e responsável por uma feature
26. O QUE SÃO MICROSSERVIÇOS?
26
Arquitetura monolítica: várias features
em um único executável
Arquitetura de microsserviços: conjunto
de serviços, cada um sendo um executável
e responsável por uma feature
Problemas:
-Implantação de uma feature requer
implantação de todas
Soluções:
-Implantação de uma feature
independente de outras
27. O QUE SÃO MICROSSERVIÇOS?
27
Arquitetura monolítica: várias features
em um único executável
Arquitetura de microsserviços: conjunto
de serviços, cada um sendo um executável
e responsável por uma feature
Problemas:
-Implantação de uma feature requer
implantação de todas
-Difícil de manter a modularização
Soluções:
-Implantação de uma feature
independente de outras
-Comunicação simples, protege
módulos
28. O QUE SÃO MICROSSERVIÇOS?
28
Arquitetura monolítica: várias features
em um único executável
Arquitetura de microsserviços: conjunto
de serviços, cada um sendo um executável
e responsável por uma feature
Problemas:
-Implantação de uma feature requer
implantação de todas
-Difícil de manter a modularização
-Escalar horizontalmente requer mais
infra
Soluções:
-Implantação de uma feature
independente de outras
-Comunicação simples, protege
módulos
-Escalar horizontalmente requer
menos infra
31. BOAS PRÁTICAS
▫︎Testes automatizados em todos os níveis
▫︎Unitários, integração, contratos, jornadas de usuários
▫︎Integração contínua
▫︎Implantação automatizada
31
32. BOAS PRÁTICAS
▫︎Testes automatizados em todos os níveis
▫︎Unitários, integração, contratos, jornadas de usuários
▫︎Integração contínua
▫︎Implantação automatizada
▫︎Monitoração
32
33. BOAS PRÁTICAS
▫︎Testes automatizados em todos os níveis
▫︎Unitários, integração, contratos, jornadas de usuários
▫︎Integração contínua
▫︎Implantação automatizada
▫︎Monitoração
▫︎Times cuidando de feature
33
34. BOAS PRÁTICAS
▫︎Testes automatizados em todos os níveis
▫︎Unitários, integração, contratos, jornadas de usuários
▫︎Integração contínua
▫︎Implantação automatizada
▫︎Monitoração
▫︎Times cuidando de feature
▫︎Times mantendo os microsserviços independentes
34
35. BOAS PRÁTICAS
▫︎Testes automatizados em todos os níveis
▫︎Unitários, integração, contratos, jornadas de usuários
▫︎Integração contínua
▫︎Implantação automatizada
▫︎Monitoração
▫︎Times cuidando de feature
▫︎Times mantendo os microsserviços independentes
35
JORNADA
36. Mas e enquanto não se consegue
adotar todas as boas práticas?
36
41. ORGANIZAÇÃO DO BACKLOG: CENÁRIO REAL
41
Produto'B'
Web$Service$A$
Produto'A'
Web$Service$B$
Portal$
Web$Service$C$ Web$Service$D$
Backlog'4'Backlog'3'
Aplicação$$$$$Cliente$
Backlog'2'
Backlog'1'
42. DESAFIO #1
▫︎Quando times perdem a visão do todo
42
Produto'B'
Web$Service$A$
Produto'A'
Web$Service$B$
Portal$
Web$Service$C$ Web$Service$D$
Time'4'Time'3'
Aplicação$$$$$Cliente$
Time'2'
Time'1'
43. DESAFIO #1
▫︎Quando times perdem a visão do todo
▫︎Escopo das histórias delimitado por endpoints
43
Produto'B'
Web$Service$A$
Produto'A'
Web$Service$B$
Portal$
Web$Service$C$ Web$Service$D$
Backlog'4'Backlog'3'
Aplicação$$$$$Cliente$
Backlog'2'
Backlog'1'
45. DESAFIO #1
▫︎Quando times perdem a visão do todo
▫︎Escopo das histórias delimitado por endpoints
▫︎Pode perder o benefício das características INVEST
45
46. DESAFIO #1
▫︎Quando times perdem a visão do todo
▫︎Escopo das histórias delimitado por endpoints
▫︎Pode perder o benefício das características INVEST
46
I dependência entre histórias do cliente e serviço
47. V
DESAFIO #1
▫︎Quando times perdem a visão do todo
▫︎Escopo das histórias delimitado por endpoints
▫︎Pode perder o benefício das características INVEST
47
I dependência entre histórias do cliente e serviço
endpoints podem ser features incompletas
48. V
DESAFIO #1
▫︎Quando times perdem a visão do todo
▫︎Escopo das histórias delimitado por endpoints
▫︎Pode perder o benefício das características INVEST
48
I
T
dependência entre histórias do cliente e serviço
endpoints podem ser features incompletas
usuários não acessam endpoints
50. DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
50
Produto'B'
Web$Service$A$
Produto'A'
Web$Service$B$
Portal$
Web$Service$C$ Web$Service$D$
Backlog'4'Backlog'3'
Aplicação$$$$$Cliente$
Backlog'2'
Backlog'1'
História - time 1:
[Serviço] Listar
hotéis
História - time 2:
[UI] Visualizar
lista de hotéis
51. DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
▫︎Difícil de alinhar prioridades entre times
▫︎Time do cliente dependendo do time de serviços
51
Produto'B'
Web$Service$A$
Produto'A'
Web$Service$B$
Portal$
Web$Service$C$ Web$Service$D$
Backlog'4'Backlog'3'
Aplicação$$$$$Cliente$
Backlog'2'
Backlog'1'
História - time 1:
[Serviço] Listar
hotéis
História - time 2:
[UI] Visualizar
lista de hotéis
52. DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
▫︎Difícil de alinhar prioridades entre times
▫︎Time do cliente dependendo do time de serviços
▫︎Velocidades por histórias em vez de por features
podem dar uma falsa visão de progresso
52
53. DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
▫︎Difícil de alinhar prioridades entre times
▫︎Time do cliente dependendo do time de serviços
▫︎Velocidades por histórias em vez de por features
podem dar uma falsa visão de progresso
53
História - time 1:
[Serviço] Listar
hotéis
54. DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
▫︎Difícil de alinhar prioridades entre times
▫︎Time do cliente dependendo do time de serviços
▫︎Velocidades por histórias em vez de por features
podem dar uma falsa visão de progresso
54
História - time 1:
[Serviço] Listar
hotéis
DONE
55. ▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
▫︎Difícil de alinhar prioridades entre times
▫︎Time do cliente dependendo do time de serviços
▫︎Velocidades por histórias em vez de por features
podem dar uma falsa visão de progresso
História - time 1:
[Serviço] Listar
hotéis
DESAFIO #2
55
História - time 1:
[Serviço] Reservar
quarto
DONE
56. DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
▫︎Difícil de alinhar prioridades entre times
▫︎Time do cliente dependendo do time de serviços
▫︎Velocidades por histórias em vez de por features
podem dar uma falsa visão de progresso
56
História - time 1:
[Serviço] Reservar
quarto
DONE
História - time 1:
[Serviço] Listar
hotéis
DONE
57. DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
▫︎Difícil de alinhar prioridades entre times
▫︎Time do cliente dependendo do time de serviços
▫︎Velocidades por histórias em vez de por features
podem dar uma falsa visão de progresso
57
História - time 1:
[Serviço] Reservar
quarto
DONE
História - time 1:
[Serviço] Listar
hotéis
DONE
História - time 1:
[Serviço] Cancelar
reserva
58. DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
▫︎Difícil de alinhar prioridades entre times
▫︎Time do cliente dependendo do time de serviços
▫︎Velocidades por histórias em vez de por features
podem dar uma falsa visão de progresso
58
História - time 1:
[Serviço] Reservar
quarto
História - time 1:
[Serviço] Listar
hotéis
DONE DONE
História - time 1:
[Serviço] Cancelar
reserva
DONE
59. DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
▫︎Difícil de alinhar prioridades entre times
▫︎Time do cliente dependendo do time de serviços
▫︎Velocidades por histórias em vez de por features
podem dar uma falsa visão de progresso
59
História - time 2:
[UI] Visualizar
lista de hotéis
História - time 1:
[Serviço] Reservar
quarto
História - time 1:
[Serviço] Listar
hotéis
DONE DONE
História - time 1:
[Serviço] Cancelar
reserva
DONE
60. DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
▫︎Difícil de alinhar prioridades entre times
▫︎Time do cliente dependendo do time de serviços
▫︎Velocidades por histórias em vez de por features
podem dar uma falsa visão de progresso
60
História - time 2:
[UI] Visualizar
lista de hotéis WIP
História - time 1:
[Serviço] Reservar
quarto
História - time 1:
[Serviço] Listar
hotéis
DONE DONE
História - time 1:
[Serviço] Cancelar
reserva
DONE
62. DESAFIO #3
▫︎Quando demora pra surgirem problemas de integrações
62
História - time 1:
[Serviço] Listar
hotéis
Fevereiro
63. DESAFIO #3
▫︎Quando demora pra surgirem problemas de integrações
63
História - time 2:
[UI] Visualizar
lista de hotéis
História - time 1:
[Serviço] Listar
hotéis
Fevereiro Junho
64. ▫︎Quando demora pra surgirem problemas de integrações
▫︎mau funcionamento do produto
▫︎pode atrasar ou abortar entregas
DESAFIO #3
64
História - time 2:
[UI] Visualizar
lista de hotéis
História - time 1:
[Serviço] Listar
hotéis
67. 3 PASSOS PARA ANÁLISE
1. Mapear features em épicos
67
68. 3 PASSOS PARA ANÁLISE
1. Mapear features em épicos
2. Mapear dependências entre histórias do épico
68
69. 3 PASSOS PARA ANÁLISE
1. Mapear features em épicos
2. Mapear dependências entre histórias do épico
3. Definir critérios de aceitação para integrações
69
71. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
71
72. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
72
73. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
▫︎Usar épico na priorização e velocidade
73
74. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
▫︎Usar épico na priorização e velocidade
74
Épico: Visualizar
lista de hotéis
75. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
▫︎Usar épico na priorização e velocidade
75
Épico: Visualizar
lista de hotéis
76. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
▫︎Usar épico na priorização e velocidade
76
Épico: Visualizar
lista de hotéis
História - time 1:
[Serviço] Listar
hotéis
77. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
▫︎Usar épico na priorização e velocidade
77
Épico: Visualizar
lista de hotéis
História - time 1:
[Serviço] Listar
hotéis
78. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
▫︎Usar épico na priorização e velocidade
78
Épico: Visualizar
lista de hotéis
História - time 2:
[UI] Visualizar
lista de hotéis
História - time 1:
[Serviço] Listar
hotéis
79. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
▫︎Usar épico na priorização e velocidade
79
Épico: Visualizar
lista de hotéis
História - time 2:
[UI] Visualizar
lista de hotéis
História - time 1:
[Serviço] Listar
hotéis
PRIORIDADE
80. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
▫︎Usar épico na priorização e velocidade
80
Épico: Visualizar
lista de hotéis
História - time 2:
[UI] Visualizar
lista de hotéis
História - time 1:
[Serviço] Listar
hotéis
PRIORIDADE P R I O R I D A D E
81. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
▫︎Usar épico na priorização e velocidade
81
Épico: Visualizar
lista de hotéis
História - time 2:
[UI] Visualizar
lista de hotéis
História - time 1:
[Serviço] Listar
hotéis
82. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
▫︎Usar épico na priorização e velocidade
82
Épico: Visualizar
lista de hotéis
História - time 2:
[UI] Visualizar
lista de hotéis
História - time 1:
[Serviço] Listar
hotéis
DONE
83. 1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
▫︎Ou seja, como história tradicional
▫︎O que? Por quê? Pra quem?
▫︎Usar épico na priorização e velocidade
83
Épico: Visualizar
lista de hotéis
História - time 2:
[UI] Visualizar
lista de hotéis
História - time 1:
[Serviço] Listar
hotéis
DONE D O N E
85. ▫︎Problema: bloqueios por conta de dependências
▫︎Solução: colaborar para identificar quais as capacidades
que cada serviço precisa ter
2. MAPEAR DEPENDÊNCIAS ENTRE HISTÓRIAS DO ÉPICO
85
86. ▫︎Problema: bloqueios por conta de dependências
▫︎Solução: colaborar para identificar quais as capacidades
que cada serviço precisa ter
▫︎Identificar as possíveis dependências entre elas para
que o usuário consiga atingir seu objetivo
2. MAPEAR DEPENDÊNCIAS ENTRE HISTÓRIAS DO ÉPICO
86
87. ▫︎Problema: bloqueios por conta de dependências
▫︎Solução: colaborar para identificar quais as capacidades
que cada serviço precisa ter
▫︎Identificar as possíveis dependências entre elas para
que o usuário consiga atingir seu objetivo
▫︎Usar como base a arquitetura definida pelos times
para a feature
2. MAPEAR DEPENDÊNCIAS ENTRE HISTÓRIAS DO ÉPICO
87
plano
1. Requisitar margem de lucro
88. ▫︎Problema: bloqueios por conta de dependências
▫︎Solução: colaborar para identificar quais as capacidades
que cada serviço precisa ter
▫︎Identificar as possíveis dependências entre elas para
que o usuário consiga atingir seu objetivo
▫︎Usar como base a arquitetura definida pelos times
para a feature
2. MAPEAR DEPENDÊNCIAS ENTRE HISTÓRIAS DO ÉPICO
88
custo
plano
1. Requisitar margem de lucro
2. Requisitar
custo
89. ▫︎Problema: bloqueios por conta de dependências
▫︎Solução: colaborar para identificar quais as capacidades
que cada serviço precisa ter
▫︎Identificar as possíveis dependências entre elas para
que o usuário consiga atingir seu objetivo
▫︎Usar como base a arquitetura definida pelos times
para a feature
2. MAPEAR DEPENDÊNCIAS ENTRE HISTÓRIAS DO ÉPICO
89
custo preço
plano
1. Requisitar margem de lucro
3. Requisitar
preço
2. Requisitar
custo
90. ▫︎Problema: bloqueios por conta de dependências
▫︎Solução: colaborar para identificar quais as capacidades
que cada serviço precisa ter
▫︎Identificar as possíveis dependências entre elas para
que o usuário consiga atingir seu objetivo
▫︎Usar como base a arquitetura definida pelos times
para a feature
2. MAPEAR DEPENDÊNCIAS ENTRE HISTÓRIAS DO ÉPICO
90
custo preço
plano
1. Requisitar margem de lucro
3. Requisitar
preço
2. Requisitar
custo
4. Calcular
margem de lucro
91. ▫︎Problema: bloqueios por conta de dependências
▫︎Solução: colaborar para identificar quais as capacidades
que cada serviço precisa ter
▫︎Identificar as possíveis dependências entre elas para
que o usuário consiga atingir seu objetivo
▫︎Usar como base a arquitetura definida pelos times
para a feature
▫︎Priorização baseada nas dependências
2. MAPEAR DEPENDÊNCIAS ENTRE HISTÓRIAS DO ÉPICO
91
92. EXEMPLO
92
[ÉPICO] Visualizar margem de lucro
Como planejador de inventário
Eu preciso saber qual a margem de
lucro do meu plano de compras
Para que eu possa tomar decisões
de planejamento de acordo com
meu orçamento
Objetivo do
ponto de vista
do usuário
93. EXEMPLO
93
[ÉPICO] Visualizar margem de lucro
Como planejador de inventário
Eu preciso saber qual a margem de
lucro do meu plano de compras
Para que eu possa tomar decisões
de planejamento de acordo com
meu orçamento
[Plano] Calcular
margem de
lucro
Objetivo do
ponto de vista
do usuário
Histórias de
serviços para
atingir o objetivo
94. EXEMPLO
94
[ÉPICO] Visualizar margem de lucro
Como planejador de inventário
Eu preciso saber qual a margem de
lucro do meu plano de compras
Para que eu possa tomar decisões
de planejamento de acordo com
meu orçamento
[Custo] Listar
custo do
produto
[Plano] Calcular
margem de
lucro
[Preço] Listar
preço do
produto
Objetivo do
ponto de vista
do usuário
Histórias de
serviços para
atingir o objetivo
95. 3. DEFINIR CRITÉRIOS DE ACEITAÇÃO PARA INTEGRAÇÕES
▫︎Problema: integração causa mau funcionamento dos
produtos e possíveis atrasos de entrega
95
96. 3. DEFINIR CRITÉRIOS DE ACEITAÇÃO PARA INTEGRAÇÕES
▫︎Problema: integração causa mau funcionamento dos
produtos e possíveis atrasos de entrega
▫︎Solução
▫︎Usar jornadas de usuário pra definir critérios de
aceitação no nível de épico
96
97. 3. DEFINIR CRITÉRIOS DE ACEITAÇÃO PARA INTEGRAÇÕES
▫︎Problema: integração causa mau funcionamento dos
produtos e possíveis atrasos de entrega
▫︎Solução
▫︎Usar jornadas de usuário pra definir critérios de
aceitação no nível de épico
▫︎Considerar os produtos impactados
97
[ÉPICO] Visualizar margem de lucro
Como planejador de inventário
Eu preciso saber qual a margem de
lucro do meu plano de compras
Para que eu possa tomar decisões
de planejamento de acordo com
meu orçamento
98. 3. DEFINIR CRITÉRIOS DE ACEITAÇÃO PARA INTEGRAÇÕES
▫︎Problema: integração causa mau funcionamento dos
produtos e possíveis atrasos de entrega
▫︎Solução
▫︎Usar jornadas de usuário pra definir critérios de
aceitação no nível de épico
▫︎Considerar os produtos impactados
98
[ÉPICO] Visualizar margem de lucro
Como planejador de inventário
Eu preciso saber qual a margem de
lucro do meu plano de compras
Para que eu possa tomar decisões
de planejamento de acordo com
meu orçamento
Jornada passando por múltiplos
produtos
99. 3. DEFINIR CRITÉRIOS DE ACEITAÇÃO PARA INTEGRAÇÕES
▫︎Problema: integração causa mau funcionamento dos
produtos e possíveis atrasos de entrega
▫︎Solução
▫︎Usar jornadas de usuário pra definir critérios de
aceitação no nível de épico
▫︎Considerar os produtos impactados
99
[ÉPICO] Visualizar margem de lucro
Como planejador de inventário
Eu preciso saber qual a margem de
lucro do meu plano de compras
Para que eu possa tomar decisões
de planejamento de acordo com
meu orçamento
Jornada passando por múltiplos
produtos
1. Usuário do produto de gerenciar custo
define o custo do produto
100. 3. DEFINIR CRITÉRIOS DE ACEITAÇÃO PARA INTEGRAÇÕES
▫︎Problema: integração causa mau funcionamento dos
produtos e possíveis atrasos de entrega
▫︎Solução
▫︎Usar jornadas de usuário pra definir critérios de
aceitação no nível de épico
▫︎Considerar os produtos impactados
100
[ÉPICO] Visualizar margem de lucro
Como planejador de inventário
Eu preciso saber qual a margem de
lucro do meu plano de compras
Para que eu possa tomar decisões
de planejamento de acordo com
meu orçamento
Jornada passando por múltiplos
produtos
1. Usuário do produto de gerenciar custo
define o custo do produto
2. Usuário do produto de gerenciar preços
define o preço do produto
101. 3. DEFINIR CRITÉRIOS DE ACEITAÇÃO PARA INTEGRAÇÕES
▫︎Problema: integração causa mau funcionamento dos
produtos e possíveis atrasos de entrega
▫︎Solução
▫︎Usar jornadas de usuário pra definir critérios de
aceitação no nível de épico
▫︎Considerar os produtos impactados
101
[ÉPICO] Visualizar margem de lucro
Como planejador de inventário
Eu preciso saber qual a margem de
lucro do meu plano de compras
Para que eu possa tomar decisões
de planejamento de acordo com
meu orçamento
Jornada passando por múltiplos
produtos
1. Usuário do produto de gerenciar custo
define o custo do produto
2. Usuário do produto de gerenciar preços
define o preço do produto
3. Planejador acessa produto de plano de
compras do produto e visualiza a
margem de lucro
102. 3. DEFINIR CRITÉRIOS DE ACEITAÇÃO PARA INTEGRAÇÕES
▫︎Problema: integração causa mau funcionamento dos
produtos e possíveis atrasos de entrega
▫︎Solução
▫︎Usar jornadas de usuário pra definir critérios de
aceitação no nível de épico
▫︎Considerar os produtos impactados
▫︎Definir critérios de aceitação pros serviços
102
103. 3. DEFINIR CRITÉRIOS DE ACEITAÇÃO PARA INTEGRAÇÕES
▫︎Problema: integração causa mau funcionamento dos
produtos e possíveis atrasos de entrega
▫︎Solução
▫︎Usar jornadas de usuário pra definir critérios de
aceitação no nível de épico
▫︎Considerar os produtos impactados
▫︎Definir critérios de aceitação pros serviços
▫︎foco em regras de negócio, independente de
interface
103
104. 3. DEFINIR CRITÉRIOS DE ACEITAÇÃO PARA INTEGRAÇÕES
▫︎Problema: integração causa mau funcionamento dos
produtos e possíveis atrasos de entrega
▫︎Solução
▫︎Usar jornadas de usuário pra definir critérios de
aceitação no nível de épico
▫︎Considerar os produtos impactados
▫︎Definir critérios de aceitação pros serviços
▫︎foco em regras de negócio, independente de
interface
▫︎Feedback mais rápido sobre os problemas de
integração 104
105. EXEMPLO: CRITÉRIO DE ACEITAÇÃO PRAS HISTÓRIAS
105
Serviço que
gerencia
custo
[Custo] Listar custo do produto
Dado que camisas regatas brancas
pro verão de 2016 custa 2 dólares
Quando eu listo custo de camisa
regata branca do verão de 2016
Então vejo que o custo é 2 dólares
106. EXEMPLO: CRITÉRIO DE ACEITAÇÃO PRAS HISTÓRIAS
106
Serviço que
gerencia
custo
[Custo] Listar custo do produto
Dado que camisas regatas brancas
pro verão de 2016 custa 2 dólares
Quando eu listo custo de camisa
regata branca do verão de 2016
Então vejo que o custo é 2 dólares
[Preço] Listar preço do produto
Dado que camisas regatas brancas
pro verão de 2016 valem 20 dólares
Quando eu listo preço de camisa
regata branca do verão de 2016
Então vejo que o preço é 20 dólares
Serviço que
gerencia
preço
107. EXEMPLO: CRITÉRIO DE ACEITAÇÃO PRAS HISTÓRIAS
107
Serviço que
gerencia
custo
[Custo] Listar custo do produto
Dado que camisas regatas brancas
pro verão de 2016 custa 2 dólares
Quando eu listo custo de camisa
regata branca do verão de 2016
Então vejo que o custo é 2 dólares
[Preço] Listar preço do produto
Dado que camisas regatas brancas
pro verão de 2016 valem 20 dólares
Quando eu listo preço de camisa
regata branca do verão de 2016
Então vejo que o preço é 20 dólares
Serviço que
gerencia
preço
Serviço que
gerencia
plano
[Lucro] Calcular margem de lucro
Dado que camisas regatas brancas
pro verão de 2016 custam 2 dólares
e valem 20 dólares
Quando eu visualizo a margem de
lucro do meu plano de compras
Então vejo a margem é de 18 dólares
111. RESUMO
Para o contexto em que:
▫︎times não são organizados por features
▫︎cuidam de serviços que são utilizados por múltiplos produtos
111
112. RESUMO
Para o contexto em que:
▫︎times não são organizados por features
▫︎cuidam de serviços que são utilizados por múltiplos produtos
▫︎ainda não conseguem usar todas as boas práticas pra se
trabalhar com microsserviços
112
113. RESUMO
Para o contexto em que:
▫︎times não são organizados por features
▫︎cuidam de serviços que são utilizados por múltiplos produtos
▫︎não conseguem usar todas as boas práticas pra se trabalhar
com microsserviços
A análise dos microsserviços podem ser feita como segue:
113
114. RESUMO
Para o contexto em que:
▫︎times não são organizados por features
▫︎cuidam de serviços que são utilizados por múltiplos produtos
▫︎não conseguem usar todas as boas práticas pra se trabalhar
com microsserviços
A análise dos microsserviços podem ser feita como segue:
▫︎mapeando features em épicos para os times não perderem a
visão do todo
114
115. RESUMO
Para o contexto em que:
▫︎times não são organizados por features
▫︎cuidam de serviços que são utilizados por múltiplos produtos
▫︎não conseguem usar todas as boas práticas pra se trabalhar
com microsserviços
A análise dos microsserviços podem ser feita como segue:
▫︎mapeando features em épicos para os times não perderem a
visão do todo
▫︎mapeando dependências entre histórias de um mesmo épico
pra que um time não fique bloqueado
115
116. RESUMO
Para o contexto em que:
▫︎times não são organizados por features
▫︎cuidam de serviços que são utilizados por múltiplos produtos
▫︎não conseguem usar todas as boas práticas pra se trabalhar
com microsserviços
A análise dos microsserviços podem ser feita como segue:
▫︎mapeando features em épicos para os times não perderem a
visão do todo
▫︎mapeando dependências entre histórias de um mesmo épico
pra que um time não fique bloqueado
▫︎planejar critérios de aceitação nos níveis de épicos e histórias
para minimizar os problemas de integração
116
118. REFERÊNCIAS
▫︎The Agile Samurai: How Agile Masters Deliver Great
Software. Rasmusson, Jonathan.
▫︎Microservices. Martin Fowler.
▫︎MicroservicePrerequisites. Martin Fowler.
▫︎Microservice trade offs. Martin Fowler.
▫︎Enterprise Integration Using REST. Martin Fowler.
118