Como alguém que'ainda é novo no ágil, I'não tenho certeza se entendo completamente a relação ou diferença entre a história do usuário, característica e épico.
De acordo com esta pergunta, uma característica é uma coleção de histórias. Uma das respostas sugere que um longa-metragem é na verdade um épico. Então, características e épicos são considerados a mesma coisa, que é basicamente uma coleção de histórias de usuários relacionados?
Nosso gerente de projeto insiste que há's uma estrutura hierárquica:
Epic -> Recursos -> Histórias de usuários
E que basicamente todas as histórias de usuários devem se enquadrar nesta estrutura. Portanto, todas as histórias de usuários devem se enquadrar em uma característica guarda-chuva e todas as características devem se enquadrar em uma epopéia.
Para mim, isso parece-me embaraçoso. Alguém pode esclarecer como as histórias de usuários, características e épicos estão relacionados? Ou há um artigo que esboça claramente as diferenças?
Na verdade, eles são um termo muito genérico. Há muitas maneiras de interpretá-los, variando na literatura e na forma como as pessoas os vêem. Pegue tudo o que eu digo com um enorme grão de sal.
Normalmente, um Epic compreende uma funcionalidade muito global e não muito bem definida no seu software. É muito amplo. Normalmente será dividido em uma história ou recurso de usuário menor quando você tenta fazer sentido e fazer com que eles se encaixem em uma iteração ágil. Exemplo :
**Epic***
Recurso e História do Usuário são funcionalidades mais específicas, que você pode testar facilmente com testes de aceitação. Muitas vezes é recomendado que sejam granulares o suficiente para caber em uma única iteração.
Os recursos geralmente tendem a descrever o que o seu software faz:
**Característica***
As histórias de usuários tendem a expressar o que o usuário quer fazer :
**História do utilizador*** Como funcionário de banco, Quero ser capaz de modificar as informações do cliente para que eu o possa manter actualizado.
Eu não'não acho que haja realmente uma hierarquia entre os dois, mas você pode ter uma, se quiser ou se ela se encaixar na forma como você trabalha. Uma história de usuário pode ser uma justificativa específica para uma característica, ou uma forma específica de fazê-lo. Ou pode ser o contrário. Uma característica pode ser uma forma de realizar uma história de usuário. Ou pode denotar a mesma coisa. Você pode usar ambos : Histórias de usuário para definir o que traz valor comercial e característica para descrever a restrição do software.
História de usuário: como cliente, eu quero pagar com os cartões de crédito mais populares **Fatureza*** suporta o GOV-TAX-02 XML API do governo.
Há também a questão do cenário, que normalmente é uma forma de execução de uma história de recurso/usuário. Eles normalmente mapeiam de forma limpa para um teste de aceitação específico. Por exemplo
Cenario : Retirada de dinheiro Dado que eu tenho 2000$ na minha conta bancária Quando eu retirar 100$ Então eu recebo 100$ em dinheiro E o meu saldo é de 1900$.
É assim que definimos esses termos onde eu trabalho. Essas definições estão longe de ser uma definição matemática ou um termo padronizado. É como a diferença entre um político de direita ou um político de esquerda. Depende de onde você mora. No Canadá, o que é considerado de direita pode ser considerado de esquerda nos Estados Unidos. It's muito variável.
A sério, eu não'não me preocuparia muito com isso. O importante é que todos na equipe concordem em uma definição para que vocês possam se entender uns aos outros. Alguns métodos como o scrum tendem a defini-los mais formalmente, mas escolha o que funciona para você e deixe o resto. Afinal, é't ágil sobre Indivíduos e interações sobre processos e ferramentas e Software de trabalho sobre documentação abrangente?
Epic: Uma história de usuário muito grande que eventualmente é dividida em histórias menores.
História de usuário: Uma definição de alto nível de um requisito, contendo apenas informações suficientes para que os desenvolvedores possam produzir uma estimativa razoável do esforço para implementá-lo.
http://www.telerik.com/agile-project-management-tools/agile-resources/vocabulary.aspx
**Função***: Uma característica distintiva ou capacidade de uma aplicação de software ou biblioteca (por exemplo, desempenho, portabilidade ou funcionalidade).
É apenas um problema de decomposição. São apenas histórias, excepto com tamanhos diferentes.
Eu pessoalmente prefiro não rotular os tamanhos deles, mas se você fizer isso também é bom. Pergunte a você PM qual é a definição no seu espaço de trabalho.