O gerenciamento de requisitos a curto prazo para projetos Agile parece ser um problema resolvido para mim.
Do ponto de vista do Scrum, novos requisitos ou alterações nos requisitos existentes são entregues através das Histórias de Usuário. E as Histórias de Usuário agrupadas em uma Epopeia ou Recurso facilitam a entrega de requisitos maiores e mais complexos.
Obviamente, uma história de usuário não é tecnicamente um documento de requisitos. É um agrupamento gerenciável de trabalho que mapeia para o que geralmente é chamado de Fatia Vertical de funcionalidade. E o escopo dessas histórias pode ser definido sem ambiguidade através do uso de Critérios de Aceitação (CA).
Portanto, embora as Histórias de usuário não sejam requisitos formais, a navegação nelas pode fornecer uma idéia bastante clara dos requisitos subjacentes. A curto prazo.
Digo a curto prazo porque, à medida que o projeto avança, o número de histórias de usuários aumenta. Assim, navegar por uma lista cada vez maior de histórias para encontrar um requisito se torna cada vez menos eficiente ao longo do tempo.
Esse problema é agravado quando você considera as histórias de usuário que se expandem, substituem ou até negam as histórias anteriores.
Agora, imagine um intervalo de 2 anos entre as iterações de desenvolvimento em um projeto (estável na produção). A equipe original se foi e todos os seus conhecimentos também.
Se a equipe original sabia que isso iria acontecer (por exemplo, é a natureza do negócio), então que medidas eles poderiam tomar para ajudar as equipes subseqüentes?
Certamente, o backlog fornecerá algumas informações, mas dificilmente poderá ser navegado facilmente.
Então, o que pode ser feito para ajudar as equipes subsequentes a entender o estado do projeto, incluindo o porquê e como ele chegou lá?
Na minha experiência, as seguintes coisas não funcionam:
- Preparação do backlog para excluir ou atualizar as Histórias de Usuário anteriores, para que o Backlog possa ser lido como um documento de requisitos.
- Sprints de documentação, onde os membros da equipe têm a tarefa de documentar o estado atual do sistema.
- Documentação através de testes de comportamento . Essa abordagem é a única que eu vi chegar perto de funcionar. Infelizmente, os testes de comportamento codificado são vítimas do problema de nomeação. Embora os testes possam documentar adequadamente o sistema, é quase impossível conseguir uma equipe flutuante de desenvolvedores para escrever seus testes seguindo a mesma terminologia, texto e estilo do domínio.
Então, para reiterar:
Como se gerencia os Requisitos do projeto Agile a longo prazo?