SlideShare uma empresa Scribd logo
1 de 21
Behavior Driven
Development
Para Product Owners
Olá!
Sou a Carol Alves
Mais de 5 anos na área de tecnologia.
Passado: Desenvolvedora Web
Presente: Product Owner, campings,
viagens, comunidades DevPiracicaba,
Produto e Agilidade, vegetariana e animais
@carol__alves
@carolineaalves
@caarolinealves
2
Vida de
Product
Owner
Planejar, Elaborar, Analisar,
Conversar (MUITA), Decidir,
Metrificar, Escrever (muito),
ACEITAR...
3
COMUNICAÇÃO
4
COMUNICAÇÃO
5
A pesquisa PMSURVEY.ORG realizada em 2014, com 400 organizações, por seções regionais do PMI (Project Management Institute)
aponta que o problema mais comum em projetos está relacionado à comunicação.
Benefícios
▸ Envolvimento dos interessados (stakeholders)
▸ Todo time alinhado com a atividade que irá ser
desenvolvida
▸ Um guia contendo os critérios de aceite
▸ Documentação viva refletindo os comportamentos atuais
do sistema.
▸ Menos estórias voltando
6
"Inspecionar para
prevenir defeitos é bom;
inspecionar para
encontrar defeitos é
desperdício"
7
- Shigeo Shingo
Custo da Não
Qualidade
8
9
2016 2018
10
https://hiptest.com/blog/bdd/state-of-behavior-driven-development-2018-the-results/
“
Você não quer ver o
código; você deseja ver se
o seu produto funciona
para o usuário da maneira
que você pretendia.
11
Desenvolvimento
orientado a
Comportamento
1
TDD vs BDD1
Algumas Infos
▸ Criado em 2003 por Dan Nort
▸ Linguagem Natural
▸ Guiado pelos valores de negócios
A ideia principal do BDD é possibilitar que as
funcionalidades do sistema sejam escritas em
linguagem natural.
14
Gherkin
TA!
Mas como eu começo?
15
Gherkin
Dado (Given)
O propósito do “Dado” é
colocar o sistema em um
estado conhecido antes que
o usuário comece a interagir
com o sistema.
Quando (When)
O Propósito do “Quando” é
descrever uma ação chave
que o usuário executa.
Então (Then)
O “Então” visa mostrar as
saídas, os resultados das
ações executadas, seriam
basicamente os resultados
esperados em casos de
testes tradicionais
16
Funcionalidade: Servir café afim de
ganhar dinheiro, os clientes devem ser
capazes de comprar café a todo
momento.
Cenário: Comprar café
Dado que tenha pelo menos 1 café
sobrando na máquina
Quando eu pressionar o botão de café
Então eu deveria ser servido de um café
17
Cenário: Comer 5 em cada 12
Dado que tenho 12 pepinos
Quando eu comer 5 pepinos
Então eu devo ter 7 pepinos
18
Esquema do Cenário: Comer
Dado que temos <antes> pepinos
Quando eu comer <come> pepino
Então teremos <depois> pepinos
Exemplos:
| antes | come | depois |
| 12 | 5 | 7 |
Funcionalidade: Publicar no Blog
Contexto: Dado um administrador global chamado "Greg"
E um blog chamado “DevPira Festival"
E um cliente chamado “Renato dos Anjos"
E um blog chamado “ProdAgil" de propriedade de “Renato dos Anjos“
Cenário: Renato posta em seu próprio blog
Dado que eu esteja logado como Renato dos Anjos
Quando eu tentar postar em " ProdAgil "
Então eu devo ver "Seu artigo foi publicado."
Cenário: Greg posta no blog de um cliente
Dado que eu esteja logado como Greg
Quando eu tentar postar em “DevPira Festival"
Então eu devo ver "Seu artigo foi publicado
19
Frameworks
20
▸ Behave (Python)
▸ JBehave (Java)
▸ RSpec (Ruby)
▸ SpecFlow (.Net)
▸ Cucumber (Java, JavaScript, Ruby, Kotlin or Python)
21
Obrigada
Alguma duvida?
@carol__Alves
@carolineaalves
@caarolinealves

Mais conteúdo relacionado

Semelhante a Behavior Driven Development - Para Product Owner

Empreendedorismo Digital - PHP DF
Empreendedorismo Digital - PHP DFEmpreendedorismo Digital - PHP DF
Empreendedorismo Digital - PHP DFFelipe Morais
 
Como ser um designer melhor. 12 dicas.
Como ser um designer melhor. 12 dicas.Como ser um designer melhor. 12 dicas.
Como ser um designer melhor. 12 dicas.Luiz Alberto Alberto
 
Construindo produtos do zero:
 5 deslizes comuns e como evitá-los - Mundo 4D ...
Construindo produtos do zero:
 5 deslizes comuns e como evitá-los - Mundo 4D ...Construindo produtos do zero:
 5 deslizes comuns e como evitá-los - Mundo 4D ...
Construindo produtos do zero:
 5 deslizes comuns e como evitá-los - Mundo 4D ...Product Camp Brasil
 
E-commerce coach: um guia para você vender na web
E-commerce coach: um guia para você vender na webE-commerce coach: um guia para você vender na web
E-commerce coach: um guia para você vender na webMaratona Digital
 
Táticas e princípios para gerenciar produtos em startups - Agile Trends Pocket
Táticas e princípios para gerenciar produtos em startups - Agile Trends PocketTáticas e princípios para gerenciar produtos em startups - Agile Trends Pocket
Táticas e princípios para gerenciar produtos em startups - Agile Trends PocketMarcell Almeida
 
Guia da Startup - Aceleratech ESPM
Guia da Startup - Aceleratech ESPMGuia da Startup - Aceleratech ESPM
Guia da Startup - Aceleratech ESPMJoaquim Torres
 
Gestão Ágil de Produtos com Lean Startup para times Scrum
Gestão Ágil de Produtos com Lean Startup para times ScrumGestão Ágil de Produtos com Lean Startup para times Scrum
Gestão Ágil de Produtos com Lean Startup para times ScrumMarcos Garrido
 
Oficina de Validação de Negócios FAAP
Oficina de Validação de Negócios FAAPOficina de Validação de Negócios FAAP
Oficina de Validação de Negócios FAAPPaulo Floriano
 
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...Diana Corrêa, CSPO / CSM
 
Como construímos narrativas de produto baseadas em fatos e evidências - Eduar...
Como construímos narrativas de produto baseadas em fatos e evidências - Eduar...Como construímos narrativas de produto baseadas em fatos e evidências - Eduar...
Como construímos narrativas de produto baseadas em fatos e evidências - Eduar...Product Camp Brasil
 
Transformational Design Thinking - Aula 9
Transformational Design Thinking - Aula 9Transformational Design Thinking - Aula 9
Transformational Design Thinking - Aula 9Lu Terceiro
 
Talk zwift product discovery
Talk zwift product discoveryTalk zwift product discovery
Talk zwift product discoveryAndressa Chiara
 
Aula inovação tecnológica
Aula inovação tecnológicaAula inovação tecnológica
Aula inovação tecnológicaChemo
 

Semelhante a Behavior Driven Development - Para Product Owner (20)

Introdução ao Design Thinking
Introdução ao Design ThinkingIntrodução ao Design Thinking
Introdução ao Design Thinking
 
Empreendedorismo Digital - PHP DF
Empreendedorismo Digital - PHP DFEmpreendedorismo Digital - PHP DF
Empreendedorismo Digital - PHP DF
 
Como ser um designer melhor. 12 dicas.
Como ser um designer melhor. 12 dicas.Como ser um designer melhor. 12 dicas.
Como ser um designer melhor. 12 dicas.
 
Jornada da Inovacao
Jornada da InovacaoJornada da Inovacao
Jornada da Inovacao
 
Buscando Agilidade sem Rótulos
Buscando Agilidade sem RótulosBuscando Agilidade sem Rótulos
Buscando Agilidade sem Rótulos
 
Construindo produtos do zero:
 5 deslizes comuns e como evitá-los - Mundo 4D ...
Construindo produtos do zero:
 5 deslizes comuns e como evitá-los - Mundo 4D ...Construindo produtos do zero:
 5 deslizes comuns e como evitá-los - Mundo 4D ...
Construindo produtos do zero:
 5 deslizes comuns e como evitá-los - Mundo 4D ...
 
E-commerce coach: um guia para você vender na web
E-commerce coach: um guia para você vender na webE-commerce coach: um guia para você vender na web
E-commerce coach: um guia para você vender na web
 
Táticas e princípios para gerenciar produtos em startups - Agile Trends Pocket
Táticas e princípios para gerenciar produtos em startups - Agile Trends PocketTáticas e princípios para gerenciar produtos em startups - Agile Trends Pocket
Táticas e princípios para gerenciar produtos em startups - Agile Trends Pocket
 
Guia da Startup - Aceleratech ESPM
Guia da Startup - Aceleratech ESPMGuia da Startup - Aceleratech ESPM
Guia da Startup - Aceleratech ESPM
 
Gestão Ágil de Produtos com Lean Startup para times Scrum
Gestão Ágil de Produtos com Lean Startup para times ScrumGestão Ágil de Produtos com Lean Startup para times Scrum
Gestão Ágil de Produtos com Lean Startup para times Scrum
 
Oficina de Validação de Negócios FAAP
Oficina de Validação de Negócios FAAPOficina de Validação de Negócios FAAP
Oficina de Validação de Negócios FAAP
 
Cultura Lean Agile Weekend
Cultura Lean Agile WeekendCultura Lean Agile Weekend
Cultura Lean Agile Weekend
 
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...  Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
Workshop 101: Concebendo produtos de forma ágil (e divertida) - Scrum Gathe...
 
Como construímos narrativas de produto baseadas em fatos e evidências - Eduar...
Como construímos narrativas de produto baseadas em fatos e evidências - Eduar...Como construímos narrativas de produto baseadas em fatos e evidências - Eduar...
Como construímos narrativas de produto baseadas em fatos e evidências - Eduar...
 
Transformational Design Thinking - Aula 9
Transformational Design Thinking - Aula 9Transformational Design Thinking - Aula 9
Transformational Design Thinking - Aula 9
 
Talk zwift product discovery
Talk zwift product discoveryTalk zwift product discovery
Talk zwift product discovery
 
Mini-curso Scrum e Kanban WES 2015
Mini-curso Scrum e Kanban WES 2015Mini-curso Scrum e Kanban WES 2015
Mini-curso Scrum e Kanban WES 2015
 
Lean Startups
Lean StartupsLean Startups
Lean Startups
 
Aula inovação tecnológica
Aula inovação tecnológicaAula inovação tecnológica
Aula inovação tecnológica
 
8 instâncias do po
8 instâncias do po8 instâncias do po
8 instâncias do po
 

Behavior Driven Development - Para Product Owner

  • 2. Olá! Sou a Carol Alves Mais de 5 anos na área de tecnologia. Passado: Desenvolvedora Web Presente: Product Owner, campings, viagens, comunidades DevPiracicaba, Produto e Agilidade, vegetariana e animais @carol__alves @carolineaalves @caarolinealves 2
  • 3. Vida de Product Owner Planejar, Elaborar, Analisar, Conversar (MUITA), Decidir, Metrificar, Escrever (muito), ACEITAR... 3
  • 5. COMUNICAÇÃO 5 A pesquisa PMSURVEY.ORG realizada em 2014, com 400 organizações, por seções regionais do PMI (Project Management Institute) aponta que o problema mais comum em projetos está relacionado à comunicação.
  • 6. Benefícios ▸ Envolvimento dos interessados (stakeholders) ▸ Todo time alinhado com a atividade que irá ser desenvolvida ▸ Um guia contendo os critérios de aceite ▸ Documentação viva refletindo os comportamentos atuais do sistema. ▸ Menos estórias voltando 6
  • 7. "Inspecionar para prevenir defeitos é bom; inspecionar para encontrar defeitos é desperdício" 7 - Shigeo Shingo
  • 11. “ Você não quer ver o código; você deseja ver se o seu produto funciona para o usuário da maneira que você pretendia. 11
  • 14. Algumas Infos ▸ Criado em 2003 por Dan Nort ▸ Linguagem Natural ▸ Guiado pelos valores de negócios A ideia principal do BDD é possibilitar que as funcionalidades do sistema sejam escritas em linguagem natural. 14
  • 15. Gherkin TA! Mas como eu começo? 15
  • 16. Gherkin Dado (Given) O propósito do “Dado” é colocar o sistema em um estado conhecido antes que o usuário comece a interagir com o sistema. Quando (When) O Propósito do “Quando” é descrever uma ação chave que o usuário executa. Então (Then) O “Então” visa mostrar as saídas, os resultados das ações executadas, seriam basicamente os resultados esperados em casos de testes tradicionais 16
  • 17. Funcionalidade: Servir café afim de ganhar dinheiro, os clientes devem ser capazes de comprar café a todo momento. Cenário: Comprar café Dado que tenha pelo menos 1 café sobrando na máquina Quando eu pressionar o botão de café Então eu deveria ser servido de um café 17
  • 18. Cenário: Comer 5 em cada 12 Dado que tenho 12 pepinos Quando eu comer 5 pepinos Então eu devo ter 7 pepinos 18 Esquema do Cenário: Comer Dado que temos <antes> pepinos Quando eu comer <come> pepino Então teremos <depois> pepinos Exemplos: | antes | come | depois | | 12 | 5 | 7 |
  • 19. Funcionalidade: Publicar no Blog Contexto: Dado um administrador global chamado "Greg" E um blog chamado “DevPira Festival" E um cliente chamado “Renato dos Anjos" E um blog chamado “ProdAgil" de propriedade de “Renato dos Anjos“ Cenário: Renato posta em seu próprio blog Dado que eu esteja logado como Renato dos Anjos Quando eu tentar postar em " ProdAgil " Então eu devo ver "Seu artigo foi publicado." Cenário: Greg posta no blog de um cliente Dado que eu esteja logado como Greg Quando eu tentar postar em “DevPira Festival" Então eu devo ver "Seu artigo foi publicado 19
  • 20. Frameworks 20 ▸ Behave (Python) ▸ JBehave (Java) ▸ RSpec (Ruby) ▸ SpecFlow (.Net) ▸ Cucumber (Java, JavaScript, Ruby, Kotlin or Python)