Составление технического задания на разработку ПО, веб-приложений и информационных систем. Написание ТЗ с фиксацией требований, пользовательских сценариев и ограничений. Результат — документ, по которому разработчики работают без лишних вопросов.
Разработка ТЗ — этап, который большинство заказчиков хочет пропустить. Логика понятна: кажется, что можно сразу перейти к разработке, а требования уточнять по ходу. На практике это приводит к тому, что проект стоит вдвое дороже плана, сдаётся с опозданием на несколько месяцев, а на выходе получается не то, что нужно.
Причина — разрыв между тем, что заказчик имеет в виду, и тем, что разработчик реализует. Без зафиксированных требований каждый трактует задачу по-своему. И каждый — по-своему прав.
Написание технического задания на разработку закрывает этот разрыв. Аналитик собирает требования от всех заинтересованных сторон, формализует их в однозначных формулировках и согласовывает с командой разработки до начала работы. Это сокращает количество итераций и делает оценку сроков предсказуемой.
ТЗ — не формальность для договора. Это рабочий инструмент команды разработки. Хорошо написанное техническое задание позволяет разработчику не задавать вопросы каждые два дня, тестировщику понять, что считать корректным поведением, а заказчику — принять работу по чётким критериям.
Составление технического задания начинается с серии интервью. Аналитик разговаривает с заказчиком, будущими пользователями системы, иногда с техническим директором. Задача — не записать пожелания, а выявить реальные потребности. Пожелание «сделайте удобнее» — не требование. Требование — «пользователь должен завершить оформление заказа за не более чем 3 шага».
После интервью — анализ и структурирование. Требования разбиваются на функциональные блоки, каждый блок описывается с точки зрения входных данных, логики обработки и ожидаемого результата. Для сложных сценариев — диаграммы последовательностей или BPMN-схемы.
Разработка технического задания на проектирование включает описание архитектурных ограничений. Какие интеграции нужны с существующими системами. Какой стек допустим. Какие требования по нагрузке и безопасности. Это не всегда очевидно заказчику, но критично для разработчиков.
Отдельный раздел — нефункциональные требования. Производительность: сколько пользователей должна выдерживать система одновременно. Надёжность: какой допустимый downtime. Безопасность: какие данные обрабатываются и какие требования к их защите. Без этих требований разработчики делают выбор самостоятельно — и не всегда тот, который нужен заказчику.
Написание ТЗ на разработку завершается согласованием с командой. Разработчики читают документ и задают вопросы — это нормально. Вопросы на этапе ТЗ стоят в разы дешевле, чем те же вопросы на этапе разработки. После согласования ТЗ становится приложением к договору.
Стоимость и сроки зависят от сложности проекта. Простое ТЗ для небольшого веб-приложения — 3-5 дней. ТЗ для корпоративной системы с несколькими модулями и интеграциями — 2-4 недели. Оценку даём после первого брифинга.