User stories
MATA62 - Engenharia de Software I
Universidade Federal da Bahia
Prof. Rodrigo Rocha
2016.1
User stories
(histórias do usuário)
- Usadas em métodos ágeis
- Cada história descreve sucintamente algo que o usuário precisa fazer para atingir seus objetivos através de um sistema de software
- Similar ao conceito de requisitos
Exemplos
(site de empregos)
- Um usuário pode postar seu currículo no site
- Um usuário pode buscar vagas de emprego
- Uma companhia pode postar vagas de emprego
Contra-exemplos
(site de empregos)
- O software será escrito em Java
- O programa usará um pool de conexões ao banco de dados
Detalhamento
- "Um usuário pode buscar vagas de emprego"
- Histórias muito grandes são chamadas de épicos.
- Ao serem priorizadas, as histórias podem ser subdividas em histórias menores. Ex.:
- O usuário pode buscar vagas por localidade, faixa salarial, companhia e data da vaga
- O usuário pode ver informações sobre cada vaga do resultado da busca
História do usuário =
Card
Conversa
Confirmação
Cards
- Histórias são comumente escritas em cartões ou post-its
Template comum
- Como um <papel>,
- eu quero <objetivo>
- para que <benefício>
foco no valor para o usuário!
Card
- Idealmente é escrito pelo usuário (ou pelo menos pelo PO)
- Pode ter um título ou um número para fazermos referência a ele
- Pode ter anotações adicionais
- Equipe estima tempo de desenvolvimento de um card que foi priorizado
Conversa
- O card não é a história completa!
- O card serve para se lembrar da história
- A história é enriquecida quando o usuário e a equipe de desenvolvimento conversam sobre ela
- Normalmente ocorre quando uma história é planejada para a próxima sprint
Problema com requisitos
- Cliente explica de um jeito
- Analista entende de outro, escreve requisitos
- Desenvolvedor lê requisitos e entende de outro jeito
Confirmação
- No verso do card, escrevem-se critérios de aceitação
- Quando a história é planejada para a próxima sprint
- Exemplo:
Como usuário,
eu quero buscar ofertas de emprego
para que eu possa me encontrar um bom emprego pra mim
- A busca deve retornar em menos de 2 segundos
- O usuário deve informar uma localidade
I.N.V.E.S.T
Boas histórias devem ser
- Independentes
- Negociáveis
- Valiosas
- Estimáveis
- Sucintas
- Testáveis
Story Mapping
- Recomenda-se escrever todas as histórias de um sistema antes de começar seu desenvolvimento
- Obviamente, sem muitos detalhes
- Como organizar essas histórias para não perder a visão geral do que se quer construir?
- Histórias são agrupadas em tarefas e estas em atividades
- Atividades e tarefas formam a espinha dorsal do mapa de histórias, que consiste de uma narrativa de uso do sistema
horizontal slicing (fatiamento)
atividades
tarefas
histórias
Atividade: criar histórias para sistema de eventos
- Equipes desenvolvendo produtos concorrentes
- Participantes:
- 1+ organizador de eventos
- 1+ participante de eventos
- 1 product owner
- 1+ desenvolvedor
- Site:
- StoriesOnBoard.com (trial 30 dias grátis)
- Dinâmica:
- (5 min) Formar equipes
- (3 min) Criar conta no site
- (20 min) Criar user story map
- (15 min) Horizontal slicing. Detalhar se necessário e adicionar critérios de aceitação.
- (10 min) Apresentar
User stories
By Rodrigo Rocha Gomes e Souza
User stories
- 931