Na empresa em que trabalho, estamos começando a planejar a conformidade com o ciclo de vida de desenvolvimento de software. Já temos wiki, sistema vcs, sistema de rastreamento de bugs e um sistema de integração contínua.
O próximo passo que queremos dar é começar a gerenciar, de maneira estruturada, os requisitos de software. Não queremos usar um wiki ou documentação compartilhada porque temos muitas informações (desenvolvedor, gerente, comercial, analista de segurança e outras) e não queremos lidar com a proliferação de .doc em torno do compartilhamento de rede. Estamos tentando pesquisar e esperamos encontrar e usar um software FOSS para gerenciar todas essas coisas.
Temos cerca de 30 pessoas e não temos um orçamento para software comercial. Precisamos de uma solução gratuita para gerenciamento de requisitos.
O que queremos é um software que possa gerenciar:
Recursos necessários:
- Requisitos de software divididos de forma estruturada e configurável
- Versão dos requisitos (histórico, diff, etc, como código fonte)
- Interdependência de requisitos (filho de, pai de, relacionado a)
- Controle de acesso baseado em regras para manipulação de dados
- Multiusuário, multi projeto
- Upload de arquivo (para gráfico, documento relacionado a mais ou menos)
- Recursos de relatório e extração
Recursos opcionais:
- Baseado na Web
- Caso de teste
- Gerenciamento baseado em tempo (linha do tempo, dados excetuados, dados de resultados)
- Alocação de pessoas e assim por diante
- Coisas relacionadas a negócios
- Manipulação de alocação de hardware
Já joguei com o testlink e agora estou jogando com o RTH, o próximo que tento é redmine.
Não tenho certeza do que você está usando para um rastreador de erros, mas usei com êxito tipos de problemas especiais para requisitos com bastante êxito. Essencialmente, muitos softwares de gerenciamento de problemas (ou rastreamento de bugs) permitem vincular problemas. Eles também têm o conceito de um requisito mestre com tarefas ou subrequisitos. Isso cuida da maior parte do que você está vendo.
A maneira como o controle de versão é tratado com esse sistema é atribuindo o requisito a uma versão. Ou é um campo personalizado ou algo incorporado. Como você tem um novo requisito que substitui o anterior, vincule-o e cancele o anterior. Agora você tem um rastreamento pelas versões do seu software.
Uma dessas ferramentas de código aberto que usei é chamada Redmine: http://www.redmine.org/ Você verá algumas sobreposições com outras ferramentas que você já possui. Estou pensando que um pouco de criatividade com o seu conjunto de ferramentas produzirá algo próximo o suficiente do que você deseja, sem saltar para o DOORS ou os conjuntos de ferramentas (ir) Rational.
fonte