Afinal, o que é uma User Story?
É muito comum ouvirmos este termo quando falamos dos requisitos/tarefas que escrevemos em um modelo agile em um quadro visual como no Scrum por exemplo, no entanto, o termo "User Story" não é citado nenhuma vez no Scrum Guide. Isso porque "User Story" não é um "o que" e sim um "como".
User Story é um formato, uma maneira de escrever itens de backlog de modo a descrever um requisito aplicacional que o produto em desenvolvimento precisará ter.
Escrevendo boas User Stories
Ao longo de minha experiência tenho lidado com realidades diferentes no processo de escrever as user stories para um backlog. Em alguns casos podemos nos sentir travados ou mesmo não saber se uma user story está bem escrita ou não.
Felizmente temos uma técnica no Agile que nos ajuda a não ficar com essa “pulga atrás da orelha”. Trata-se do INVEST.
O que é o INVEST?
Alguns chamam de framework, metodologia, outros de técnica. Independente do nome, trata-se de uma ferramenta poderosa para maximizar o poder da comunicação através dos itens de backlog em formato de user stories.
INVEST é um acrônimo de Independent, Negotiable, Valuable, Estimable, Small e Testable.
Independent (Independente): Uma user story precisa ser independente, uma peça funcional que não dependa de outras peças. Em caso de duas histórias serem dependentes uma da outra, considerar uni-las em uma só pode ser o caminho mais viável.
Negotiable (Negociável): Uma das características da filosofia Agile é responder rápido a mudanças e para isso, uma user story flexível, negociável é fator predominante. Poder alterar uma história ao longo do tempo de forma ágil é fundamental.
Valuable (Ter valor): Toda user story precisa agregar valor ao projeto. O modelo “As a... I Want... So that...” ajuda neste critério, se houver dificuldade em responder ao “So that...”, reconsidere a história e seu valor.
Estimable (Estimável): Seja amigo do seu time de desenvolvimento. Ao escrever uma user story pense em como seus desenvolvedores a receberão e entenderão. Eles precisam ser capazes de estimar o esforço necessário para desenvolvê-la. Se houver muitas dúvidas ou discrepâncias de interpretações, reconsidere.
Small/Sized (Pequena): Ao pensar em uma user story seja sucinto e direto sem perder a qualidade. Tente equilibrar riqueza de detalhes no menor tamanho possível.
Testable (Testável): Toda user story precisa ser testável. Os critérios de aceitação são a base para este critério, defina-os bem antes de considerar a história para uma sprint.
Seguir estes critérios vai elevar bastante a qualidade das user stories e também mantê-las padronizadas e de fácil entendimento.
Commentaires