Я писав базу даних вимог 6 або 7 років тому, щоб вирішити це. Кожен запис вимог містить короткий опис, нагадування "визначення" та нагадування "примітки" (обидва тексти з можливістю вставляти знімки екрана тощо). Є й інші поля для проекту, доставлення, порядкового номера (тому їх можна впорядкувати логічно), використання випадку / функції, пов’язаних із ним, оцінка часу, поле для людини, що обробляє його, якщо хтось обрав його для реалізації, тощо.
Існує також "Статус" - "Введено", оскільки ми розробляємо функції; "Затверджено", встановлюється після того, як група вимог буде переглянута і визначена, що вона готова до реалізації; "Здійснено", встановлене програмістом, як тільки вони вважають, що вимога виконано, і "Підтверджено", коли технік якості погодиться з програмістом. (Якщо технік із забезпечення якості не погоджується, він може встановити його на "Затверджено", щоб програміст повертав його назад.) Вимоги також можуть бути "Відкладені", "Відхилені" або "Запитані" (тобто Комітет управління змін повинен переглянути це .)
Хитрість зробити це добре - це розумна деталізація. Іноді може бути сенс мати вимоги до одного речення (наприклад, "проблема, описана у випуску 12345, виправлена"), але в цілому вимоги повинні описувати всі важливі аспекти цілої функції (або великий фрагмент). Наприклад, типова функція "нового звіту" матиме вимогу до формату звіту (як виглядає вихід) та вимога до діалогового вікна параметрів (пояснення полів, перевірка вантажу тощо). є складний генератор, який розсипає дані, а не просто простий запит чи щось таке. Крім того, ми створимо вимогу "Довідка" для відповідної теми довідки.
Є величезні переваги зберігання цього матеріалу в записах баз даних, а не у великому документі. Кілька програмістів можуть працювати над вимогами одночасно. Окремі записи заблоковані, тож одночасно може редагувати лише одна людина, але їх можна відкривати та читати, поки хтось інший редагує. Найбільша перевага, однак, полягає в тому, що вона забезпечує легкий пошук документації як вимог, так і приміток про те, як вони були виконані. Зараз у нас понад 25 000 вимог, і ми можемо легко знайти всі вимоги з конкретними словами у всіх полях, або визначення, або примітки, або що завгодно, за 10 секунд. (Спробуйте це з документами Word більше 6 років.)
Я можу зрозуміти, чому люди можуть сказати, що це погана ідея робити вимоги в "трекері помилок", але я гадаю, що це тому, що інструменти смокчуть, а не тому, що зберігання вимог у базі даних, що шукається, є поганою ідеєю.