Como escrever histórias de usuário (User Stories) : templates e técnicas

Uma coisa é redigir as entregas em formato de histórias de usuário (User Story), outra coisa é redigir boas histórias de usuários. Para isso, antes de te falar como criar boas histórias de usuário vou te explicar o que é uma história de usuário, porque elas foram criadas e para que . Ao final deste conteúdo, você terá um GUIA PRÁTICO para criar boas histórias de usuário. Vamos lá? 

Por que o formato USER STORY foi criado

Esse papo de descrever as “demandas” em formato de user story começou com a galera de tecnologia da informação. 

Quem trabalha com pessoas de TI sabe como é complicada a comunicação com estes seres. Geralmente, quem é de TI, fala que o cliente não sabe pedir, e o cliente, fala que o pessoal da TI não consegue entender nada. 

O resultado são entregas totalmente desalinhadas com a expectativa do cliente. 

Comunicação sempre é um problema gravíssimo no desenvolvimento de software. Achar o balanceamento entre as pessoas responsáveis pela implementação exige “habilidade”. 

Se a balança pender para os que pedem temos um problema.

Se a balança pender para o que o desenvolvedor deseja fazer temos outro problema.  

Para equilibrar essa balança e poder iniciar um papo com a equipe sobre o que deve ser construido o formato de História de Usuário é altamente recomendado. Afinal , em pouco mais de 2 linhas já conseguimos conceituar o problema que iremos atacar de forma a eliminar ao máximo as ambiguidades.

Este é o porquê da criação destes pequenos fragmentos de texto pré formatados para especificar um contexto de atuação: Clareza, simplicidade e propósito. O que chamo de “Comunicação enxuta”. 

Quem criou o formato de user story (histórias de usuário)

Tudo indica que o formato de User Story surgiu com a galera de XP (Extreming Programming).

Foto de Alistair CockburnAlistair Cockburn, mencionou este nome (USER STORY) em uma visita à um de seus clientes em 1998. Alistair é um dos signatários do Manifesto Ágil para desenvolvimento de software.

O que é uma história de usuário?

Uma história de usuário é a definição textual de uma demanda. Em geral ela segue uma estrutura pré estabelecida. 

Geralmente, quem define uma História de Usuário no SCRUM é um Product Owner (dono do produto), mas nada impede que itens de entrega sejam criados por qualquer pessoa capaz e que sejam definidos em formato de User Story. 

A seguir darei um exemplo muito comum na definição de demandas para um grupo de desenvolvedores de TI (onde este formato é mais amplamente difundido).

Template de uma história de usuário

Eu como <ator>
Quero um/uma <necessidade>
Para que <problema a ser resolvido>

Exemplo de uma história de usuário

Eu como AGENTE DE PRECIFICAÇÃO 
quero um SISTEMA DE CONSULTA DE PREÇOS DE PRODUTO DO CONCORRENTE
para que eu possa COMPARAR OS VALORES QUE PRETENDO PRATICAR EM MINHA LOJA

Exemplo de uma história de usuário mais detalhada

Eu como <ator>
Quando <gatilho acionador da necessidade>
Quero um/uma <necessidade>
Para que <problema a ser resolvido>

Como criar boas Histórias de Usuário — INVEST


Parece trivial , mas não é. Como um fragmento de texto de 4 linhas vai ser o suficiente para desenvolver algo tão complexo como um incremento de um software? 

Não, não é o suficiente e ainda assim encontramos inúmeras disfunções na hora de utilizar esta técnica para redigir sobre um incremento de um produto ou serviço.

Vou listar algum dos principais erros ao se escrever uma história de usuário e na sequência falarei sobre o INVEST:

História de front end – Pare de vez de escrever “Eu como front end”, a não ser que você esteja desenvolvendo uma ferramenta como uma IDE que vá auxiliar os front-end do mundo. Não existe esse lance de histórias separadas por especialidades. História é de usuário.

Histórias para boi dormir – Uma história de usuário é um convite para o bate-papo, como Alistair Cockburn mesmo disse. Sabendo disso, não escreva histórias longas. Você terá a oportunidade de complementar as informações nos critérios de aceite dela. User Story não é a descrição sumária da demanda a ser executada. Ela está mais para a introdução, sacou?

Agora, como prometi, para ajudar seu time a montar Histórias de Usuário que fazem sentido, te apresento o acrônimo INVEST. Vamos a explicação:

A união das iniciais de cada aspecto de uma boa user story formam a palavra INVEST. Vamos o que torna uma User Story boa?

Independente

Um incremento de qualquer tipo deve ser idependente, uma vez que estamos buscando o desenvolvimento incremental e ágil.

Negociável

A história de usuário deve ser passível de negociação, para que o time tenha sempre a opção de atuar em fatias menores do que se está pedindo.

Valiosa

Evite a fábrica de entregas. Muitos P.O’s confundem o conceito de entregar serviços e produtos com o maior valor possível, com ocupar ao máximo a equipe com tarefas. Foque no valor daquela fatia.

Estimável

Se não conseguimos estimar o incremento que estamos falando é sinal que ainda temos pouco conhecimento sobre o que deve ser feito. Considere cortar em uma entrega menor e de conhecimento da equipe. Por isso tudo deve ser negociável.

Small (Pequena)

Complementando o que escrevi acima, o ideal é sempre entregar pequenas coisas com alto valor. Então, ser pequena é uma característica básica de uma User Story. Busque constantemente isso!

Testável

Na hora de validarmos o que produzimos, aquilo tem de ser passível de testes. Afinal, é testando que o cliente vai atestar que o que ele pediu foi feito. Aqui, é fundamental que os critérios de aceite estejam escritos de forma a complementar a User Story.

Conclusão

Parece que não, mas uma simples técnica como esta, vinda do XP (Extremming Programming), dá pano para a manga e gera bastante debate. Principalmente entre SCRUM MASTER que estejam começando seus trabalhos com equipes novas no SCRUM . Usar “técnicas” como o INVEST para auxiliar os P.O’s a redigirem boas histórias e o “feijão com arroz” que deveria ser seguido e não é.

E você, conhece outras técnicas? Como andam as definições de incremento em seu time ágil? Conta aí!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *