Escribí una base de datos de requisitos hace 6 o 7 años para manejar esto. Cada registro de requisitos tiene una breve descripción, un memo de "definición" y un memo de "notas" (ambos texto enriquecido, con capacidad para incrustar capturas de pantalla, etc.). También hay otros campos, para proyecto, entregable, número de secuencia (para que se puedan ordenar lógicamente), caso de uso / función con la que está relacionado, tiempo estimado, un campo para la persona que lo maneja, si alguien lo ha seleccionado para la implementación, etc.
También hay un "Estado" - "Entró", mientras diseñamos las características; "Aprobado", establecido una vez que se revisa un grupo de requisitos y se determina que están listos para implementar; "Implementado", establecido por el programador una vez que piensan que se ha cumplido el requisito, y "Validado" una vez que el técnico de control de calidad está de acuerdo con el programador. (Si el técnico de control de calidad no está de acuerdo, puede volver a configurarlo como "Aprobado" para que el programador lo recupere). Los requisitos también pueden ser "Diferidos", "Rechazados" o "Cuestionados" (lo que significa que la Junta de Control de Cambios debe considerarlo .)
El truco para hacerlo bien es una granularidad razonable. A veces puede tener sentido tener requisitos de una oración (por ejemplo, "el problema descrito en el problema 12345 es fijo"), pero en general, los requisitos deben describir todos los aspectos importantes de una característica completa (o una gran parte de una). Por ejemplo, una característica típica de "nuevo informe" tendrá un requisito para un formato de informe (cómo se ve la salida) y un requisito para el cuadro de diálogo de opciones (explicando los campos, validación, etc.) Incluso podría haber un tercero si Hay un generador complejo que procesa los datos, en lugar de una simple consulta o algo así. Además, crearemos un requisito de "Ayuda" para el tema de ayuda correspondiente.
Hay grandes ventajas de mantener estas cosas en los registros de la base de datos en lugar de un gran documento. Varios programadores pueden estar trabajando en los requisitos al mismo tiempo. Los registros individuales están bloqueados para que solo una persona pueda editar a la vez, pero se pueden abrir y leer mientras alguien más está editando. Sin embargo, la mayor ventaja es que proporciona documentación fácil de buscar sobre cuáles eran los requisitos y notas sobre cómo se implementaron. Tenemos más de 25,000 requisitos allí ahora, y podemos encontrar fácilmente todos los requisitos con palabras específicas en todos los campos, o la definición, o notas, o lo que sea, en menos de 10 segundos. (Pruebe con más de 6 años de documentos de Word).
Puedo ver por qué la gente podría decir que es una mala idea hacer requisitos en un "rastreador de errores", pero supongo que es porque las herramientas apestan, no porque mantener los requisitos en una base de datos de búsqueda es una mala idea.