User stories: Porque são essenciais para o desenvolvimento de software?
O desenvolvimento de software é um caminho repleto de desafios. Dependendo da complexidade do programa, podem passar-se meses ou até anos desde a primeira reunião de brainstorming para o produto até estar finalmente pronto.
Assim, é importante adotar as metodologias mais eficientes possíveis, de forma a encurtar o tempo de desenvolvimento, entregando um produto de qualidade, sem erros e cuja construção foi pautada pelo rigor. Recentemente abordámos a importância das Testing Personas para o processo de testes de um software e hoje focamo-nos nas User Stories.
As User Stories, ou Histórias de Utilizador, são descrições curtas e simples de uma funcionalidade do ponto de vista da pessoa que vai utilizar o software, por exemplo um utilizador ou cliente. Ou seja, é o caminho que um visitante percorre para executar a acção que tem como objectivo. Por norma, as User Stories seguem este modelo padrão:
Como tipo de utilizador>, quero <objetivo> para que <finalidade>.
O objetivo de uma User Story é articular de que forma uma funcionalidade vai servir o utilizador ou cliente. Um exemplo de uma User Story relevante para o desenvolvimento de um determinado software poderá ser a seguinte: “Como utilizador de iPhone, devo conseguir fazer login na minha conta do Facebook através da aplicação móvel e convidar os meus amigos do Facebook a utilizar a app.”
Por outro lado, esta ação gera outra user story:
“Os amigos do Facebook do utilizador do iPhone devem receber um link de convite por e-mail para que se possam inscrever.”
Outro exemplo de uma user story seria:
“Como administrador da conta, posso fazer backup de toda a informação na base de dados”.
Porque é importante criar User Stories?
Para as equipas de desenvolvimento, as histórias de utilizador podem parecer um passo adicional e, por vezes, desnecessário. Porém, as histórias conferem contexto e associam as tarefas ao valor que essas tarefas trazem. Entre outras vantagens, as User Stories trazem os seguintes benefícios:
As histórias mantêm o foco no utilizador. Uma lista de tarefas mantém os programadores focados no que tem de ser feito, mas as histórias de utilizador mantêm a equipa concentrada na solução de problemas para utilizadores reais.
As histórias promovem a colaboração e a criatividade. Com a meta final definida, a equipa pode trabalhar em conjunto para decidir a melhor forma de atingir o objetivo do utilizador. Por outro lado, essa colaboração acaba por ser um incentivo para pensar nas soluções de forma crítica e criativa em conjunto, o que normalmente é vantajoso.
Por último, as histórias ajudam a equipa a criar prioridades. Ao definir claramente as user stories e os processos que é necessário desenvolver, a equipa tem a necessidade de priorizar mais claramente os recursos e o valor que o utilizador vai retirar deles. Por conseguinte, conseguirá definir melhor o que deve ser desenvolvido primeiro ou não.
A utilização de user stories não é uma metodologia obrigatória, mas pode ser muito útil no desenvolvimento de software da forma mais eficiente possível.