Skip to content

Instantly share code, notes, and snippets.

@renatoapcosta
Last active May 28, 2024 23:22
Show Gist options
  • Save renatoapcosta/7a4f82810441e89cc4a7974cd9e2835a to your computer and use it in GitHub Desktop.
Save renatoapcosta/7a4f82810441e89cc4a7974cd9e2835a to your computer and use it in GitHub Desktop.
História de Usuário

História de Usuário

Estrutura Básica de uma História de Usuário

Uma história de usuário geralmente segue o formato:

Como [tipo de usuário], eu quero [realizar uma ação] para que [benefício desejado].

Exemplo

Como usuário autenticado, eu quero visualizar meu histórico de compras para que eu possa acompanhar meus pedidos anteriores.

Lista do que considerar ao criar uma história de usuário

1.Título:

  • Dê um título claro e conciso que resuma a história.

2.Descrição:

  • Utilize o formato “Como [tipo de usuário], eu quero [realizar uma ação] para que [benefício desejado].”

3.Critérios de Aceitação:

  • Liste os critérios que devem ser atendidos para que a história seja considerada completa. Use a técnica Given-When-Then (Dado-Quando-Então).

4.Definição de Pronto:

  • Defina o que significa a história estar "pronta". Isso pode incluir requisitos de código, testes, documentação, etc.

5.Prioridade:

  • Defina a prioridade da história com base no impacto e valor para o usuário ou negócio.

6.Estimativa:

  • Estime o esforço necessário para completar a história (pontos de história, horas, etc.).

7.Tarefas:

  • Divida a história em tarefas menores que precisam ser realizadas.

8.Anexos/Referências:

  • Inclua qualquer documentação, designs, wireframes, ou links relevantes que ajudem a esclarecer a história.

9.Dependências:

  • Identifique qualquer dependência que possa afetar a implementação da história.

10.Notas Adicionais:

  • Adicione qualquer informação adicional que possa ser relevante para a história.

Exemplo Completo

Título:

Visualizar Histórico de Compras

Descrição:

Como usuário autenticado, eu quero visualizar meu histórico de compras para que eu possa acompanhar meus pedidos anteriores.

Critérios de Aceitação:

* Dado que sou um usuário autenticado,
* Quando eu acesso a seção de "Histórico de Compras",
* Então eu vejo uma lista de todas as minhas compras anteriores com detalhes como data, itens, e valor total.

Definição de Pronto:

* Código implementado e revisado
* Testes unitários e de integração completos
* Documentação atualizada
* Aprovação pelo PO

Prioridade:

Alta

Estimativa:

5 pontos de história

Tarefas:

1)Criar a interface da seção "Histórico de Compras".
2)Desenvolver a lógica para buscar os dados de compras do usuário.
3)Implementar a exibição dos dados na interface.
4)Testar a funcionalidade.
5)Atualizar a documentação.

Anexos/Referências:

* Wireframes do histórico de compras
* Documento de especificações da API

Dependências:

* Endpoint da API de histórico de compras deve estar disponível

Notas Adicionais:

* Considerar paginação para listas longas de compras.

Critérios para Pontuar Histórias de Usuário

1.Complexidade:

Avalie a complexidade técnica da história. Histórias que envolvem tecnologias novas ou desconhecidas, algoritmos complexos ou integrações difíceis devem receber mais pontos.

2.Tamanho/Volume de Trabalho:

Considere a quantidade de trabalho envolvida. Histórias que exigem a criação de muitas funcionalidades, alteração de muitos arquivos ou escrita de muitos testes tendem a ter uma pontuação mais alta.

3.Incerteza/Risco:

Avalie a incerteza associada à história. Histórias com requisitos vagos ou desconhecidos, ou que envolvem risco técnico significativo, devem ter uma pontuação mais alta.

4.Dependências:

Considere as dependências que podem afetar a implementação. Histórias que dependem de outras funcionalidades ou de equipes externas podem ter mais incertezas e, portanto, uma pontuação maior.

5.Conhecimento e Experiência da Equipe:

Leve em conta o nível de conhecimento e experiência da equipe em relação às tecnologias e ao domínio da história. Histórias que envolvem áreas onde a equipe tem pouca experiência podem ser pontuadas mais alto.

Passos para Estimar Pontos de História

1.Discussão da História:

A equipe deve discutir cada história para garantir que todos entendam os requisitos e o contexto.

Avaliação de Critérios:

Use os critérios acima (complexidade, tamanho, incerteza, dependências e conhecimento da equipe) para avaliar cada história.

Comparação Relativa:

Compare a história atual com outras histórias já pontuadas para garantir uma escala de pontos consistente. Use histórias de referência como benchmarks.

Técnicas de Estimativa:

Use técnicas como Planning Poker ou T-Shirt Sizing para facilitar a discussão e chegar a um consenso sobre os pontos de história.

Exemplo de Escala de Pontuação

Uma escala comum é a de Fibonacci (1, 2, 3, 5, 8, 13, ...), que reflete a incerteza crescente com o aumento do tamanho:

  • 1 ponto: Muito simples, praticamente sem complexidade ou incerteza (e.g., ajuste de texto).
  • 2 pontos: Simples, pouca complexidade, trabalho conhecido (e.g., adicionar um botão).
  • 3 pontos: Moderado, alguma complexidade ou pequenas incertezas (e.g., criar uma página com formulário).
  • 5 pontos: Considerável, complexidade técnica média, algumas incertezas (e.g., integração com API externa).
  • 8 pontos: Complexo, alta complexidade técnica ou muitas incertezas (e.g., refatoração significativa do código).
  • 13 pontos ou mais: Muito complexo, grande incerteza, requer subdivisão (e.g., desenvolvimento de um novo módulo completo).

Exemplo de Pontuação

História: "Usuário pode redefinir a senha através de um link enviado por email."

  • Complexidade: Média (envolve envio de email, geração de tokens seguros).
  • Tamanho/Volume de Trabalho: Moderado (criação de formulários, endpoints, emails).
  • Incerteza/Risco: Média (precisa garantir segurança, pode haver dependências externas).
  • Dependências: Serviço de email deve estar configurado.
  • Conhecimento da Equipe: Bom (a equipe já trabalhou com funcionalidades semelhantes).

Pontuação Estimada: 5 pontos

Resumo Para pontuar as histórias de usuário, considere a complexidade, o volume de trabalho, a incerteza, as dependências e o conhecimento da equipe. Utilize uma escala como Fibonacci e técnicas de estimativa colaborativa para chegar a um consenso que reflete o esforço relativo necessário para completar cada história.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment