thedevconf 2016 - análise efetiva de microservices em 3 passos
TRANSCRIPT
![Page 1: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/1.jpg)
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
![Page 2: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/2.jpg)
BACKGROUND
2
2009
Ciência da Computação, UFPE Metodologias ágeis Web services
2013Microsserviços
2014
Análise de Microsserviços
![Page 3: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/3.jpg)
FALAREMOS SOBRE
3
Análise
Microsserviços
Contexto & Desafios
3 passos para análise
![Page 4: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/4.jpg)
4
ANÁLISE
![Page 5: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/5.jpg)
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
![Page 6: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/6.jpg)
O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
6
![Page 7: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/7.jpg)
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
![Page 8: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/8.jpg)
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
![Page 9: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/9.jpg)
O que? Por quê? Pra quem?
HISTÓRIA DO USUÁRIO
9
I
N
Independente
NegociávelComo 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
![Page 10: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/10.jpg)
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
![Page 11: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/11.jpg)
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
![Page 12: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/12.jpg)
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
![Page 13: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/13.jpg)
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ávelInterface 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
![Page 14: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/14.jpg)
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ávelInterface 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
![Page 15: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/15.jpg)
BACKLOG
▫︎Conjunto das histórias para features do produto
15
![Page 16: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/16.jpg)
BACKLOG
▫︎Conjunto das histórias para features do produto
▫︎ Épico: agrupam histórias de mesma área do domínio
16
![Page 17: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/17.jpg)
BACKLOG
▫︎Conjunto das histórias para features do produto
▫︎ Épico: agrupam histórias de mesma área do domínio
17
ÉPICO: Cadastro de cliente
![Page 18: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/18.jpg)
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
![Page 19: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/19.jpg)
E quando as histórias são implementadas por microsserviços?
19
![Page 20: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/20.jpg)
20
MICROSSERVIÇOS
![Page 21: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/21.jpg)
QUE PROBLEMA MICROSSERVIÇOS TENTA RESOLVER?
21
Arquitetura monolítica: várias features em um único executável
![Page 22: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/22.jpg)
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
![Page 23: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/23.jpg)
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
![Page 24: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/24.jpg)
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
![Page 25: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/25.jpg)
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
![Page 26: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/26.jpg)
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
![Page 27: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/27.jpg)
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
![Page 28: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/28.jpg)
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
![Page 29: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/29.jpg)
BOAS PRÁTICAS
▫︎ Testes automatizados em todos os níveis
▫︎Unitários, integração, contratos, jornadas de usuários
29
![Page 30: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/30.jpg)
BOAS PRÁTICAS
▫︎ Testes automatizados em todos os níveis
▫︎Unitários, integração, contratos, jornadas de usuários
▫︎ Integração contínua
30
![Page 31: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/31.jpg)
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
![Page 32: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/32.jpg)
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
![Page 33: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/33.jpg)
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
![Page 34: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/34.jpg)
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
![Page 35: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/35.jpg)
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
![Page 36: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/36.jpg)
Mas e enquanto não se consegue adotar todas as boas práticas?
36
![Page 37: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/37.jpg)
37
CONTEXTO & DESAFIOS
![Page 38: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/38.jpg)
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'
![Page 39: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/39.jpg)
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'
![Page 40: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/40.jpg)
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'
![Page 41: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/41.jpg)
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'
![Page 42: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/42.jpg)
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'
![Page 43: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/43.jpg)
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'
![Page 44: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/44.jpg)
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
![Page 45: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/45.jpg)
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
![Page 46: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/46.jpg)
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
![Page 47: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/47.jpg)
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
![Page 48: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/48.jpg)
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
![Page 49: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/49.jpg)
DESAFIO #2
▫︎Quando times ficam bloqueados por dependência em histórias de outros times
49
![Page 50: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/50.jpg)
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
![Page 51: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/51.jpg)
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
![Page 52: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/52.jpg)
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
![Page 53: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/53.jpg)
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
![Page 54: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/54.jpg)
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
![Page 55: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/55.jpg)
▫︎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
![Page 56: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/56.jpg)
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
DONEHistória - time 1: [Serviço] Listar hotéis
DONE
![Page 57: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/57.jpg)
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
DONEHistória - time 1: [Serviço] Listar hotéis
DONEHistória - time 1: [Serviço] Cancelar reserva
![Page 58: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/58.jpg)
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 DONEHistória - time 1: [Serviço] Cancelar reserva
DONE
![Page 59: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/59.jpg)
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 DONEHistória - time 1: [Serviço] Cancelar reserva
DONE
![Page 60: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/60.jpg)
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 DONEHistória - time 1: [Serviço] Cancelar reserva
DONE
![Page 61: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/61.jpg)
▫︎Quando demora pra surgirem problemas de integrações
DESAFIO #3
61
![Page 62: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/62.jpg)
DESAFIO #3
▫︎Quando demora pra surgirem problemas de integrações
62
História - time 1: [Serviço] Listar hotéis
Fevereiro
![Page 63: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/63.jpg)
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
![Page 64: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/64.jpg)
▫︎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
![Page 65: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/65.jpg)
Como conseguir fazer uma análise efetiva nesse contexto?
65
![Page 66: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/66.jpg)
66
3 PASSOS PARA ANÁLISE
![Page 67: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/67.jpg)
3 PASSOS PARA ANÁLISE
1. Mapear features em épicos
67
![Page 68: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/68.jpg)
3 PASSOS PARA ANÁLISE
1. Mapear features em épicos
2. Mapear dependências entre histórias do épico
68
![Page 69: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/69.jpg)
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
![Page 70: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/70.jpg)
1. MAPEAR FEATURES EM ÉPICOS
▫︎ Problema: falta de visão do todo
70
![Page 71: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/71.jpg)
1. MAPEAR FEATURES EM ÉPICOS
▫︎ Problema: falta de visão do todo
▫︎ Solução: tratar épico como cidadão de primeira classe
71
![Page 72: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/72.jpg)
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
![Page 73: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/73.jpg)
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
![Page 74: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/74.jpg)
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
![Page 75: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/75.jpg)
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
![Page 76: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/76.jpg)
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
![Page 77: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/77.jpg)
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
![Page 78: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/78.jpg)
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
![Page 79: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/79.jpg)
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
![Page 80: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/80.jpg)
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
![Page 81: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/81.jpg)
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
![Page 82: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/82.jpg)
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
![Page 83: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/83.jpg)
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
![Page 84: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/84.jpg)
▫︎ Problema: bloqueios por conta de dependências
2. MAPEAR DEPENDÊNCIAS ENTRE HISTÓRIAS DO ÉPICO
84
![Page 85: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/85.jpg)
▫︎ 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
![Page 86: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/86.jpg)
▫︎ 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
![Page 87: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/87.jpg)
▫︎ 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
![Page 88: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/88.jpg)
▫︎ 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
88custo
plano
1. Requisitar margem de lucro
2. Requisitar custo
![Page 89: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/89.jpg)
▫︎ 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
89custo preço
plano
1. Requisitar margem de lucro
3. Requisitar preço
2. Requisitar custo
![Page 90: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/90.jpg)
▫︎ 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
90custo preço
plano
1. Requisitar margem de lucro
3. Requisitar preço
2. Requisitar custo
4. Calcular margem de lucro
![Page 91: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/91.jpg)
▫︎ 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
![Page 92: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/92.jpg)
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
![Page 93: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/93.jpg)
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
![Page 94: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/94.jpg)
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
![Page 95: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/95.jpg)
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
![Page 96: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/96.jpg)
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
![Page 97: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/97.jpg)
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
![Page 98: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/98.jpg)
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
![Page 99: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/99.jpg)
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
![Page 100: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/100.jpg)
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
![Page 101: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/101.jpg)
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
![Page 102: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/102.jpg)
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
![Page 103: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/103.jpg)
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
![Page 104: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/104.jpg)
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
![Page 105: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/105.jpg)
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
![Page 106: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/106.jpg)
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
![Page 107: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/107.jpg)
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
![Page 108: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/108.jpg)
108
RESUMO
![Page 109: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/109.jpg)
RESUMO
Para o contexto em que:
109
![Page 110: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/110.jpg)
RESUMO
Para o contexto em que:
▫︎ times não são organizados por features
110
![Page 111: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/111.jpg)
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
![Page 112: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/112.jpg)
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
![Page 113: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/113.jpg)
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
![Page 114: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/114.jpg)
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
![Page 115: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/115.jpg)
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
![Page 116: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/116.jpg)
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
![Page 117: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/117.jpg)
Perguntas?
OBRIGADA
@taisedias github.com/taisedias
linkedin.com/in/taisedias
![Page 118: TheDevConf 2016 - Análise efetiva de microservices em 3 passos](https://reader031.vdocuments.mx/reader031/viewer/2022030304/5877a7d41a28ab826e8b65cf/html5/thumbnails/118.jpg)
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