Разработка технического задания на программное обеспечение
Техническое задание нужно не для того, чтобы наказать подрядчика, и не для того, чтобы описать каждую кнопку. Оно нужно, чтобы две стороны одинаково поняли, что будет сделано, и чтобы на приемке не выяснилось, что каждый имел в виду свое.
Мы готовим ТЗ как отдельную работу: разбираем процесс, фиксируем требования, проектируем структуру данных и ключевые экраны. Результат остается у вас и годится для запроса цены у любого подрядчика — в том числе не у нас.
Зачем это заказчику
- Сравнимые предложения. Без ТЗ подрядчики считают разное, и цены отличаются в разы не потому, что кто-то дороже, а потому, что каждый понял задачу по-своему.
- Фиксированная цена. Смета, посчитанная по описанию в два абзаца, обязательно поедет. По внятному ТЗ можно зафиксировать стоимость и держать ее.
- Понятная приемка. Есть чек-лист, по которому проверяют результат. Спор «так не договаривались» сводится к чтению документа.
- Меньше переделок. Половина правок, которые всплыли бы на третьем месяце, обнаруживается при написании ТЗ и стоит часы вместо недель.
- Независимость от исполнителя. Если подрядчик не подошел, вы не начинаете с нуля: ТЗ ваше, и с ним можно идти дальше.
Что должно быть в ТЗ, а чего быть не должно
Как мы это делаем
- Разбираем задачу. Что за процесс, кто участвует, где сейчас теряется время, чего должно стать. Основной материал — разговоры с теми, кто будет работать в системе, и ваши текущие таблицы и документы.
- Определяем границы. Что входит в первую очередь, что во вторую, чего не делаем вовсе. Это самая ценная часть: большинство проектов срывается не из-за сложности, а из-за расползания объема.
- Проектируем данные. Сущности, связи, источники правды. Скучный раздел, который определяет все остальное: ошибка здесь дороже любой ошибки в интерфейсе.
- Описываем сценарии и правила. Как проходит работа от начала до конца, включая отклонения: отмена, возврат, ошибка, отсутствие прав. Правила расчета — с примерами и числами.
- Собираем прототип ключевых экранов. Кликабельный, с подписями. Он заменяет десятки страниц описания интерфейса и позволяет спорить о конкретном, а не о формулировках.
- Пишем критерии приемки. Что именно будет проверяться и как. Без этого приемка превращается в обмен мнениями.
Где здесь искусственный интеллект
- Разбор исходных материалов. Ваши таблицы, регламенты, переписка и записи разговоров превращаются в структурированный список сущностей, шагов и требований. Ручной разбор занимает дни.
- Поиск пропусков. По описанию сценария модель перечисляет случаи, о которых обычно забывают: отмена на середине, дубль, нет прав, нет связи, предельные значения. Это заметно сокращает число «а мы не подумали» на приемке.
- Проверка на противоречия. В большом документе легко написать в двух местах разное. Автоматическая вычитка находит такие расхождения лучше человека.
- Варианты прототипа. Два-три решения одного экрана за часы, чтобы обсуждать увиденное, а не описанное.
- Черновики формулировок. Типовые разделы — требования к ролям, к данным, к приемке — набрасываются быстро, а содержание вносит человек, который разговаривал с вашими людьми.
Сроки и стоимость
Эта доля почти всегда возвращается: за счет того, что подрядчики считают одно и то же, за счет отсутствия переделок из-за разного понимания и за счет вычеркнутого лишнего. Особенно заметно на проектах, где сравниваются несколько предложений.
Напишем ТЗ, с которым можно идти к любому подрядчику
Расскажите, какую систему хотите сделать и что уже понятно. В ответ — план работы, состав документа, сроки и стоимость. Готового ТЗ от вас не требуется: требования формулируем вместе.
Документ остается у вас. Работать по нему можем мы, а можете не мы — это нормально.
Нужно ли ТЗ вообще
Честный ответ: не всегда, и это зависит от размера задачи и от того, как вы собираетесь работать.
Без ТЗ можно обойтись
Небольшая задача на несколько недель, один исполнитель, которому вы доверяете, работа по времени а не по фиксированной смете, возможность корректировать по ходу. Здесь документ отнимет больше, чем даст: хватит списка сценариев и прототипа.
ТЗ обязательно
Фиксированная цена, тендер или сравнение нескольких подрядчиков, несколько подразделений с разными интересами, интеграции с чужими системами, госзакупка или необходимость обосновать бюджет перед собственником.
Мы сами не требуем ТЗ от заказчика: если его нет, формулируем требования вместе по ходу первого этапа. Но когда речь о фиксированной смете и о сравнении предложений — документ нужен, иначе сравнивать будет нечего.
Кто пишет ТЗ и почему это важно
Есть три варианта, и у каждого своя особенность.
Заказчик пишет сам. Плюс — глубокое понимание процесса. Минус — документ обычно получается списком пожеланий без структуры данных и без сценариев, и подрядчики все равно считают по-разному.
Пишет будущий исполнитель. Плюс — документ технически грамотный и сразу пригоден для работы. Минус — естественный интерес оставить пространство для маневра и возможность заложить в решение то, что этому исполнителю удобно.
Пишет независимая сторона. Плюс — сравнимые предложения и отсутствие привязки. Минус — дополнительные расходы и время. Мы делаем и так, и так: если вы заказываете у нас ТЗ, а разработку ведете с другими, это нормальная ситуация, и документ пишется именно под нее.
Разбор существующего ТЗ
Отдельная услуга, которую заказывают чаще, чем написание с нуля. У вас уже есть документ — от внутреннего специалиста, от консультанта или от подрядчика — и нужен независимый взгляд до того, как по нему начнут работать.
Мы читаем его и отвечаем на три вопроса. Первый: чего в нем не хватает — какие сценарии, отклонения и правила не описаны и всплывут в середине проекта. Второй: где формулировки допускают разное понимание — это места будущих споров. Третий: реалистичны ли сроки и бюджет, которые по нему называют.
Это занимает несколько дней и обычно окупается на первом же найденном пропуске. Особенно полезно, когда ТЗ написал потенциальный исполнитель: у него есть естественный интерес оставить в документе пространство для маневра.
Частые ошибки
- Пишут ТЗ как список функций. «Должна быть возможность...» на сто пунктов. По такому документу невозможно понять, как человек работает, и оценка по нему всегда мимо.
- Описывают только счастливый путь. Отмены, возвраты, ошибки и исключения занимают половину разработки, а в документе их нет.
- Не указывают объемы. Сколько записей, сколько пользователей одновременно, сколько документов в день. Система на сто записей и на пятьдесят тысяч — разные системы.
- Оставляют правила расчета словами. «Скидка рассчитывается по действующим правилам». Нужны формула и примеры с числами, иначе каждый поймет по-своему.
- Включают все пожелания сразу. Без разделения на очереди проект становится неподъемным еще до старта.
- Не пишут критерии приемки. Тогда неясно, когда работа закончена, и этап может длиться вечно.
Что вы получаете
- Документ на 20–40 страниц — без воды, с разделами, которые реально читают.
- Схему данных — сущности, связи, источники правды.
- Кликабельный прототип ключевых экранов с подписями к элементам.
- Разбивку на очереди с оценкой трудоемкости по каждой.
- Критерии приемки — чек-лист, по которому проверяется результат.
- Оценку сроков и бюджета — от людей, которые сами разрабатывают, а не считают по аналогии.
Дальше по теме
Частые вопросы
Что должно быть в техническом задании?
Зачем система и какую задачу закрывает; роли — кто что делает и что видит; сценарии работы целиком, включая отклонения; данные — сущности, связи, источники правды; правила расчета с примерами и числами; интеграции; объемы данных и число пользователей; критерии приемки. Обычно это 20–40 страниц плюс прототип ключевых экранов.
Чего в ТЗ быть не должно?
Описания каждой кнопки и цвета — для этого есть прототип. Выбора языка и фреймворка за подрядчика. Двухсот страниц, которые никто не прочтет целиком. И требований ко второй и третьей очереди вперемешку с первой: без разделения на очереди проект становится неподъемным еще до старта.
Сколько стоит и занимает подготовка ТЗ?
ТЗ на систему под один процесс с прототипом — 1–2 недели. На систему с несколькими ролями, интеграциями и расчетами — 3–5 недель. По бюджету это обычно 5–10% от стоимости разработки, и эта доля возвращается за счет сравнимых предложений и отсутствия переделок.
Нужно ли ТЗ вообще?
Не всегда. На небольшой задаче с одним исполнителем, которому вы доверяете, и работой по времени документ отнимет больше, чем даст — хватит списка сценариев и прототипа. ТЗ обязательно при фиксированной цене, сравнении нескольких подрядчиков, нескольких заинтересованных подразделениях и при необходимости обосновать бюджет.
У нас уже есть ТЗ. Можно его проверить?
Да, это отдельная услуга, и заказывают ее чаще, чем написание с нуля. Мы отвечаем на три вопроса: чего не хватает и что всплывет в середине проекта, где формулировки допускают разное понимание, реалистичны ли названные по нему сроки и бюджет. Занимает несколько дней.
Можно ли заказать ТЗ у вас, а разработку у других?
Да, и документ пишется именно под такой сценарий. Независимое ТЗ дает сравнимые предложения: без него подрядчики считают разное, и цены отличаются в разы не потому, что кто-то дороже, а потому, что каждый понял задачу по-своему.
Требуете ли вы ТЗ от заказчика перед разработкой?
Нет. Если ТЗ нет, требования формулируем вместе по ходу первого этапа. Документ нужен, когда речь о фиксированной смете и сравнении предложений — тогда без него сравнивать нечего.
Какие ошибки в ТЗ встречаются чаще всего?
Список функций вместо описания работы; только счастливый путь без отмен, возвратов и ошибок (а они занимают половину разработки); отсутствие объемов — сколько записей и пользователей; правила расчета словами вместо формул с примерами; отсутствие критериев приемки, из-за чего непонятно, когда работа закончена.