Описание через продукт вместо задачи, отсутствие критериев приёмки и забытая миграция данных как основные дефекты.
Плохое техническое задание проявляется не на этапе закупки, а через полгода после неё, когда выясняется, что поставщик выполнил написанное, а не то, что имелось в виду. Исправление на этой стадии стоит кратно дороже, чем аккуратная формулировка вначале.
Работающее задание содержит контекст и границы, перечень процессов с их текущим состоянием, функциональные требования, разделённые на обязательные и желательные, требования к данным и интеграциям, критерии приёмки с измеримыми значениями, требования к сопровождению и порядок изменения требований по ходу проекта. Последний пункт пропускают чаще всего, а он определяет, во что превратится проект при первом же уточнении.
Формулировки вида «система должна обеспечивать удобную работу пользователей» не проверяются и потому не работают. Проверяемая формулировка содержит действие, условие и значение: количество шагов для выполнения операции, время отклика при заданной нагрузке, доля операций, выполняемых без обращения в поддержку.
Задание пишется после того, как понятен круг возможных решений, иначе требования либо повторяют один продукт, либо оказываются нереализуемыми. Порядок сужения круга описан в услуге подбора программных решений, а отбор исполнителей в подборе поставщиков и подрядчиков.
Задание, написанное только ИТ-службой, описывает систему. Задание, написанное только бизнесом, описывает пожелания. Рабочий вариант получается, когда требования формулирует владелец процесса, а ИТ-служба переводит их в проверяемый вид и добавляет ограничения по архитектуре. Внешняя сторона нужна там, где надо удержать нейтральность и не дать заданию превратиться в описание одного продукта.
Собираем задание в проверяемом виде, включая критерии приёмки и требования к данным. Услуга описана на странице технического задания для закупки.