Спецификация играет ключевую роль в успешной реализации любого проекта. От того, насколько детально проработан этот документ, зависит эффективность взаимодействия заказчика и подрядчика, соблюдение сроков и бюджета. Давайте разберемся, что такое спецификация, зачем она нужна и как правильно ее составлять.
Что такое спецификация и зачем она нужна
Спецификация - это документ, в котором подробно описаны все требования к продукту или услуге. Она позволяет четко обозначить:
- какие задачи должен решать проект;
- какими функциями и свойствами он должен обладать;
- ограничения по срокам, бюджету, используемым технологиям.
"спецификация это" договор между заказчиком и исполнителем, призванный минимизировать риски обеих сторон. Благодаря такому подробному описанию, уже на ранних этапах можно выявить все "узкие места" и скорректировать требования до начала работ.
Основные виды спецификаций
В зависимости от сферы применения, выделяют несколько разновидностей спецификаций:
- Бизнес-спецификация - описание бизнес-процессов и задач бизнеса, которые должна решить разрабатываемая информационная система.
- Функциональные требования - подробное описание функционала системы, ее компонентов и их взаимодействия.
- Техническая спецификация - требования к техническим параметрам: архитектуре приложения, используемым технологиям, интеграции и т.д.
Спецификация к договору может содержать требования одного или нескольких типов, в зависимости от сложности и масштаба проекта.
Спецификация: ГОСТ
ГОСТ - это межгосударственный стандарт, устанавливающий основные требования к составлению спецификации. Документы, оформленные по ГОСТ, имеют унифицированную структуру и реквизиты.
Согласно ГОСТ 2.105-95, спецификация должна содержать:
- обозначение;
- наименование изделия;
- обозначение документа, в состав которого она входит;
- количество;
- порядковые номера и наименования составных частей;
- примечания.
Спецификация - это обязательный документ в составе конструкторской и технологической документации на различные изделия.
Как составить спецификацию
Чтобы грамотно составить спецификацию, рекомендуется придерживаться следующих правил:
- Поставить себя на место конечного пользователя и описать все важные сценарии использования продукта
- Структурировать требования по типам: бизнес-требования, функциональные, нефункциональные и т.д.
- Избегать общих фраз, использовать максимально конкретные формулировки
- Описать систему в динамике: какие шаги, в какой последовательности должен выполнять пользователь или сервис
- Продумать сценарии отказоустойчивости, обработки ошибок и другие "нештатные" ситуации
При соблюдении этих правил спецификация максимально соответствует ожиданиям заказчика и облегчает работу разработчикам.
Типовая структура спецификации
Хотя у спецификаций нет унифицированной формы, можно выделить набор разделов, которые чаще всего в ней присутствуют:
- Цели и задачи проекта
- Функциональные возможности и сценарии использования
- Информация об объекте автоматизации и внешних системах
- Требования к техническому обеспечению
- Требования к программному обеспечению и технологиям
- Порядок сдачи-приемки, критерии оценки результата
Для крупных проектов число разделов может быть больше, но приведенная структура подходит для большинства случаев.
Где взять образец спецификации
Если вы впервые сталкиваетесь с необходимостью написать спецификацию и не знаете, с чего начать, воспользуйтесь готовым образцом:
- Посмотрите спецификации в открытом доступе, например для известных сервисов и приложений
- Попросите коллег предоставить спецификации по уже реализованным проектам, но без конфиденциальной информации
- Воспользуйтесь шаблонами и примерами спецификаций в специализированной литературе и профильных интернет-сообществах
Изучив несколько образцов, вы поймете типовую структуру и научитесь составлять качественную спецификацию.
Плюсы и минусы закрытых и открытых спецификаций
Спецификации делятся на закрытые и открытые. Давайте рассмотрим основные преимущества и недостатки каждого типа.
Закрытые спецификации
В закрытых спецификациях жестко прописываются используемые технологии и средства разработки. К плюсам можно отнести:
- Более высокий уровень контроля со стороны заказчика
- Уменьшение рисков получить результат, не соответствующий ожиданиям
К минусам относятся:
- Ограничение творческой свободы разработчиков
- Сложность внесения изменений по ходу работ
Открытые спецификации
В открытых спецификациях описан лишь нужный функционал, без закрепления средств реализации. К плюсам можно отнести:
- Большая гибкость и возможность оптимизации со стороны исполнителей
- Простота внесения изменений
К минусам относятся:
- Выше риски получить результат, не вполне соответствующий ожиданиям
- Меньший контроль над ходом работ со стороны заказчика
Управление изменениями в спецификациях
В ходе работ неизбежно возникает необходимость корректировки спецификаций. Чтобы процесс управления изменениями проходил организованно, рекомендуется придерживаться определенного регламента.
Заявка на изменение
Все предлагаемые правки оформляются в виде заявок. В заявке указывается:
- инициатор запроса;
- причина изменения;
- подробное описание необходимых изменений;
- влияние на смежные разделы спецификации.
Согласование заявки на изменение
Прежде чем приступать к внесению изменений, заявка должна пройти процедуру согласования с заказчиком и ключевыми представителями от разработчика.
Внесение изменений и версионирование
После утверждения заявки, вносятся необходимые изменения и публикуется обновленная версия документации. Предыдущие версии архивируются.
Повторное тестирование
Проводится тестирование тех элементов системы, на которые повлияли изменения в спецификации.