O documento discute o uso da técnica Behavior Driven Development (BDD) para análise de negócio e desenvolvimento de projetos. Apresenta os conceitos-chave do BDD como user stories, cenários e critérios de aceite. Relata a experiência positiva de um projeto real na Softplan que utilizou BDD, resultando em entrega com qualidade, dentro do prazo e do orçamento. Discute também benefícios, desafios e ferramentas do BDD.
TDC SP 2018 - Utilizando BDD para análise de negócio e desenvolvimento de projetos
1. Globalcode – Open4education
Trilha – Requisitos Ágeis
Allan Rett Ferreira
Utilizando BDD para análise de negócio e desenvolvimento de projetos
2. Globalcode – Open4education
Agenda
Cenário Atual
O que é o BDD
Composição do BDD
Projeto Real da Softplan
Papéis no BDD
Benefícios
Dificuldades
Ferramentas
Acompanhamento do projeto
Evolução do BDD na Softplan
9. Globalcode – Open4education
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, cliente, desenvolvedores, gestores, QAs, 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
10. Globalcode – Open4education
Composição do BDD
Funcionalidades que serão desenvolvidas
Exemplo:
Cadastrar Usuário
Emitir Relatório
Executar Integração
User Stories
Features
Critérios de Aceite
Cenários
11. Globalcode – Open4education
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 na funcionalidade
Ação/Função – É o que o ator quer fazer.
Utilizando aquela ação ele espera alcançar um
objetivo dentro do sistema
User Stories
12. Globalcode – Open4education
Critérios de Aceite
Exemplo:
Somente colaboradores que informaram o CPF podem ser cadastrados
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
US.
O objetivo dessa lista é validar se a Feature foi implementada de
acordo com o que o analista/cliente deseja.
13. Globalcode – Open4education
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
18. Globalcode – Open4education
Projeto na Softplan
Projeto de aproximadamente 13 mil horas
Todo back-end do projeto foi feito utilizando o BDD
Primeiro projeto de BDD da Softplan
Projeto estratégico para a empresa
Projeto não tinha especificação de negócio
Equipe de 8 pessoas
2 Analistas
4 DEVs
1 Testador
1 Arquiteto
19. Globalcode – Open4education
Papéis no BDD
Analista de Teste
Documentação do comportamento
Validação do comportamento
Levantamento dos cenários de teste
Validação de escrita/qualidade
Analista de Requisitos
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 Implementador
Implementa as features do BDD
Levantamento dos cenários de teste
Validação do comportamento
Validação de escrita/qualidade
21. Globalcode – Open4education
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
22. Globalcode – Open4education
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
23. Globalcode – Open4education
Dificuldades
Produtividade
Curva de aprendizado (em média 2 semanas)
Falta/Dificuldade na padronização da escrita - Gera retrabalho
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
29. Globalcode – Open4education
Evolução do BDD na Softplan
Vários cenários da API do sistema estão com BDD
Mantém a qualidade do código a cada geração de versão
User Stories e critérios de aceite descritos e planejados em ferramentas
internas
Melhora a integração de novas pessoas ao negócio e ao sistema
Investimento em novas demandas