Criando boas User Stories2017-08-08T10:04:56+00:00

Criando boas User Stories

Bill Wake, autor do livro “Extreme Programming Explored”, descreveu em seu blog quais seriam as características de boas User Stories. Ele formou o acrônimo INVEST (“investir”, em inglês) com a primeira letra de cada uma dessas características, afirmando que devemos “investir em boas User Stories” (Wake, 2003).

De acordo com Wake, uma User Story deve ser:

  • independente: User Stories devem ser o mais independentes ou desacopladas possível umas das outras, ou seja, User Stories com grande número de dependências em outras User Stories devem ser evitadas. Essa independência visa ser viável alterar livremente a ordem que serão desenvolvidas e, ao fazê-lo, não ser necessário alterar suas estimativas.
    Cabe adicionar que uma User Story se traduzirá sempre em uma funcionalidade de ponta a ponta, que representa valor para o usuário. Além disso, deve ser possível entender uma User Story sem ser necessário ler quaisquer outras;
  • negociável e negociada: seus detalhes serão discutidos, negociados e definidos entre as pessoas de negócios (com o Product Owner, entre elas) e o Time de Desenvolvimento. São as “Conversas”, dos três C’s;
  • valiosa: devem representar valor de negócio para os clientes do projeto. Ao dividir-se uma User Story, o resultado dessa divisão deve ser User Stories menores que também representem funcionalidades de ponta a ponta, e não partes de trabalho técnico;
  • estimável: o Time de Desenvolvimento deve possuir detalhes suficientes — tanto técnicos quanto de negócios — para estimar o trabalho de se transformar a User Story em parte do produto, de forma que o Product Owner possa ordená-la apropriadamente.
    Assim, conversas suficientes devem ser realizadas entre as pessoas de negócios e os membros do Time de Desenvolvimento para se obter os detalhes de negócios da User Story a ser desenvolvida. Os membros do Time de Desenvolvimento devem discutir possíveis soluções e executar pequenos experimentos, caso necessário, para reduzir os riscos técnicos da User Story. É claro que o nível de detalhes necessário depende de quão próxima a User Story está de ser colocada em desenvolvimento.
    Estimativas fornecem o custo de desenvolvimento de uma User Story. Mesmo caso não se utilizem estimativas, os detalhes são necessários para dividir as User Stories de forma que fiquem pequenas o suficiente para serem desenvolvidas;
  • pequena (“small”, em inglês) ou dimensionada apropriadamente: apenas User Stories pequenas e com um bom nível de detalhes podem ser colocadas em desenvolvimento. Quanto mais para baixo no Product Backlog a User Story estiver, maior ela será, a princípio.
    User Stories pequenas próximas a seu desenvolvimento têm maior precisão em suas estimativas, permitem um melhor ordenamento do Product Backlog e representam um menor risco ao possibilitarem que mais itens façam parte de um Sprint;
  • testável — deve ser possível verificar e confirmar que a User Story está pronta, ou seja, que foi transformada em parte do produto e está funcionando conforme esperado. A verificação é realizada por meio dos Critérios e Testes de Aceitação. É a “Confirmação”, dos três C’s.

Entre em contato! 🙂

Quer saber mais sobre os treinamentos e serviços da Knowledge21? Preencha o formulário ao lado. Ficaremos muito felizes em te atender. =)