No desenvolvimento de software e gerenciamento de produtos, uma User Story é uma descrição informal e em linguagem natural de um ou mais recursos de um sistema de software. É uma ferramenta usada no desenvolvimento ágil de software para capturar uma descrição de um recurso de software da perspectiva do usuário final.
Uma User Story descreve o tipo de usuário (Persona), o que eles querem e por quê. Ajuda a criar uma descrição simplificada de um requisito. São frequentemente registradas em cartões de índice, post-it ou em software de gerenciamento de projetos. Dependendo do projeto, podem ser escritas por várias partes interessadas, como clientes, usuários, gerentes ou membros da equipe de desenvolvimento.
Qual sua origem?
- A sua primeira menção foi no livro de Kent Beck “Extreme Programming Explained”. O texto não estruturado era bastante semelhante aos casos de uso com restrição de tamanho.
- Ron Jeffries introduziu os conceitos dos 3C’s: cartão, conversa, confirmação em 2001
- 2003: a lista de verificação do INVEST para avaliar rapidamente as histórias de usuários se origina em um artigo escrito por Bill Wake, que também reformulou o acrônimo SMART (Específico, Mensurável, Alcançável, Relevante, com Prazo) para tarefas resultantes da decomposição técnica de histórias de usuários.
- 2004: a sigla INVEST está entre as técnicas recomendadas nas “User Stories aplicadas” de Mike Cohn.
Quais ganhos eu terei?
Os requisitos sempre mudam à medida que equipes e clientes aprendem mais sobre o sistema e também à medida que o projeto avança. Não é exatamente realista esperar que as equipes de projeto trabalhem com uma lista de requisitos estáticos e depois entreguem software funcional meses depois.
Com a abordagem da User Story, substituímos o design inicial grande por uma abordagem “apenas o suficiente”. As histórias de usuários reduzem o tempo gasto na elaboração de documentação exaustiva, enfatizando as conversas centradas no cliente.
Consequentemente, as User Stories permitem que as equipes entreguem software de qualidade mais rapidamente, o que os clientes preferem. Existem alguns benefícios em adotar a abordagem da história do usuário no desenvolvimento ágil, como:
- O formato simples e consistente economiza tempo ao capturar e priorizar requisitos, permanecendo versátil o suficiente para ser usado em recursos grandes e pequenos.
- Mantenha-se expressando o valor comercial entregando um produto que o cliente realmente precisa
- Evite introduzir detalhes cedo demais, para impedir opções de design e bloquear inadequadamente os desenvolvedores em uma solução.
- Evite a aparência de falsa integridade e clareza
- Obtenha pequenos pedaços que convidam a negociação e movimento na lista de pendências
- Deixe as funções técnicas para o arquiteto, desenvolvedores, testadores e assim por diante
Conceitos básicos de uma User Story
Uma User Story é um método leve para capturar rapidamente o “quem”, “o quê” e o “porquê” de um requisito de produto. Em termos simples, são idéias declaradas de requisitos que expressam o que os usuários precisam. As User Stories são breves, com cada elemento geralmente contendo menos de 10 ou 15 palavras cada.
As User Stories são listas de “tarefas pendentes” que ajudam a determinar as etapas no caminho do projeto. Eles ajudam a garantir que seu processo, assim como o produto resultante, atenda aos seus requisitos. Ela é definida de forma incremental, em três estágios:
- A breve descrição da necessidade
- As conversas que ocorrem durante a preparação da lista de pendências e o planejamento da iteração para solidificar os detalhes
- Os testes que confirmam a conclusão satisfatória da história
E estes, no entanto, são conhecidos como os 3C’s – Cartão, Conversa e Confirmação.