SlideShare uma empresa Scribd logo
1 de 118
Baixar para ler offline
T h e D e v e l o p e r ’ s C o n f e r e n c e 2 0 1 6
ANÁLISE EFETIVA DE
MICROSSERVIÇOS EM 3 PASSOS
Taíse Dias da Silva
BACKGROUND
2
2009
Ciência da Computação, UFPE
Metodologias ágeis
Web services
2013
Microsserviços
2014
Análise de
Microsserviços
FALAREMOS SOBRE
3
Análise
Microsserviços
Contexto & Desafios
3 passos para análise
4
ANÁLISE
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
O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
6
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
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
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
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
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
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
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
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
BACKLOG
▫︎Conjunto das histórias para features do produto
15
BACKLOG
▫︎Conjunto das histórias para features do produto
▫︎Épico: agrupam histórias de mesma área do domínio
16
BACKLOG
▫︎Conjunto das histórias para features do produto
▫︎Épico: agrupam histórias de mesma área do domínio
17
ÉPICO: Cadastro
de cliente
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
E quando as histórias são
implementadas por microsserviços?
19
20
MICROSSERVIÇOS
QUE PROBLEMA MICROSSERVIÇOS TENTA RESOLVER?
21
Arquitetura monolítica: várias features
em um único executável
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
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
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
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
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
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
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
BOAS PRÁTICAS
▫︎Testes automatizados em todos os níveis
▫︎Unitários, integração, contratos, jornadas de usuários
29
BOAS PRÁTICAS
▫︎Testes automatizados em todos os níveis
▫︎Unitários, integração, contratos, jornadas de usuários
▫︎Integração contínua
30
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
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
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
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
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
Mas e enquanto não se consegue
adotar todas as boas práticas?
36
37
CONTEXTO &
DESAFIOS
ORGANIZAÇÃO DOS TIMES: CENÁRIO IDEAL
38
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'
ORGANIZAÇÃO DOS TIMES: CENÁRIO REAL
39
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'
ORGANIZAÇÃO DO BACKLOG: CENÁRIO IDEAL
40
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'
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'
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'
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'
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'
DESAFIO #1
▫︎Quando times perdem a visão do todo
▫︎Escopo das histórias delimitado por endpoints
44
História - time 1:
[Serviço] Listar
hotéis
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
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
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
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
DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em
histórias de outros times
49
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
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
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
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
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
▫︎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
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
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
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
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
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
▫︎Quando demora pra surgirem problemas de integrações
DESAFIO #3
61
DESAFIO #3
▫︎Quando demora pra surgirem problemas de integrações
62
História - time 1:
[Serviço] Listar
hotéis
Fevereiro
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
▫︎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
Como conseguir fazer uma análise
efetiva nesse contexto?
65
66
3 PASSOS PARA ANÁLISE
3 PASSOS PARA ANÁLISE
1. Mapear features em épicos
67
3 PASSOS PARA ANÁLISE
1. Mapear features em épicos
2. Mapear dependências entre histórias do épico
68
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
1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
70
1. MAPEAR FEATURES EM ÉPICOS
▫︎Problema: falta de visão do todo
▫︎Solução: tratar épico como cidadão de primeira classe
71
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
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
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
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
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
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
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
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
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
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
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
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
▫︎Problema: bloqueios por conta de dependências
2. MAPEAR DEPENDÊNCIAS ENTRE HISTÓRIAS DO ÉPICO
84
▫︎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
▫︎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
▫︎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
▫︎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
▫︎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
▫︎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
▫︎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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
108
RESUMO
RESUMO
Para o contexto em que:
109
RESUMO
Para o contexto em que:
▫︎times não são organizados por features
110
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
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
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
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
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
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
Perguntas?
OBRIGADA
@taisedias
github.com/taisedias
linkedin.com/in/taisedias
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

Mais conteúdo relacionado

Mais procurados

Implementando APIs REST mais seguras - TDC 2019 - São Paulo
Implementando APIs REST mais seguras - TDC 2019 - São PauloImplementando APIs REST mais seguras - TDC 2019 - São Paulo
Implementando APIs REST mais seguras - TDC 2019 - São PauloRenato Groff
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoLuiz Costa
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosRafael Chaves
 
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...Robert Silva
 
Integração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosIntegração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosRobert Silva
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...Emmanuel Neri
 
Webinar Segurança de DevOps
Webinar Segurança de DevOpsWebinar Segurança de DevOps
Webinar Segurança de DevOpsTenchi Security
 
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...tdc-globalcode
 
Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Otávio Santana
 
DevOps CE - Containers, DevOps e Cloud Security
DevOps CE - Containers, DevOps e Cloud SecurityDevOps CE - Containers, DevOps e Cloud Security
DevOps CE - Containers, DevOps e Cloud SecurityMaurício Harley
 
React e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer CirclesReact e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer CirclesJosé Barbosa
 
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPCombatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPRodrigo Dos Santos
 
Segurança em aplicações php
Segurança em aplicações phpSegurança em aplicações php
Segurança em aplicações phpRodrigo Dos Santos
 
Introdução à Segurança de Containers e Kubernetes
Introdução à Segurança de Containers e KubernetesIntrodução à Segurança de Containers e Kubernetes
Introdução à Segurança de Containers e KubernetesTenchi Security
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaCleber Dantas
 
Aplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativosAplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativosEmmanuel Neri
 

Mais procurados (20)

Implementando APIs REST mais seguras - TDC 2019 - São Paulo
Implementando APIs REST mais seguras - TDC 2019 - São PauloImplementando APIs REST mais seguras - TDC 2019 - São Paulo
Implementando APIs REST mais seguras - TDC 2019 - São Paulo
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
Clean Architecture com .NET Core
Clean Architecture com .NET CoreClean Architecture com .NET Core
Clean Architecture com .NET Core
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutos
 
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...
Cloud e DevOps, como o Zabbix pode contribuir para este cenário - Zabbix Conf...
 
Integração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes AutomatizadosIntegração do Zabbix com Testes Automatizados
Integração do Zabbix com Testes Automatizados
 
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
O comparativo de arquiteturas de software monolíticas em relação a arquitetur...
 
Webinar Segurança de DevOps
Webinar Segurança de DevOpsWebinar Segurança de DevOps
Webinar Segurança de DevOps
 
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
TDC2016SP - Trilha Quebrando um monolítico J2EE, uma história de trás das tri...
 
Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF Implementando aplicativos Web com JSF
Implementando aplicativos Web com JSF
 
Integração e APIs com Mulesoft
Integração e APIs com MulesoftIntegração e APIs com Mulesoft
Integração e APIs com Mulesoft
 
DevOps CE - Containers, DevOps e Cloud Security
DevOps CE - Containers, DevOps e Cloud SecurityDevOps CE - Containers, DevOps e Cloud Security
DevOps CE - Containers, DevOps e Cloud Security
 
Micro serviços ppt
Micro serviços pptMicro serviços ppt
Micro serviços ppt
 
React e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer CirclesReact e reactividade Meetup Facebook Developer Circles
React e reactividade Meetup Facebook Developer Circles
 
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHPCombatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
Combatendo o Código Procedural - TDC 2012 Florianópolis - Trilha PHP
 
Segurança em aplicações php
Segurança em aplicações phpSegurança em aplicações php
Segurança em aplicações php
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
Introdução à Segurança de Containers e Kubernetes
Introdução à Segurança de Containers e KubernetesIntrodução à Segurança de Containers e Kubernetes
Introdução à Segurança de Containers e Kubernetes
 
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escalaTDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
TDC - Técnicas e recursos para desenvolvimento web em cenários de grande escala
 
Aplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativosAplicação da arquitetura de micro serviços em softwares corporativos
Aplicação da arquitetura de micro serviços em softwares corporativos
 

Destaque

TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservicestdc-globalcode
 
TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#tdc-globalcode
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcionaltdc-globalcode
 
TDC2016SP - Trilha Fintech
TDC2016SP - Trilha FintechTDC2016SP - Trilha Fintech
TDC2016SP - Trilha Fintechtdc-globalcode
 
Glücksbringer in der schweiz
Glücksbringer in der schweizGlücksbringer in der schweiz
Glücksbringer in der schweizAaron Wielers
 
TDC2016SP - Agile além das fronteiras de desenvolvimento: aplicação de princí...
TDC2016SP - Agile além das fronteiras de desenvolvimento: aplicação de princí...TDC2016SP - Agile além das fronteiras de desenvolvimento: aplicação de princí...
TDC2016SP - Agile além das fronteiras de desenvolvimento: aplicação de princí...tdc-globalcode
 
PBA_Course_Certificate
PBA_Course_CertificatePBA_Course_Certificate
PBA_Course_CertificateKevin Tabor
 
List of engineering firms in pakistan
List of engineering firms in pakistanList of engineering firms in pakistan
List of engineering firms in pakistanzubeditufail
 
Ridge gourd InsectsA Lecture By Allah Dad Khan Provincial Coordinator IPM MIN...
Ridge gourd InsectsA Lecture By Allah Dad Khan Provincial Coordinator IPM MIN...Ridge gourd InsectsA Lecture By Allah Dad Khan Provincial Coordinator IPM MIN...
Ridge gourd InsectsA Lecture By Allah Dad Khan Provincial Coordinator IPM MIN...Mr.Allah Dad Khan
 
Design Thinking @ Insper 2016
Design Thinking @ Insper 2016Design Thinking @ Insper 2016
Design Thinking @ Insper 2016Fabricio Dore
 
TDC2016SP - Depurando Aplicações PHP Like a BOSS
TDC2016SP - Depurando Aplicações PHP Like a BOSSTDC2016SP - Depurando Aplicações PHP Like a BOSS
TDC2016SP - Depurando Aplicações PHP Like a BOSStdc-globalcode
 

Destaque (17)

TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#TDC2016SP - Cross-Platform Development with C#
TDC2016SP - Cross-Platform Development with C#
 
TDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação FuncionalTDC2016SP - Trilha Programação Funcional
TDC2016SP - Trilha Programação Funcional
 
TDC2016SP - Trilha Fintech
TDC2016SP - Trilha FintechTDC2016SP - Trilha Fintech
TDC2016SP - Trilha Fintech
 
BIS cover story
BIS cover storyBIS cover story
BIS cover story
 
Domain doyens
Domain doyensDomain doyens
Domain doyens
 
Glücksbringer in der schweiz
Glücksbringer in der schweizGlücksbringer in der schweiz
Glücksbringer in der schweiz
 
Clean Air Systems, Chennai, Clean Air Systems
Clean Air Systems, Chennai, Clean Air SystemsClean Air Systems, Chennai, Clean Air Systems
Clean Air Systems, Chennai, Clean Air Systems
 
TDC2016SP - Agile além das fronteiras de desenvolvimento: aplicação de princí...
TDC2016SP - Agile além das fronteiras de desenvolvimento: aplicação de princí...TDC2016SP - Agile além das fronteiras de desenvolvimento: aplicação de princí...
TDC2016SP - Agile além das fronteiras de desenvolvimento: aplicação de princí...
 
Dongre
DongreDongre
Dongre
 
PBA_Course_Certificate
PBA_Course_CertificatePBA_Course_Certificate
PBA_Course_Certificate
 
final report
final reportfinal report
final report
 
List of engineering firms in pakistan
List of engineering firms in pakistanList of engineering firms in pakistan
List of engineering firms in pakistan
 
Ridge gourd InsectsA Lecture By Allah Dad Khan Provincial Coordinator IPM MIN...
Ridge gourd InsectsA Lecture By Allah Dad Khan Provincial Coordinator IPM MIN...Ridge gourd InsectsA Lecture By Allah Dad Khan Provincial Coordinator IPM MIN...
Ridge gourd InsectsA Lecture By Allah Dad Khan Provincial Coordinator IPM MIN...
 
Design Thinking @ Insper 2016
Design Thinking @ Insper 2016Design Thinking @ Insper 2016
Design Thinking @ Insper 2016
 
TDC2016SP - Depurando Aplicações PHP Like a BOSS
TDC2016SP - Depurando Aplicações PHP Like a BOSSTDC2016SP - Depurando Aplicações PHP Like a BOSS
TDC2016SP - Depurando Aplicações PHP Like a BOSS
 

Semelhante a Análise de microsserviços em 3 passos

Taise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passosTaise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passosminastestingconference
 
MTC_2016-analise_efetiva_de_microsservicos
MTC_2016-analise_efetiva_de_microsservicosMTC_2016-analise_efetiva_de_microsservicos
MTC_2016-analise_efetiva_de_microsservicosTaise Dias da Silva
 
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018Renato Groff
 
Desenvolvimento de Software: Navegando em Águas Misteriosas
Desenvolvimento de Software: Navegando em Águas MisteriosasDesenvolvimento de Software: Navegando em Águas Misteriosas
Desenvolvimento de Software: Navegando em Águas MisteriosasNícolas Iensen
 
Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?Better Developer
 
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021Renato Groffe
 
Feature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testávelFeature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testávelHélio Medeiros
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Renato Groffe
 
Skalena - Overview de Soluções
Skalena - Overview de Soluções Skalena - Overview de Soluções
Skalena - Overview de Soluções Edgar Silva
 
Azure Service Fabric - Orquestrando aplicações .Net
Azure Service Fabric - Orquestrando aplicações .NetAzure Service Fabric - Orquestrando aplicações .Net
Azure Service Fabric - Orquestrando aplicações .NetJhonathan de Souza Soares
 
The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreBruno Brandes
 
Webinar Azure - Dia 04
Webinar Azure - Dia 04Webinar Azure - Dia 04
Webinar Azure - Dia 04Alvaro Rezende
 
[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataformaAlessandro Almeida
 
Webinar Azure - Dia 03
Webinar Azure - Dia 03Webinar Azure - Dia 03
Webinar Azure - Dia 03Alvaro Rezende
 
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringFelipe Klerk Signorini
 
Proposta para especificação de histórias de usuários alinhadas a IEEE 830
Proposta para especificação de histórias de usuários alinhadas a IEEE 830Proposta para especificação de histórias de usuários alinhadas a IEEE 830
Proposta para especificação de histórias de usuários alinhadas a IEEE 830André Agostinho
 
Webinar Azure - Dia 07
Webinar Azure - Dia 07Webinar Azure - Dia 07
Webinar Azure - Dia 07Alvaro Rezende
 

Semelhante a Análise de microsserviços em 3 passos (20)

Taise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passosTaise Dias - Análise efetiva de microserviços em 3 passos
Taise Dias - Análise efetiva de microserviços em 3 passos
 
MTC_2016-analise_efetiva_de_microsservicos
MTC_2016-analise_efetiva_de_microsservicosMTC_2016-analise_efetiva_de_microsservicos
MTC_2016-analise_efetiva_de_microsservicos
 
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
NoSQL na nuvem com o Azure Cosmos DB - MVPConf 2018
 
Desenvolvimento de Software: Navegando em Águas Misteriosas
Desenvolvimento de Software: Navegando em Águas MisteriosasDesenvolvimento de Software: Navegando em Águas Misteriosas
Desenvolvimento de Software: Navegando em Águas Misteriosas
 
Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?Ir para cloud com arquitetura de microservices resolverá o meu problema?
Ir para cloud com arquitetura de microservices resolverá o meu problema?
 
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021
Alternativas para implementação de Microsserviços no Azure | MVPConf Latam 2021
 
Curriculum vitae u05_lutonda
Curriculum vitae u05_lutondaCurriculum vitae u05_lutonda
Curriculum vitae u05_lutonda
 
Feature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testávelFeature Injection - Descobrindo e entregando valor testável
Feature Injection - Descobrindo e entregando valor testável
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | MVPConf Latam 2021
 
Skalena - Overview de Soluções
Skalena - Overview de Soluções Skalena - Overview de Soluções
Skalena - Overview de Soluções
 
Azure Service Fabric - Orquestrando aplicações .Net
Azure Service Fabric - Orquestrando aplicações .NetAzure Service Fabric - Orquestrando aplicações .Net
Azure Service Fabric - Orquestrando aplicações .Net
 
The Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto AlegreThe Developers Conference 2014 | Porto Alegre
The Developers Conference 2014 | Porto Alegre
 
Webinar Azure - Dia 04
Webinar Azure - Dia 04Webinar Azure - Dia 04
Webinar Azure - Dia 04
 
Hello NoSQL World
Hello NoSQL WorldHello NoSQL World
Hello NoSQL World
 
Escala Já!
Escala Já!Escala Já!
Escala Já!
 
[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma[ServiceNow] Visão geral da plataforma
[ServiceNow] Visão geral da plataforma
 
Webinar Azure - Dia 03
Webinar Azure - Dia 03Webinar Azure - Dia 03
Webinar Azure - Dia 03
 
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability EngineeringTDC 2017 - Borg até o Prometheus: Site Reliability Engineering
TDC 2017 - Borg até o Prometheus: Site Reliability Engineering
 
Proposta para especificação de histórias de usuários alinhadas a IEEE 830
Proposta para especificação de histórias de usuários alinhadas a IEEE 830Proposta para especificação de histórias de usuários alinhadas a IEEE 830
Proposta para especificação de histórias de usuários alinhadas a IEEE 830
 
Webinar Azure - Dia 07
Webinar Azure - Dia 07Webinar Azure - Dia 07
Webinar Azure - Dia 07
 

Mais de tdc-globalcode

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadetdc-globalcode
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...tdc-globalcode
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucessotdc-globalcode
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPAtdc-globalcode
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinotdc-globalcode
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...tdc-globalcode
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicestdc-globalcode
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publicatdc-globalcode
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#tdc-globalcode
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocustdc-globalcode
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?tdc-globalcode
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golangtdc-globalcode
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QAtdc-globalcode
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciatdc-globalcode
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Servicetdc-globalcode
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETtdc-globalcode
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8tdc-globalcode
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...tdc-globalcode
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#tdc-globalcode
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Coretdc-globalcode
 

Mais de tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Último

“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptxthaisamaral9365923
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMVanessaCavalcante37
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 

Último (20)

“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx“Sobrou pra mim” - Conto de Ruth Rocha.pptx
“Sobrou pra mim” - Conto de Ruth Rocha.pptx
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEMCOMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
COMPETÊNCIA 1 DA REDAÇÃO DO ENEM - REDAÇÃO ENEM
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 

Análise de microsserviços em 3 passos

  • 1. T h e D e v e l o p e r ’ s C o n f e r e n c e 2 0 1 6 ANÁLISE EFETIVA DE MICROSSERVIÇOS EM 3 PASSOS Taíse Dias da Silva
  • 2. BACKGROUND 2 2009 Ciência da Computação, UFPE Metodologias ágeis Web services 2013 Microsserviços 2014 Análise de Microsserviços
  • 3. FALAREMOS SOBRE 3 Análise Microsserviços Contexto & Desafios 3 passos para análise
  • 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
  • 15. BACKLOG ▫︎Conjunto das histórias para features do produto 15
  • 16. BACKLOG ▫︎Conjunto das histórias para features do produto ▫︎Épico: agrupam histórias de mesma área do domínio 16
  • 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
  • 29. BOAS PRÁTICAS ▫︎Testes automatizados em todos os níveis ▫︎Unitários, integração, contratos, jornadas de usuários 29
  • 30. BOAS PRÁTICAS ▫︎Testes automatizados em todos os níveis ▫︎Unitários, integração, contratos, jornadas de usuários ▫︎Integração contínua 30
  • 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
  • 38. ORGANIZAÇÃO DOS TIMES: CENÁRIO IDEAL 38 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'
  • 39. ORGANIZAÇÃO DOS TIMES: CENÁRIO REAL 39 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'
  • 40. ORGANIZAÇÃO DO BACKLOG: CENÁRIO IDEAL 40 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'
  • 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'
  • 44. 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' DESAFIO #1 ▫︎Quando times perdem a visão do todo ▫︎Escopo das histórias delimitado por endpoints 44 História - time 1: [Serviço] Listar hotéis
  • 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
  • 49. DESAFIO #2 ▫︎Quando times ficam bloqueados por dependência em histórias de outros times 49
  • 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
  • 61. ▫︎Quando demora pra surgirem problemas de integrações DESAFIO #3 61
  • 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
  • 65. Como conseguir fazer uma análise efetiva nesse contexto? 65
  • 66. 66 3 PASSOS PARA ANÁLISE
  • 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
  • 70. 1. MAPEAR FEATURES EM ÉPICOS ▫︎Problema: falta de visão do todo 70
  • 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
  • 84. ▫︎Problema: bloqueios por conta de dependências 2. MAPEAR DEPENDÊNCIAS ENTRE HISTÓRIAS DO ÉPICO 84
  • 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
  • 109. RESUMO Para o contexto em que: 109
  • 110. RESUMO Para o contexto em que: ▫︎times não são organizados por features 110
  • 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