Isso conta como uma história de usuário para um jogo básico de Sudoku?

8

Estou tentando criar uma história de usuário para um jogo básico de Sudoku, usando a abordagem ágil de desenvolvimento de software.

Eu entendo o conceito por trás das histórias de usuários, mas estava me perguntando se era possível obter um exemplo para aprofundar meu entendimento?

Dizendo

  • Como um ávido jogador de Sudoku, quero ter vários níveis em diferentes dificuldades.
  • Como novo jogador, quero um nível de introdução ao jogo para me ensinar o básico.

contar como uma história de usuário?

Minhal Syed
fonte

Respostas:

14

Seus exemplos podem contar como histórias de usuário, mas faltam uma parte muito importante: a meta que o usuário deseja alcançar quando a história for implementada.
Esse objetivo pode ser óbvio para você, mas você deve anotá-lo de qualquer maneira.

Uma história de usuário tem o formato

As a <user>
I want <feature>
So that <goal>

A parte do objetivo é importante, porque ajuda os desenvolvedores a tomar as decisões corretas.

Seu segundo exemplo poderia ter dois objetivos muito diferentes, que levariam a diferentes designs.

  • Como novo jogador, eu gostaria de um nível de introdução ao jogo para me ensinar o básico, para que eu possa resolver o jogo e ter uma sensação de realização
  • Como novo jogador, eu gostaria de um nível de introdução ao jogo para me ensinar o básico, para que eu possa aprender as regras do jogo.

No primeiro caso, apenas ter um nível fácil seria suficiente, mas no segundo caso você deseja orientar o usuário por que um determinado número não deve / não deve ser colocado em uma célula específica.

Bart van Ingen Schenau
fonte
1

Além do ponto positivo que Bart mencionou sobre o objetivo, gostaria de me concentrar na parte "ágil". Mesmo que você tenha histórias de usuários, elas estão lá no lado "épico" do espectro e ainda não são úteis para o desenvolvimento.

Na minha opinião, você geralmente começaria com histórias como as acima, quando inicialmente planeja um novo produto ou recurso, para ter uma boa idéia do que deseja criar e, então, começaria a quebrar esse tipo de "épico" "histórias em partes cada vez menores, até que você tenha um conjunto de histórias diretamente acionável para desenvolvimento. Em particular, ao praticar o Desenvolvimento Orientado a Testes (TDD), você gostaria de obter um nível de granularidade tal que cada história de usuário seja naturalmente traduzível para apenas alguns casos de teste (embora cada um ainda possa ser complexo).

Exemplos dessas histórias mais acionáveis ​​podem ser:

  • Como jogador, quero pedir ao jogo que gere um quadro de Sudoku solucionável para mim, para que eu possa começar a planejar minha abordagem.
  • Como jogador, quero poder preencher valores na célula, usando o mouse e fazer com que o jogo indique se o valor invalida o tabuleiro, para que eu possa experimentar rapidamente possíveis opções e voltar, se necessário.

Eu recomendaria a seguinte excelente publicação de Alex Cowan para saber mais sobre isso: Sua melhor história de usuário ágil .

yoniLavi
fonte