Независимо от языковых аспектов написания требований, существуют четкие критерии, которым должна удовлетворять формулировка каждого требования. Вкратце эти критерии можно сформулировать следующим образом:
- атомарность: каждое утверждение (формулировка требования) должно представлять собой один элемент иерархии, пригодный для установки связей с ним;
- уникальность: каждое требование должно иметь собственный уникальный идентификатор;
- выполнимость: требование должны быть технически реализуемо в установленные сроки, в рамках выделенного бюджета;
- законность: требование не должно противоречить применимому законодательству;
- ясность: требование должно быть понятно сформулировано (исключать неоднозначное толкование);
- точность: требование должно быть точным и лаконичным;
- проверяемость: должна существовать возможность проверки реализации каждого конкретного требования;
- абстрактность: формулировка не должна навязывать определенные технические решения, характерные для более низких уровней требований (спецификаций).
Дополнительно можно привести критерии, применимые к набору требований:
- полнота: все необходимые требования зафиксированы;
- непротиворечивость: не существует требований, противоречащих друг другу;
- отсутствие избыточности: каждое требование сформулировано только один раз (нет повторов);
- модульность: требования, близкие друг другу по смыслу, содержаться в одном разделе;
- структурированность: наличие ясной и четкой структуры документа с требованиями;
- удовлетворенность: достигнут требуемый уровень покрытия требований связями типа «удовлетворяется (посредством)»
- тестируемость: достигнут требуемый уровень покрытия требований тестами.