Хороші Software Requirement Specification (специфікації) мають бути:
- Correct (корректні);
- Unambiguous (однозначні);
- Complete (завершені);
- Consistent (консистентні);
- Ranked for importance and / or stability (приорітизовані по важливості чи / або стабільності);
- Verifiable (такі, що можна перевірити);
- Modifiable (такі, що можна змінити);
- Traceable (прослідковувані).
Наприклад:
Не вказуйте яким чином ці вимоги мають виконуватись. В розділі надійності, дайте відповідь на питання: “Наскільки надійна повинна бути система”? Не вказуйте, які кроки будуть зроблені для забезпечення надійності.
Відрізняйте preference (побажання) від вимог! Вимоги засновані на потребах бізнесу, preference (побажання) — ні. Якщо, наприклад, користувач вимагає спеціальної відповіді системи, але не має пов’язаних з бізнесом причин для цього, це вимога є preference (побажанням).