Sei sulla pagina 1di 34

Trilha – Requisitos Ágeis

Utilizando BDD para análise de negócio e desenvolvimento de projetos

Allan Rett Ferreira

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
Globalcode – Open4education
Cenário Atual

Globalcode – Open4education
Somente eu posso fazer!

Globalcode – Open4education
Documentação

Globalcode – Open4education
Valida ai!

Globalcode – Open4education
e no final...

Globalcode – Open4education
Como é possível resolver?

BDD
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 Globalcode – Open4education


Composição do BDD
Features Funcionalidades que serão desenvolvidas

Exemplo:
User Stories
Cadastrar Usuário
Emitir Relatório
Critérios de Aceite Executar Integração

Cenários
Globalcode – Open4education
User Stories

Descrições simples que descrevem uma funcionalidade


Promover um dialogo, uma conversa
Como um Papel – O proprietário da User Story. De forma
simplista é o interessado na funcionalidade
<PAPEL>
Ação/Função – É o que o ator quer fazer.
eu Utilizando aquela ação ele espera alcançar um
posso/gostaria/devo objetivo dentro do sistema

<FUNÇÃO>
Resultado – É o que o ator espera que
para/de aconteça ao realizar a ação. Também pode
<RESULTADO para o ser visto como justificativa
NEGÓCIO>
Globalcode – Open4education
Critérios de Aceite

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.

Exemplo:
Somente colaboradores que informaram o CPF podem ser cadastrados

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

Globalcode – Open4education
GHERKIN

Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
Mas isso funciona???

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
Globalcode – Open4education
Papéis no BDD
Analista de Requisitos
Levantamento das necessidades e Analista de Teste
funcionalidades Documentação do comportamento
Levantamento das regras de negócio Validação do comportamento
Escrita das User Stories Levantamento dos cenários de teste
Documentação do comportamento Validação de escrita/qualidade
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
Globalcode – Open4education
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


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

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 Globalcode – Open4education


FERRAMENTAS

Globalcode – Open4education
Pickles

http://www.picklesdoc.com/

Globalcode – Open4education
Globalcode – Open4education
Acompanhamento

Globalcode – Open4education
O BDD nos
permitiu este
final!!!

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


Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
Globalcode – Open4education
SEJA UM
SOFTPLAYER!
www.softplan.com.br

facebook.com/softplanonline

linkedin.com/softplan

@softplan

Globalcode – Open4education
Obrigado!
Contatos: allan.rett@gmail.com
/in/allan-ferreira

allanrett
Globalcode – Open4education

Potrebbero piacerti anche