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

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

10 июля 2014

Для точной оценки стоимости проекта техническое задание программного обеспечения должно удовлетворять определенным требованиям. Главный критерий — это предельная ясность. После прочтения ТЗ у архитектора не должно остаться вопросов по деталям описываемого программного продукта. Заказчики при написании технического задания часто упускают важные моменты.

Как написать техническое задание?
01 Флаг гоночный Технического задания на разработку программного обеспечения должно быть достаточно для того, чтобы приложить к контракту и начать работу.
02 Декомпозиция Информация должна быть хорошо структурирована. Сплошной текст сложно воспринимать и оценивать.
03 Равенство сведений Разделы ТЗ не должны содержать противоречивых сведений.
04 Кисть Документ не должен содержать посторонней информации, не относящейся к разработке системы и не проливающей свет на тот или иной аспект ее функционирования: пометки, вопросы, разноцветные выделения и т.п.
05 Конь шахматы Отсутствие в тексте обтекаемых формулировок и общих фраз: чем больше конкретики, тем лучше.
06 Нумерованный список Будущая система должна быть описана полностью. В случае поэтапной разработки должен быть полностью описан функционал соответствующего этапа.

Примеры

  • Если разрабатываемая система имеет аналоги, то полезно предоставить ссылки на них.
  • Если система предполагает интеграцию с другими системами или задействует другие ресурсы, то необходимо их указать (ссылки).
  • При описании назначения системы следует привести основные сценарии работы пользователей с ней.
  • Прилагать к техническому заданию программного обеспечения примеры входных данных, а также формат данных для обмена между подсистемами: таблицы, базы, страницы и т.п.
  • Прилагать к ТЗ примеры выходных данных: внешний вид отчетов, файлов экспорта.

Структура

  • Стоит зарисовать архитектуру (скелет) системы, а также охарактеризовать взаимосвязи между подсистемами.
  • Техническое задание должно описывать структуру системы: интерфейс пользователя, интерфейс администратора, серверная часть, вычислительная часть, инсталлятор, вспомогательные утилиты и так далее.
  • Техническое задание на разработку программного обеспечения должно включать следующие разделы.
01 Инфо-страница Общие сведения о проекте.
02 Назначение целей создания системы Назначение и цели создания (развития) системы.
03 Описание объекта автоматизации Характеристика объектов автоматизации.
04 Требования к системе Общие требования к системе.
05 Цикл разработки Состав и содержание работ по созданию системы.
06 Проверка требований Порядок контроля и приемки системы.
07 Ввод списка в действие Требования к составу и содержанию работ по подготовке объекта автоматизации к вводу системы в действие.
08 Документрирование и код Требования к документированию, включая требования к исходному коду.

Детали

  • Административный интерфейс должен быть подробно описан.
  • Следует подробно охарактеризовать предполагаемые роли пользователей системы, их функции и права.
  • Должно быть приведено описание математических методов и моделей, типовых алгоритмов и алгоритмов, подлежащих разработке.
  • Протоколы обмена, которые будут использованы в системе, должны быть приведены в ТЗ на ПО. Для открытых протоколов следует указывать ссылки на спецификацию конкретной версии протокола. Для частных протоколов следует включать спецификацию в текст ТЗ.
  • Необходимо указывать требования к безопасности хранения и передачи данных. При потребности в устойчивости к определенным специфичным видам угроз следует перечислить их явно.
  • Должны быть описаны все интерфейсы взаимодействия со смежными системами.
  • Следует указывать, с какими платежными системами требуется интегрировать разрабатываемый программный продукт.
  • Следует указать перечень сторонних платных и свободных компонентов, которые предполагается использовать при разработке.

Оформление

  • В случае потребности в услугах дизайнера, необходимо приложить концепцию дизайна.
  • Документ должен содержать требования к оформлению интерфейсных частей разрабатываемой системы. Следует описывать внешний вид блоков интерфейса.
  • Следует приложить к ТЗ наброски или готовые макеты всех страниц или форм приложения.
  • Для веб-приложений следует приложить готовую верстку.

Производительность и надежность

  • Для нагруженных систем следует указывать ожидаемый уровень нагрузки, с которым система должна справляться в штатном режиме: месячный, дневной и пиковый.
  • Следует указывать требования к показателям производительности, которым должна удовлетворять система.
  • Должно быть обосновано оборудование, на котором предполагается запуск компонентов системы. Необходимо указать размещение серверных компонентов: на собственном сервере, на хостинге, в облаке.
  • Необходимо указать требования к сохранности данных.