Fundamentos História de Usuário

Esse post é inspirado no início da História de Usuário. Algumas vezes me perguntei como surgiu essa tal de História de Usuário (User story). Então fui procurar sua origem. Você sabia? 🤔

O conceito de Histórias de Usuário, surgiu pela primeira vez em 1998 introduzida por Ron Jeffries, um dos criadores do método ágil de desenvolvimento de software chamado Extreme Programming (XP). Ron Jeffries é um renomado desenvolvedor e autor, conhecido por suas contribuições significativas para o movimento ágil. Ele propôs o uso de histórias de usuário como uma forma de capturar requisitos em linguagem natural e centrada no usuário, em oposição a documentos extensos e complexos. Essa abordagem se tornou um pilar dos métodos ágeis e é amplamente utilizada em práticas como Scrum, Kanban e outras metodologias ágeis.

Em 2001, Ron Jeffries propôs a fórmula bem conhecida dos Três Cês, ou seja, Card (cartão), Conversation (conversa), Confirmation (confirmação), para verificar a qualidade de uma História de Usuário: 

Cartão

O cartão tem o texto necessário para identificar o requisito e para lembrar a todos qual é a história. É fundamental para ajudar  no planejamento do que está sendo proposto. As notas são escritas nele, refletindo a prioridade e o custo. Muitas vezes, é entregue aos programadores quando a história está programada para ser implementada e devolvida ao cliente quando a história está completa.

Conversa

O requisito em si é a comunicação do time por meio de conversas: Uma troca de pensamentos, opiniões e sentimentos. Essa conversa ocorre ao longo do tempo, principalmente quando a história é estimada. A conversa é em grande parte verbal, mas pode ser complementada com documentos. Os melhores exemplos são executáveis. Chamamos esses exemplos de confirmação.

Confirmação

Não importa quanta discussão ou quanta documentação seja produzida, em diversas situações,  podemos não enxergar com tanta clareza o que precisa ser feito. O terceiro C, nos principais aspectos da história do Usuário, adiciona a confirmação necessária. Este componente é o teste de aceitação.

Ela define os testes de aceitação que serão usados para mostrar que a história foi implementada corretamente.

A confirmação fornecida pelo teste de aceitação é o que possibilita a simples aproximação do cartão e da conversa, quando a conversa sobre um cartão chega aos detalhes do teste de aceitação.

Conclusão do artigo

A História de Usuário é um foco fundamental no desenvolvimento ágil de software, que coloca o usuário no centro do processo de criação de produtos e serviços. 

Essas histórias são breves descrições de funcionalidades sob a perspectiva do usuário, escritas em uma linguagem simples e acessível. Elas transcrevem as necessidades e expectativas dos usuários, o que permite que a equipe de desenvolvimento entenda com clareza o que precisa ser entregue.

Referência