Estudar, para quê? Ciência, para quê? Parte 1 e Parte 2
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team at Análise de negócios
1. Globalcode – Open4education
Trilha – Análise de Negócios
Allan Rett Ferreira
Utilizando BDD para análise de negócio e desenvolvimento de projetos
2. Globalcode – Open4education
Allan Rett Ferreira
Grad. Ciências da Computação – UNIVEM – Marília/SP
Pós Grad. Engenharia de Software e Banco e Dados – UEL – Londrina/PR
MBA em Gerenciamento de Projetos – FGV – Florianópolis/SC
Analista de Sistemas na
allan.rett@gmail.com
/in/allan-ferreira
3. Globalcode – Open4education
Agenda
Cenário Atual
O que é o BDD
Composição do BDD
Projeto Real da Softplan
Papéis no BDD
Pickles
Acompanhamento do projeto
Benefícios
Dificuldades
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, 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. Globalcode – Open4education
User Stories
User Stories são descrições simples que descrevem uma funcionalidade
Tem o objetivo de promover um dialogo, isto é, uma conversa
Todas as conversas expressam algum tipo de funcionalidade, seja de regra de negocio,
comportamento de software, requisito não funcional, etc.
• 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
• 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>
15. 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
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
17. Globalcode – Open4education
Cenários - Gherkin
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
21. Globalcode – Open4education
Projeto REAL
Projeto de aproximadamente 13 mil horas
Todo back-end do projeto foi feito utilizando o BDD
Primeiro projeto de BDD da Softplan
Prazo curto
Projeto não tinha especificação de negócio
Equipe de 8 pessoas
22. Globalcode – Open4education
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
Validação de escrita/qualidade
26. 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
27. 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
28. Globalcode – Open4education
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