Por quê aplicar BDD?

Behavior Driven Development, ou simplesmente BDD, é uma metodologia para desenvolvimento de produtos que foi criada como técnica para atender às demandas que o TDD não conseguiu suprir. Ela surgiu como proposta ao contexto da codificação de software. A diferença entre as duas técnicas, TDD e BDD, foi explicada aqui: diferenca-entre-tdd-e-bdd/

Hoje, enxergo o BDD como prática colaborativa, porque sua aplicação efetiva é proveniente da interação entre pessoas, com propósito na melhoria da comunicação entre elas. Ou seja, esta é uma ferramenta que não está mais restrita ao âmbito técnico da construção do produto, porque passa por diversas camadas anteriores ao seu desenvolvimento: entendimento das necessidades do cliente e domínio de negócio por toda a equipe desenvolvedora do produto.

Benefícios

O BDD é uma ferramenta que detalha a camada do negócio e chega à área técnica para a correta implementação de comportamentos do produto. Isso porque ela:

  • Facilita o entendimento do negócio;
  • Descreve o resultado esperado pelo cliente;
  • Promove a discussão do negócio;
  • Delimita escopo do produto;
  • Previne a ocorrência de falhas no produto.

Todos os benefícios listados acima contam com esta origem: especificação por exemplos, ferramenta que deve participar nas conversas com o cliente. Assim, quando em sua aplicação, o negócio passa a ser especificado em formato de pequenos exemplos de uso: cenários, contando com critérios de aceite bem definidos: comportamento do produto, o cliente tem sua visão entendida e detalhada para a equipe técnica que irá construir seu produto. E isso resulta em qualidade na entrega do produto, já que ele contará com as funcionalidades desejadas por quem o solicitou.

Como aplicar?

O aumento no domínio do negócio do cliente pela equipe técnica é o ponto a ser alcançado com a aplicação da prática de BDD. Com isso, a melhoria na comunicação entre os colaborados de uma equipe, incluindo seu(s) cliente(s), é um fator decisivo para alcançar êxito em sua implantação.

Uma forma bem simples e prática que ajuda na incorporar BDD como técnica de ATDD é pelo uso da sintaxe Gherkin e na especificações de negócio. Ela inclusive contribuiu bastante para a difusão desta prática no mercado do desenvolvimento de software. O uso desta sintaxe permite que pessoas não técnicas ao negócio consigam descrever requisitos do cliente para a parte técnica da equipe em uma linguagem natural a ambos.

Eu apresentei uma proposta de fomento desta cultura, sendo iniciada  pela escritas de cenários de ATDD pelos QAs em um time que estava passando pela transição da metodologia de desenvolvimento tradicional para a metodologia ágil: BDD com SpecFlow.

 

 

Mas você pode encontrar suporte à implementação desta prática pelo uso de plugins Gherkin dentro de ferramentas de gerência de tarefas, como o Jira: Behave; ou em ferramentas de interface BDD ao código-fonte como o: Cucumber.

 

https://gojko.net/books/specification-by-example/

http://docs.behat.org/en/v2.5/guides/1.gherkin.html

https://www.slideshare.net/lorenacaldas359/bdd-com-specflow-79893693

https://marketplace.atlassian.com/apps/1211664/behave-pro-for-bdd-jira-git-cucumber?hosting=cloud&tab=overview

https://cucumber.io/

https://medium.com/@sherryhsu/specification-by-examples-27b16be0c682

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s