SlideShare uma empresa Scribd logo
1 de 32
Utilizando BDD para melhorar a
comunicação e entregar valor aos clientes
Allan Rett
Ferreira
• Ciência da Computação;
• Pós Engenharia Software e Banco de dados;
• MBA Gerenciamento de Projetos;
• Analista de sistemas.
Guilherme
Azevedo Cardozo
• Ciência da Computação;
• Pós Engenharia de Software;
• MBA em Gestão de Processos de Negócios – BPM;
• MBA Gerenciamento de Projetos;
• Especialista em processos;
• Instrutor / Professor;
• Grupo de pesquisa na UFSC;
• Analista de Processos e Qualidade.
allan.rett@gmail.com
/in/allan-ferreira
guilhermecardozo@gmail.com
/in/guilherme-azevedo-cardozo
Cenário Atual
Somente eu posso fazer!
Documentação
... e no final
DINÂMICA - O MEU PRODUTO!!
1. Pegue uma folha tamanho A4.
2. Dobre o lado maior ao meio.
3. Com a folha ainda dobrada, repita o processo 2, dobrando
novamente o lado maior ao meio;
4. Corte o canto que contiver as duas dobras, medindo um
centímetro em cada lado;
5. Mantenha o formato obtido, repita o processo 3 e
novamente, o processo 4;
6. Desdobre a folha e verifique o produto acabado.
REFLEXÃO
Comunicação
Requisitos
Compreensão
Recursos
Prazos
Como é possível resolver???
O que é o BDD
• Behavior Driven Development – Desenvolvimento orientado a
comportamento
• É uma técnica de desenvolvimento ágil que estimula a COLABORAÇÃO entre os
participantes do projeto, desenvolvedores, gestores do projeto, pessoas de
qualidade, pessoas não técnicas e de negócios.
• Evolução do TDD
• Linguagem natural e unificada para cliente e time de desenvolvimento
• Foco no COMPORTAMENTO do sistema
• Documentação que vira teste e código
Composição do BDD
User Stories
Features
Critérios de Aceite
Cenários
Funcionalidades que serão desenvolvidas
Exemplo:
Cadastrar Usuário
Emitir relatório
Executar integração
Critérios de Aceite
Cenários
User Stories Descrições simples que descrevem uma funcionalidade
Promover um dialogo, uma conversa
Resultado – É o que o ator
espera que aconteça ao realizar
a ação. Também pode ser visto
como justificativa
Como um
<PAPEL>
eu
posso/gostaria/devo
<FUNÇÃO>
para/de <RESULTADO para o
NEGÓCIO>
Papel – O proprietário da User
Story. De forma simplista é o
interessado naquela
funcionalidade
Ação/Função – É o que o ator
quer fazer. Utilizando aquela
ação ele espera alcançar um
objetivo dentro do sistema
Critérios de Aceite
Cenários
Os Critérios de Aceite são representados por uma
lista de itens de negócio que expressam formas de
usar a funcionalidade implementada em uma
História.
O objetivo dessa lista é validar se a Feature foi
implementada de acordo com o que o analista / cliente
deseja.
Exemplo:
Somente colaboradores que informaram o CPF podem ser cadastrados
Cenários
Os cenários descrevem as ações que serão aferidas
e testadas. Eles devem conter passos lógicos e
simples de como obter um resultado específico a
partir de uma sequência de ações.
Dado que – São as pré-condições para
executar o cenário
Quando – O que eu quero realizar, passos do
cenário
Então – É o resultado esperado pela
execução do cenário
Dada uma condição
Quando algo
acontecer
Então o resultado será X
e nada além de X
GHERKIN
Boas práticas....
MAS, ISSO É POSSÍVEL?
Projeto REAL
Projeto de aproximadamente 13 mil horas
Todo back-end do projeto foi feito utilizando o BDD
Primeiro projeto de BDD da Softplan
Projeto não tinha especificação de negócio
Equipe de 8 pessoas
2 Analistas
4 Implementadores
1Testador
1 Arquiteto
Papéis no BDD
Analista de Negócio
Levantamento das necessidades e funcionalidades
Levantamento das regras de negócio
Escrita das User Stories
Documentação do comportamento
Validação do comportamento
Levantamento dos cenários de teste
Validação de escrita/qualidade
Analista de Teste
Documentação do comportamento
Validação do comportamento
Levantamento dos cenários de teste
Validação de escrita/qualidade
Analista
Implementador
Implementa as features do BDD
Validação do comportamento
Resultados do Projeto
Nenhum erro de negócio
Dentro do Prazo
Dentro do Custo
Entrega com Qualidade – Somente 2 erros de Front-end
Desenvolvimento técnico e de negócio da Equipe
Maior engajamento da Equipe
Benefícios
Melhor entendimento da demanda, sem dúvidas do que deve ser feito
Pequenas reuniões (feature review) para validação das features
Melhora a comunicação entre todos participantes do projeto
Definição do comportamento do sistema, por meio de exemplos reais
Para o analista de negócio é uma VALIDAÇÃO de toda a análise, pois ajuda o
analista a verificar furos de negócio e furos na sua especificação
Medição do progresso do projeto através das features implementadas
Dificuldades
Produtividade
Curva de aprendizado (em média 2 semanas)
Falta/Dificuldade na padronização da escrita - Gera retrabalho
As regras de negócio não ficam explicitas nos cenários do BDD
Difícil Rastreabilidade
Falta de ferramentas mais adequadas para escrita
ALTO custo para desenvolvimento, principalmente no front-end
NÃO substituiu a documentação “formal” do cliente
FERRAMENTAS
Pickles
http://www.picklesdoc.com/
Acompanhamento
O BDD nos
permitiu este
final!!!
SEJA UM
www.softplan.com.br
facebook.com/softplanonline
linkedin.com/softplan
@softplan
SOFTPLAYER!
Contatos:
allan.rett@gmail.com
/in/allan-ferreira
guilhermecardozo@gmail.com
/in/guilherme-azevedo-cardozo

Mais conteúdo relacionado

Mais procurados

BDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programaçãoBDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programaçãoGleica Reinert
 
Fdd em uma casca de banana
Fdd em uma casca de bananaFdd em uma casca de banana
Fdd em uma casca de bananaejedelmal
 
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especial
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especialFábrica de Software - Desenvolvimento personalizado para o seu projeto especial
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especialStrada .
 
Fdd feature driven development (slide ) do trabalho
Fdd   feature driven development (slide ) do trabalhoFdd   feature driven development (slide ) do trabalho
Fdd feature driven development (slide ) do trabalhoLemon Lopes Leite
 
Gerenciamento de projetos aula 4 (escopo)
Gerenciamento de projetos   aula 4 (escopo)Gerenciamento de projetos   aula 4 (escopo)
Gerenciamento de projetos aula 4 (escopo)Paulo Junior
 
Qualidade de Software - Introdução
Qualidade de Software - Introdução Qualidade de Software - Introdução
Qualidade de Software - Introdução Elaine Cecília Gatto
 
Feature Driven Development (FDD)
Feature Driven Development (FDD)Feature Driven Development (FDD)
Feature Driven Development (FDD)Vitor Pacheco
 
Requisitos no Processo Iterativo
Requisitos no Processo IterativoRequisitos no Processo Iterativo
Requisitos no Processo IterativoFatec
 
Introdução à Engenharia de Requisitos
Introdução à Engenharia de RequisitosIntrodução à Engenharia de Requisitos
Introdução à Engenharia de RequisitosOrlando Junior
 
TDC2016SP - Trilha Análise de Negócios
TDC2016SP - Trilha Análise de NegóciosTDC2016SP - Trilha Análise de Negócios
TDC2016SP - Trilha Análise de Negóciostdc-globalcode
 

Mais procurados (20)

FDD
FDDFDD
FDD
 
BDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programaçãoBDD - Integrando regras de negócio e programação
BDD - Integrando regras de negócio e programação
 
Por que contratar projetos ágeis?
Por que contratar projetos ágeis?Por que contratar projetos ágeis?
Por que contratar projetos ágeis?
 
Apresentação fdd
Apresentação fddApresentação fdd
Apresentação fdd
 
Fdd em uma casca de banana
Fdd em uma casca de bananaFdd em uma casca de banana
Fdd em uma casca de banana
 
Framework Scrum
Framework ScrumFramework Scrum
Framework Scrum
 
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especial
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especialFábrica de Software - Desenvolvimento personalizado para o seu projeto especial
Fábrica de Software - Desenvolvimento personalizado para o seu projeto especial
 
Fdd
FddFdd
Fdd
 
Slide cap 5
Slide cap 5Slide cap 5
Slide cap 5
 
Fdd feature driven development (slide ) do trabalho
Fdd   feature driven development (slide ) do trabalhoFdd   feature driven development (slide ) do trabalho
Fdd feature driven development (slide ) do trabalho
 
Gerenciamento de projetos aula 4 (escopo)
Gerenciamento de projetos   aula 4 (escopo)Gerenciamento de projetos   aula 4 (escopo)
Gerenciamento de projetos aula 4 (escopo)
 
Qualidade de Software - Introdução
Qualidade de Software - Introdução Qualidade de Software - Introdução
Qualidade de Software - Introdução
 
FDD
FDDFDD
FDD
 
Feature Driven Development (FDD)
Feature Driven Development (FDD)Feature Driven Development (FDD)
Feature Driven Development (FDD)
 
Requisitos no Processo Iterativo
Requisitos no Processo IterativoRequisitos no Processo Iterativo
Requisitos no Processo Iterativo
 
Aula Gestão de Projetos
Aula Gestão de ProjetosAula Gestão de Projetos
Aula Gestão de Projetos
 
Processo e Processo de Software
Processo e Processo de SoftwareProcesso e Processo de Software
Processo e Processo de Software
 
Introdução à Engenharia de Requisitos
Introdução à Engenharia de RequisitosIntrodução à Engenharia de Requisitos
Introdução à Engenharia de Requisitos
 
Feature Driven Development - FDD
Feature Driven Development - FDDFeature Driven Development - FDD
Feature Driven Development - FDD
 
TDC2016SP - Trilha Análise de Negócios
TDC2016SP - Trilha Análise de NegóciosTDC2016SP - Trilha Análise de Negócios
TDC2016SP - Trilha Análise de Negócios
 

Semelhante a BDD para melhorar comunicação e entregar valor

TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...
TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...
TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...tdc-globalcode
 
Bpm gestao de processos empresariais apresentação executiva - 20101215-semcase
Bpm gestao de processos empresariais   apresentação executiva - 20101215-semcaseBpm gestao de processos empresariais   apresentação executiva - 20101215-semcase
Bpm gestao de processos empresariais apresentação executiva - 20101215-semcasePATH ITTS - DATA GOVERNANCE INNOVATION
 
Gestão da qualidade e produtividade
Gestão da qualidade e produtividadeGestão da qualidade e produtividade
Gestão da qualidade e produtividadeBruno Teixeira
 
BPM: Conceitos de Gestão de Processos de Negócios
BPM: Conceitos de Gestão de Processos de NegóciosBPM: Conceitos de Gestão de Processos de Negócios
BPM: Conceitos de Gestão de Processos de NegóciosSergio Sorrentino Moraes
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Fernando Vargas
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosJosé Claudemir Pacheco Júnior
 
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...Fabiano Milani
 
0117 modelado de_procesos_según_el_bpm_cbok_de_abpmp_international
0117 modelado de_procesos_según_el_bpm_cbok_de_abpmp_international0117 modelado de_procesos_según_el_bpm_cbok_de_abpmp_international
0117 modelado de_procesos_según_el_bpm_cbok_de_abpmp_internationalGeneXus
 
Funcionalidades de uma Solução de BPA [Webinares iProcess 2015]
Funcionalidades de uma Solução de BPA [Webinares iProcess 2015]Funcionalidades de uma Solução de BPA [Webinares iProcess 2015]
Funcionalidades de uma Solução de BPA [Webinares iProcess 2015]iProcess Soluções em BPM e RPA
 
14987568107 coisas-software-gestao-projetos
14987568107 coisas-software-gestao-projetos14987568107 coisas-software-gestao-projetos
14987568107 coisas-software-gestao-projetosMagnolia Barbosa
 
Introdução ao BPM - André Venâncio
Introdução ao BPM - André VenâncioIntrodução ao BPM - André Venâncio
Introdução ao BPM - André VenâncioAndré Venâncio
 

Semelhante a BDD para melhorar comunicação e entregar valor (20)

TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...
TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...
TDC2017 | Florianópolis - Trilha Analise de Negocios Utilizando BDD para anal...
 
Bpm gestao de processos empresariais apresentação executiva - 20101215-semcase
Bpm gestao de processos empresariais   apresentação executiva - 20101215-semcaseBpm gestao de processos empresariais   apresentação executiva - 20101215-semcase
Bpm gestao de processos empresariais apresentação executiva - 20101215-semcase
 
Revista bpm global-trends -6 edicao
Revista bpm global-trends -6 edicaoRevista bpm global-trends -6 edicao
Revista bpm global-trends -6 edicao
 
Gestão da qualidade e produtividade
Gestão da qualidade e produtividadeGestão da qualidade e produtividade
Gestão da qualidade e produtividade
 
BPM: Conceitos de Gestão de Processos de Negócios
BPM: Conceitos de Gestão de Processos de NegóciosBPM: Conceitos de Gestão de Processos de Negócios
BPM: Conceitos de Gestão de Processos de Negócios
 
Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2Apresentação estrela vs cmmi nivel 2
Apresentação estrela vs cmmi nivel 2
 
SA-Performance Manager
SA-Performance ManagerSA-Performance Manager
SA-Performance Manager
 
Métricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetosMétricas de software: modelos de contratação e planejamento de projetos
Métricas de software: modelos de contratação e planejamento de projetos
 
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...
EDTED Aprenda, ensine e melhores os resultados com seus clientes. Requisito d...
 
0117 modelado de_procesos_según_el_bpm_cbok_de_abpmp_international
0117 modelado de_procesos_según_el_bpm_cbok_de_abpmp_international0117 modelado de_procesos_según_el_bpm_cbok_de_abpmp_international
0117 modelado de_procesos_según_el_bpm_cbok_de_abpmp_international
 
O Modelo mps.Br
O Modelo mps.BrO Modelo mps.Br
O Modelo mps.Br
 
Funcionalidades de uma Solução de BPA [Webinares iProcess 2015]
Funcionalidades de uma Solução de BPA [Webinares iProcess 2015]Funcionalidades de uma Solução de BPA [Webinares iProcess 2015]
Funcionalidades de uma Solução de BPA [Webinares iProcess 2015]
 
09.bpm (1)
09.bpm (1)09.bpm (1)
09.bpm (1)
 
14987568107 coisas-software-gestao-projetos
14987568107 coisas-software-gestao-projetos14987568107 coisas-software-gestao-projetos
14987568107 coisas-software-gestao-projetos
 
Modelagem de processos
Modelagem de processosModelagem de processos
Modelagem de processos
 
Introdução ao BPM - André Venâncio
Introdução ao BPM - André VenâncioIntrodução ao BPM - André Venâncio
Introdução ao BPM - André Venâncio
 
GT5 - CMMI
GT5 - CMMIGT5 - CMMI
GT5 - CMMI
 
SA-Occurrence Manager
SA-Occurrence ManagerSA-Occurrence Manager
SA-Occurrence Manager
 
APSI2
APSI2APSI2
APSI2
 
Bpm Novo Paradigma
Bpm   Novo ParadigmaBpm   Novo Paradigma
Bpm Novo Paradigma
 

BDD para melhorar comunicação e entregar valor

  • 1. Utilizando BDD para melhorar a comunicação e entregar valor aos clientes
  • 2. Allan Rett Ferreira • Ciência da Computação; • Pós Engenharia Software e Banco de dados; • MBA Gerenciamento de Projetos; • Analista de sistemas. Guilherme Azevedo Cardozo • Ciência da Computação; • Pós Engenharia de Software; • MBA em Gestão de Processos de Negócios – BPM; • MBA Gerenciamento de Projetos; • Especialista em processos; • Instrutor / Professor; • Grupo de pesquisa na UFSC; • Analista de Processos e Qualidade. allan.rett@gmail.com /in/allan-ferreira guilhermecardozo@gmail.com /in/guilherme-azevedo-cardozo
  • 6.
  • 7. ... e no final
  • 8.
  • 9. DINÂMICA - O MEU PRODUTO!! 1. Pegue uma folha tamanho A4. 2. Dobre o lado maior ao meio. 3. Com a folha ainda dobrada, repita o processo 2, dobrando novamente o lado maior ao meio; 4. Corte o canto que contiver as duas dobras, medindo um centímetro em cada lado; 5. Mantenha o formato obtido, repita o processo 3 e novamente, o processo 4; 6. Desdobre a folha e verifique o produto acabado.
  • 11. Como é possível resolver???
  • 12. O que é o BDD • Behavior Driven Development – Desenvolvimento orientado a comportamento • É uma técnica de desenvolvimento ágil que estimula a COLABORAÇÃO entre os participantes do projeto, desenvolvedores, gestores do projeto, pessoas de qualidade, pessoas não técnicas e de negócios. • Evolução do TDD • Linguagem natural e unificada para cliente e time de desenvolvimento • Foco no COMPORTAMENTO do sistema • Documentação que vira teste e código
  • 13. Composição do BDD User Stories Features Critérios de Aceite Cenários Funcionalidades que serão desenvolvidas Exemplo: Cadastrar Usuário Emitir relatório Executar integração
  • 14. Critérios de Aceite Cenários User Stories Descrições simples que descrevem uma funcionalidade Promover um dialogo, uma conversa Resultado – É o que o ator espera que aconteça ao realizar a ação. Também pode ser visto como justificativa Como um <PAPEL> eu posso/gostaria/devo <FUNÇÃO> para/de <RESULTADO para o NEGÓCIO> Papel – O proprietário da User Story. De forma simplista é o interessado naquela funcionalidade Ação/Função – É o que o ator quer fazer. Utilizando aquela ação ele espera alcançar um objetivo dentro do sistema
  • 15. Critérios de Aceite Cenários Os Critérios de Aceite são representados por uma lista de itens de negócio que expressam formas de usar a funcionalidade implementada em uma História. O objetivo dessa lista é validar se a Feature foi implementada de acordo com o que o analista / cliente deseja. Exemplo: Somente colaboradores que informaram o CPF podem ser cadastrados
  • 16. Cenários Os cenários descrevem as ações que serão aferidas e testadas. Eles devem conter passos lógicos e simples de como obter um resultado específico a partir de uma sequência de ações. Dado que – São as pré-condições para executar o cenário Quando – O que eu quero realizar, passos do cenário Então – É o resultado esperado pela execução do cenário
  • 17. Dada uma condição Quando algo acontecer Então o resultado será X e nada além de X GHERKIN
  • 18.
  • 20. MAS, ISSO É POSSÍVEL?
  • 21. Projeto REAL Projeto de aproximadamente 13 mil horas Todo back-end do projeto foi feito utilizando o BDD Primeiro projeto de BDD da Softplan Projeto não tinha especificação de negócio Equipe de 8 pessoas 2 Analistas 4 Implementadores 1Testador 1 Arquiteto
  • 22. Papéis no BDD Analista de Negócio Levantamento das necessidades e funcionalidades Levantamento das regras de negócio Escrita das User Stories Documentação do comportamento Validação do comportamento Levantamento dos cenários de teste Validação de escrita/qualidade Analista de Teste Documentação do comportamento Validação do comportamento Levantamento dos cenários de teste Validação de escrita/qualidade Analista Implementador Implementa as features do BDD Validação do comportamento
  • 23.
  • 24. Resultados do Projeto Nenhum erro de negócio Dentro do Prazo Dentro do Custo Entrega com Qualidade – Somente 2 erros de Front-end Desenvolvimento técnico e de negócio da Equipe Maior engajamento da Equipe
  • 25. Benefícios Melhor entendimento da demanda, sem dúvidas do que deve ser feito Pequenas reuniões (feature review) para validação das features Melhora a comunicação entre todos participantes do projeto Definição do comportamento do sistema, por meio de exemplos reais Para o analista de negócio é uma VALIDAÇÃO de toda a análise, pois ajuda o analista a verificar furos de negócio e furos na sua especificação Medição do progresso do projeto através das features implementadas
  • 26. Dificuldades Produtividade Curva de aprendizado (em média 2 semanas) Falta/Dificuldade na padronização da escrita - Gera retrabalho As regras de negócio não ficam explicitas nos cenários do BDD Difícil Rastreabilidade Falta de ferramentas mais adequadas para escrita ALTO custo para desenvolvimento, principalmente no front-end NÃO substituiu a documentação “formal” do cliente
  • 30. O BDD nos permitiu este final!!!

Notas do Editor

  1. Guilherme
  2. Nós
  3. Guilherme Reuniões para levantamento de requisitos, necessidades...
  4. Guilherme Analista quer fazer um documento, trabalho ideal (de Super Homem)
  5. Guilherme Gera documentação gigantesca, ngm lê.
  6. Guilherme E no final, entrega uma documentação grande ao cliente... Cliente não vai ler.. Stress.
  7. Guilherme Produto diferente ao que ele realmente queria...
  8. Guilherme Frustração para nada...
  9. Nós
  10. Nós
  11. Guilherme
  12. Allan
  13. Allan
  14. Guilherme Foco no valor. Negócio é valor. Então, user stories é essencial para isso. Boa conversa..
  15. Allan
  16. Guilherme GHERKIN
  17. Nós
  18. Allan
  19. Allan
  20. Allan
  21. Allan
  22. Allan
  23. Allan
  24. Allan
  25. Allan
  26. Nós
  27. Nós Layout dos cenários. Mais amigável. Pesquisa dos cenários
  28. Nós GP ou quem acompanha – Diversas ferramentas que geram relatórios de acompanhamento – Ex. Jenkis.
  29. Allan
  30. Guilherme
  31. Nós