4
respostas

Guardar as histórias como documento de comprovação e aprendizagem

Olá,

acredito que pelas características do trabalho ágil as histórias não devam ser guardadas como no modo tradicional, onde são guardados os documentos de levantamentos de requisitos. Acredito que devam ser descartadas tanto as histórias como as tarefas após conclusão e entrega do projeto.

Gostaria de ouvir opiniões a respeito do tema, realmente devo guardar as histórias para sempre?

O motivo se dá para se resguardar quanto ao Cliente disser que não pediu determinada funcionalidade ou que um novo Desenvolvedor vai precisar para aprender e/ou dar manutenção no sistema.

Como os agilistas lidam com esta situação?

4 respostas

Ola Marcio,

Gosto de pensar que as historias são curtas, ou seja vivem enquanto estão no Sprint e depois de prontas morrem. Para novas alterações, novas historias.

Para este problema do "Cliente não pediu a determinada funcionalidade" na minha equipe fazemos um approving com o cliente onde ele valida todas as historias, antes delas irem de fato para produção.

O problema do Desenvolvedor novo que demora para entender a funcionalidade, temos o pareamento na hora de desenvolver que a ajuda a disseminar o conhecimento técnico do produto e das regras de negocio. Mas tao importante quanto isso, temos muitos testes automatizados que ajudam muito mais que uma documentação que ninguém gosta de ler.

Espero ter ajudado!

Obrigado pelas sugestões Eric.

Tenho mais algumas dúvidas sobre o tema, tudo bem evoluir a discussão?

Quanto ao "approving" das histórias junto ao Cliente, você detalha os mínimos detalhes? Ou somente a história com os critérios de aceites "negociais" por assim dizer?

Quanto a passar as histórias para o Testador, preciso detalhar os mínimos detalhes para que o testador possa executar, ou você entende que é função do testador elaborar os teste que acredita ser importante para a história?

Quanto ao pareamento, você mencionou os testes automatizados no intuito de não quebrar as regras do sistema ou como uma forma de aprendizagem (literatura) para este novo desenvolvedor que está entrando na equipe?

Ola Marcio, sem problemas!

No meu caso, o cliente esta bem próximo da equipe de desenvolvimento, então temos a oportunidade de detalhar bastante no approving para que nada que não estava na historia ou algo que ficou mal entendido pelo desenvolvedor passe batido, gosto inclusive de pedir para cliente testar funcionalidades que ja existiam antes, mas que podem ter haver com a historia, para garantir que não vai entrar nenhum bug. Mas também não deixamos os desenvolvedores se meterem no meio do approving, para garantir que o o cliente terá a tarefa como ele imaginou.

Sobre o testador, no meu time que é Full-Stack, o próprio dev faz os testes automatizados, e trabalhamos com TDD. Mas em geral quanto mais você sabe sobre as regras de negocio e mais sabe sobre o que deve ser feito na historia, mais fácil de fazer um teste. Mas fiquei com uma duvida no seu caso os testadores eles fazem os testes automatizados? Se ele não fizerem testes automatizados e sim manuais, acho que não faz muito sentido detalhar tanto para ele, pois se não você ira transformar ele em uma maquina, que poderia ser substituida por testes automatizados. O meu único problema com testes manuais é que eu acho que eles são mais suscetíveis ao erro do que os testes automatizados.

Sobre o pareamento, a ideia é que muitas pessoas tem conhecimentos sobre áreas diferentes do sistema, sobre regras de negócios diferentes, ainda mais no meu caso onde o sistema é bem grande. Então com o pareamento é possível disseminar esse conhecimento, e alem disso, conhecimento sobre a ferramenta, sobre as tecnologias utilizadas também são disseminadas, o que melhora muito o nível técnico do time. Em relação a suas perguntas sobre isso, a reposta é, as duas coisas. Utilizamos os testes automatizados como uma documentação para alguém que nunca mexeu naquela área do sistema e para garantir que nenhuma regra será quebrada.

Obrigado a todos que contribuíram com a discussão.