Требования должны удовлетворять определенным характеристикам качества. Основные характеристики – это полнота, корректность, необходимость, осуществимость, приоритет, недвусмысленность, непротиворечивость (согласованность), проверяемость и прослеживаемость.
Полнота и корректность - Требование должно полно и точно описывать функцию, которую необходимо реализовать в продукте, содержать всю необходимую для разработчиков информацию. Контроль над корректностью требований возлагается на пользователей, т.к. только требование, согласующееся с источником (пожеланиями пользователей) считается корректным.
Необходимость и осуществимость - Каждое требование должно отражать функциональность или ограничение, которая действительно необходима для пользователя или для удовлетворения внешних требований. Должна существовать возможность реализации каждого требования в ограничениях проекта.
Приоритет - Для реализации в определенной версии продукта каждому функциональному требованию или характеристике должен быть назначен приоритет. Это позволит упростить управление проектом при учете ограничений времени, бюджета и постоянного изменения требований.
Недвусмысленность и непротиворечивость - Недвусмысленность требований предполагает, что все читатели требований интерпретируют их одинаково. Для этого требования должны быть написаны просто, кратко и точно. Не должно быть конфликтующих между собой требований.
Проверяемость и прослеживаемость - Должна существовать возможность проверить требование после реализации, тестировать требование. Требование, которое невозможно протестировать не имеют большой ценности. Для контроля требования (от момента принятия до реализации) требование должно быть прослеживаемым.