A importância de uma boa User Story
Ao desenvolver um projeto, ou um produto para um cliente, você se preocupa em criar uma boa User Story? Segundo Ken Schwaber, idealizador do movimento de desenvolvimento ágil de software e co-criador do Scrum, se fossemos comparar uma produção de carros com uma de software, a cada 3 carros construídos, um seria entregue ao cliente sem motor, outro quebraria nos primeiros quilômetros e apenas um seria entregue sem defeito.
Mas por que muitos projetos falham ou não atendem a expectativa real do usuário? Um dos principais motivos é porque não dão a devida importância a entender e detalhar a necessidade do usuário, que é representada através de uma User Story bem escrita.
Mesmo que o Scrum ou outro framework ágil não defina um padrão para escrita de User Story, existem técnicas e dicas para se escrever uma boa User Story, e entender e esclarecer o que o usuário deseja realizar na aplicação ou sistema que está sendo desenvolvido. E, neste artigo exploraremos algumas dicas de como o Scrum Master repassa para o time as técnicas e aplicações no dia a dia de projetos de trabalho.
#01 Representar valor de negócio
Nos projetos tradicionais (cascata), é comum ter etapas e fases pré-estabelecidas, deixando a validação com usuário somente no final. Muitas vezes esta prática é desfavorável, porque demora-se para que o cliente comece a utilizar o que solicitou.
Já os projetos ágeis trazem uma abordagem diferente. Ao invés de pensar no projeto, pensa-se em produto, utilizando o conceito de MVP (mínimo valor do produto). Desta forma, a User Story deve ser escrita pensando em pequenas entregas que representem valor de negócio ao consumidor final.
#02 INVEST
Mas de nada adianta pensar em valor de negócio para o usuário, se a necessidade dele for representada de forma complexa, abrangente e difícil de mensurar. Por isso, uma boa User Story deve seguir alguns critérios e uma dica para não esquecer nenhum é utilizando o método INVEST – um acrônimo para Independente, Negociável, Valiosa, Estimável, Small, Testável.
- Independente: Toda User Story deve ser independente de outras User Stories;
- Negociável: Lembre-se toda User Story é apenas um desejo do usuário, logo, pode considerá-la sendo apenas um ponto de partida. Portanto, deve ser totalmente negociável;
- Valiosa: Deve representar valor de negócio, sempre. Sem valor de negócio não faz sentindo existir, é simples assim;
- Estimável: O time deve ser capaz de estimá-la;
- Small: Deve ser pequena e assim reduzindo as incertezas e dificuldades de estimativas;
- Testável: Todas User Stories devem ser testáveis, ou seja, deve ser possível validar se atingem os critérios de aceitação.
#03 Defina o ator da User Story – utilize persona
Como a User Story representa a necessidade do usuário, uma dica para escrever uma boa User Story é estabelecer três parâmetros:
- Ator: é o proprietário da User Story, quem irá utilizar a funcionalidade ou requisito. Uma imagem mental desse ator ajuda a representar um grupo distinto de usuários do produto. A criação de uma persona ajuda a estabelecer essa imagem mental;
- Ação: é o que o ator quer fazer dentro do sistema ou produto, esperando que o objetivo seja alcançado;
- Objetivo: é o que o ator espera que aconteça, após a ação ser executada. Pode ser vista também como uma justificativa.
Exemplo: “Como um VENDEDOR preciso CONSULTAR os meus clientes pelo CNPJ, PARA conseguir negociar com eles estando bem informado.”
#04 Elimine ambiguidades
É muito importante tomar cuidado com ambiguidades ao escrever uma User Story. Por isso, evite usar palavras que tenham duplo sentido ou expressões que possam representar mais de uma possibilidade. Troque palavras como QUERO, POSSO, ACHO, por DEVO ou PRECISO.
Exemplo: COMO um usuário não administrativo DEVO modificar meus próprios horários, mas não os horários de outros usuários PARA QUE não seja necessário abrir um chamado sempre que minhas atividades mudarem.
SENDO um vendedor EU PRECISO consultar os meus clientes pelo CNPJ PARA conseguir negociar com ele estando melhor informado.
#05 Valide a User Story
Falamos que a User Story deve utilizar o critério INVEST. A melhor forma de validar o critério T (testável) é criando-se cenários de uso.
Exemplo: SENDO um vendedor EU PRECISO consultar os meus clientes pelo CNPJ PARA conseguir negociar com ele estando bem informado.
Cenários de uso para esta User Story:
Cenário 1 – CNPJ Inválido
DADO QUE o vendedor consulta o cliente
E insere um CNPJ inválido
QUANDO apertar no botão “Consultar”
OU clicar fora do campo de CNPJ
ENTÃO uma mensagem informando “CNPJ Inválido, por favor coloque um CNPJ válido” deve ser exibida
Cenário 2 – CNPJ Válido
DADO QUE o vendedor consulta o cliente
E insere um CNPJ válido
QUANDO apertar no botão “Consultar”
OU clicar fora do campo de CNPJ
ENTÃO será exibido uma tabela com uma única linha, contendo a Razão social, CNPJ e Status do cliente
E um botão chamado “Visualizar dados do cliente” será exibido junto a linha retornada
#06 Comece por épicos e termine com pequenas User Stories
Em métodos ágeis como no Scrum o processo é realizado através de pequenas entregas e constantes interações, trazendo rapidamente ao usuário – logo na primeira entrega – o valor do produto. Tendo isso em mente, as User Stories não devem ser complexas e nem listar todos os casos possíveis de uma só vez. O melhor caminho é quebrar a funcionalidade a ser implementada em várias User Stories.
#07 Complemente a User Story
Nos métodos ágeis, uma das principais ferramentas de auxílio ao levantamento de requisitos é a utilização de protótipos e narrativas visuais que ajudam a visualizar o projeto.
1- Storyboards: são narrativas sequenciais e visuais que podem ser feitas com imagens em que uma pessoa simula as situações de uso.
2- Esboços: São feitos com diagramas e desenhos combinados, como uma história em quadrinhos, diagramas com setas e processos, somados a esboços de usuários. Facilitam a ambientação das situações e a interação do usuário com o site/mídia digital.
3- Simulação de uso em protótipos: A partir das personas e de um protótipo, simula-se várias situações de uso e registra-se os resultados em modelos semelhantes aos usados em testes de usabilidade.
Conclusão
Apesar de não existir uma fórmula pronta que garanta o sucesso das necessidades do usuário, as técnicas, dicas e práticas deste artigo auxiliam para que possamos escrever User Stories cada vez melhores, pensando-se sempre na sua grande importância que é representar e evitar que um projeto falhe ou que não atenda às expectativas do usuário final.
Você se preocupa em criar uma boa User Story? Se a resposta foi não, você deveria considerar isto o quanto antes!