Если у разрабатываемой системы есть пользовательский интерфейс, то понять, что спецификация скверная, несложно.
Правило "ноль") После прочтения документа в голове ровный гул. То есть непонятно вообще ничего. И вопросов не возникает.
Теперь более конкретные запахи, которые можно сосканировать с документа, не вчитываясь в детали
1) Не определены рамки системы. Что система делает, какие требования реализует, Сколько у пользовательского интерфейса вообще экранов -- если это не понятно тебе, не будет понятно и разработчику.
2) Структура документа не соответствует структуре интерфейса. то есть - каждому логическому блоку интерфейса (странице, списку, форме) должен соответствовать отдельный раздел с описанием. Если нет -- спецификацией будет сложно пользоваться
3) Хорошо освещено очевидное. То есть "под фонарем ищем, где и так светло". Примеры
- "Нажатие на кнопку ОК закрывает окно"
- "Нажатие на кнопку Отмена отменяет операцию"
- "На форме "Список пользователей" отображен список пользователей"
- "Выпадающий список "Пользователи" должен позволять выбрать пользователя"
4) Нет описания тонкостей.
Например, для списка пользователей
- Есть ли неявные фильтры
- Какая сортировка по умолчанию
- Как выглядит список если ничего не найдено
Для форм
- Каковы правила валидации для каждого элемента
- Как выглядит форма с валидаторами
- Сохраняются ли умолчательные зрачения (и на каком уровне - cookies, профиль пользователя,
Правило "ноль") После прочтения документа в голове ровный гул. То есть непонятно вообще ничего. И вопросов не возникает.
Теперь более конкретные запахи, которые можно сосканировать с документа, не вчитываясь в детали
1) Не определены рамки системы. Что система делает, какие требования реализует, Сколько у пользовательского интерфейса вообще экранов -- если это не понятно тебе, не будет понятно и разработчику.
2) Структура документа не соответствует структуре интерфейса. то есть - каждому логическому блоку интерфейса (странице, списку, форме) должен соответствовать отдельный раздел с описанием. Если нет -- спецификацией будет сложно пользоваться
3) Хорошо освещено очевидное. То есть "под фонарем ищем, где и так светло". Примеры
- "Нажатие на кнопку ОК закрывает окно"
- "Нажатие на кнопку Отмена отменяет операцию"
- "На форме "Список пользователей" отображен список пользователей"
- "Выпадающий список "Пользователи" должен позволять выбрать пользователя"
4) Нет описания тонкостей.
Например, для списка пользователей
- Есть ли неявные фильтры
- Какая сортировка по умолчанию
- Как выглядит список если ничего не найдено
Для форм
- Каковы правила валидации для каждого элемента
- Как выглядит форма с валидаторами
- Сохраняются ли умолчательные зрачения (и на каком уровне - cookies, профиль пользователя,