Artefato: História de Usuário
Uma descrição resumida de alguma funcionalidade fornecida pelo sistema do ponto de vista de um usuário desse sistema.
Objetivo

Uma História de Usuário representa uma pequena parte da funcionalidade do sistema a ser construído. Não se trata de uma especificação completa de uma funcionalidade. Trata-se de uma promessa de discutir uma funcionalidade ou um lembrete de que a discussão já aconteceu.

Relacionamentos
Descrição
Descrição Principal

Uma História de Usuário é apenas um símbolo das conversas passadas e futuras entre o cliente e os programadores. A prática XP do cliente no local minimiza a necessidade de documentar extensamente cada história visto que os programadores podem simplesmente dar alguns passos e fazer suas perguntas ao cliente conforme necessário. Os detalhes das Histórias de Usuário são capturados nos testes automatizados de aceitação que são posteriormente usados para validar a implementação da história.

Poderá não ser necessário escrever descrições para todas as histórias visto que o nome de algumas irá fornecer informações suficientes.

O que indica uma boa História de Usuário?

  • O cliente deverá se preocupar com ela. A história deverá ter valor de negócio na visão do cliente, para que possa ser priorizada. Às vezes uma história precisa ser decomposta em partes menores para caber em uma iteração. Se por si só a história não fornecer valor de negócio, deverá fornece no mínimo, progresso demonstrável em direção a uma funcionalidade com valor de negócio.
  • As histórias atravessam verticalmente a arquitetura do produto. Normalmente, elas não estão focadas em um subsistema específico.
  • Casos de teste devem ser escritos para verificar se os programadores a implementaram corretamente.
  • Elas podem ser razoavelmente estimadas pelos desenvolvedores. As histórias que não puderem ser estimadas deverão ser rescritas.
  • Elas devem ser concluídas em até uma iteração. Uma história que não caiba em uma iteração deverá ser decomposta em duas ou mais histórias menores.
Adaptação
Opções de Representação

Aqui estão algumas histórias para uma aplicação típica de loja on-line:

--------------------------------------------------------------------------------
Se o cliente tiver entrado com um ID de isenção fiscal válido, não cobrar os impostos sobre vendas.

--------------------------------------------------------------------------------
Se o ID do Cliente estiver na Lista de Clientes Preferenciais, o transporte não deve ser cobrado, exceto para o serviço de Próximo Dia.

--------------------------------------------------------------------------------
Na Página de Status do Sistema, mostrar a quantidade de encomendas nas últimas 24 horas, a receita total e a lista dos dez principais itens na ordem de quantidade encomendada.

--------------------------------------------------------------------------------
Se o endereço de entrega de uma compra estiver em qualquer um dos estados da tabela em anexo, calcular, exibir e cobrar os impostos sobre vendas utilizando a percentagem correspondente.