четверг, 19 января 2012 г.

Запах скверной спецификации

Если у разрабатываемой системы есть пользовательский интерфейс, то понять, что спецификация скверная, несложно.

Правило "ноль") После прочтения документа в голове ровный гул. То есть непонятно вообще ничего. И вопросов не возникает.

Теперь более конкретные запахи, которые можно сосканировать с документа, не вчитываясь в детали

1) Не определены рамки системы. Что система делает, какие требования реализует, Сколько у пользовательского интерфейса вообще экранов -- если это не понятно тебе, не будет понятно и разработчику.

2) Структура документа не соответствует структуре интерфейса. то есть - каждому логическому блоку интерфейса (странице, списку, форме) должен соответствовать отдельный раздел с описанием. Если нет -- спецификацией будет сложно пользоваться

3) Хорошо освещено очевидное. То есть "под фонарем ищем, где и так светло". Примеры

- "Нажатие на кнопку ОК закрывает окно"
- "Нажатие на кнопку Отмена отменяет операцию"
- "На форме "Список пользователей" отображен список пользователей"
- "Выпадающий список "Пользователи" должен позволять выбрать пользователя"

4) Нет описания тонкостей. 

Например, для списка пользователей

- Есть ли неявные фильтры
- Какая сортировка по умолчанию
- Как выглядит список если ничего не найдено

Для форм

- Каковы правила валидации для каждого элемента
- Как выглядит форма с валидаторами
- Сохраняются ли умолчательные зрачения (и на каком уровне - cookies, профиль пользователя,