Como escrever boas histórias de usuário (User Stories)

Olá,

Hoje eu quis vir falar de um assunto simples, mas que às vezes nos confundimos um pouco na hora de escrever que são as famosas User Stories ou histórias de usuário.

 

Hahaha, para que nossas histórias não sejam tão abrangentes como a da tirinha acima, pensei em compartilhar um pouco da minha experiência.

Nos projetos que desenvolvemos na Vértice, faço as histórias de usuário pensando sempre em 3 perguntinhas que me ajudam muito: Quem? O quê? Por quê?

  • Quem? — Essa pergunta vai indicar o autor da ação;
  • O quê? — Indica a funcionalidade desejada;
  • Por quê? — Indica o valor agregado pela funcionalidade;

Para utilizar as perguntas na prática, vamos pensar que estamos construindo um sistema para uma loja de produtos eletrônicos.
No sistema, irão existir dois tipos de usuários: administradores e vendedores.
Algumas das histórias que eu preciso para este sistema, por exemplo, usando as minhas três perguntas são as seguintes:

  • Como VENDEDOR, preciso poder consultar o preço de um produto para que eu possa informar ao cliente;
  • Como VENDEDOR, devo selecionar uma forma de pagamento para que eu possa prosseguir com uma venda;
  • Como ADMINISTRADOR, preciso ter acesso a um relatório de vendas para saber quanto recebi em determinado período;

É importante perceber que cada história está entregando um valor ao produto, uma nova funcionalidade.
Uma boa história de usuário deve poder ser compreendida por qualquer pessoa, sem termos técnicos, sem definição de como o desenvolvedor irá construir aquela funcionalidade, ou detalhes sobre a tela.

Estas outras informações necessárias para a construção e funcionamento desejado do sistema, como restrições de acesso, mensagens de sucesso, erros etc, poderão ser descritas nos critérios de aceite.
Os critérios de aceite não precisam ser escritos com termos técnicos ou muito rebuscados. Não possuem nenhuma regra de escrita, mas sempre é importante pensar e se colocar como uma pessoa de fora do projeto, considerar que nada é óbvio. É melhor pecar pelo excesso de informação do que pela falta dela.
Os critérios de aceite devem indicar condições, restrições e as regras de negócio do projeto.
Para exemplificar, vou utilizar a última história que eu escrevi:

“Como ADMINISTRADOR, preciso ter acesso a um relatório de vendas para saber quanto recebi em determinado período”

Critérios de aceite:

  • Vendedores não poderão ter acesso ao relatório;
  • Os relatórios devem ter a opção de imprimir;
  • Os relatórios devem ter a opção de exportar para Excel;
  • Deverá ter filtro por data, para que o administrador possa definir o período desejado;

Eu poderia indicar também nos critérios de aceite quais os dados que eu desejo visualizar no relatório, quantas linhas ele deve exibir na tela, que tipos de ordenação eu desejo entre outras coisas.
Os critérios de aceite vão ajudar a confirmar a implementação da funcionalidade desejada.

É isso, espero que esse post auxilie você no seu próximo projeto!
Beijo! Até o próximo post!