Начнём с главного. Что же такое техническое задание и зачем и когда оно нам нужно. Техническое задание – это документ, который берётся за основу при разработке любого проекта. Мы бы даже сказали, что это документ, который должен возникнуть первым при начале любого дела и любого сотрудничества. И совершенно не важно, какой сложности и величины задание, что конкретно вы заказываете исполнителю: сайт или внедрение программного продукта, первое, что должен спросить у вас исполнитель – это чёткое и понятное ТЗ. Если перед заключением договора в разговоре с вами даже слова такого не возникает, то даже продолжать разговор не стоит (подробнее о том, как выбрать компанию для внедрения программы мы поговорим в одном из следующих номеров). И это надо не исполнителю! Нет! Совсем наоборот! Чем более расплывчатое ТЗ будет подготовлено, тем больше у исполнителя шансов «впарить» вам лишние работы, дополнительные услуги. Больше вероятность возникновение тех самых пунктов, которые в договоре обычно формулируют «Дополнительные работы оплачиваются отдельно». Техническое задание в первую очередь нужно заказчику, чтобы потом исполнитель работал не на честном слове. Чем чётче будет сформировано ТЗ, тем ближе финальный результат будет к тому, что вы рисовали себе в ваших самых радужных мечтах. Именно поэтому и нежелательно отдавать составление ТЗ на откуп исполнителю. Ведь это ваша мечта! Кто, кроме вас сможет её лучше описать? Кроме того, техническое задание – это документ, по которому вы впоследствии будете принимать сделанную работу. И если что-то не будет выполнено, то при обосновании претензии достаточно указать на соответствующий пункт. Да и вам самим будет проще, подписывая акт, сравнить всё с тем перечнем работ и задач, которые были указаны в первоначальном ТЗ, чтобы вспомнить всё.
Итак, на что же обратить внимание при составлении технического задания. Даже если у вас не очень сложный и не очень специфичный проект, всё равно в вашем техническом задании обязательно должен быть словарь терминов и определений. Почему это важно. Да просто потому, что даже когда вам кажется, что вы с исполнителем понимаете друг друга с полуслова, всё равно, при ближайшем рассмотрении, окажется, что обязательно найдутся слова, фразы или обороты речи, которые вы понимаете по разному. И не надо этого стесняться. Проигрывает обычно не тот, кто проговаривает и формулирует даже самые обычные с его точки зрения слова, а тот, кто этого не делает. Кстати, этот пункт обязателен для обеих сторон. Поэтому не надо стараться казаться умным. Лучше попросите вашего исполнителя включить в этот словарь все его определения. А ещё лучше – составьте его вместе. Лишний повод обсудить будущий проект. Это далеко не лишняя трата времени, потому что известны случаи, когда отсутствие понимания в терминах привело к срыву сроков более чем на месяц. Что на ваш взгляд дороже: 2-3 часа работы двух человек или целый месяц работы команды?
Абсолютно не имеет значения: отдаёте вы данному конкретному исполнителю весь проект целиком или только его часть. Всё равно в техническом задании нужно указать, какие цели у Вашего проекта в целом, для чего он создаётся, как будет работать, что должно быть в конечном результате. Делая это, вы, во-первых, избавляете себя от вопросов, которые вам кажутся неважными, но на самом деле могут являться ключевыми на любом этапе. Во-вторых, будет проще добиться того, чтобы все составляющие проекта, в конечном итоге, работали слаженно и вместе, а не изображали из себя всем известных рака, лебедя и щуку. В-третьих, этим простым действием вы получаете себе в союзники лишнюю голову (а то и не одну), в которых может родиться гениальная мысль, как улучшить ваш проект в целом.
Если у вас есть примеры каких-то технических элементов, решений, функций, которые вам очень нравятся, и которые вы хотите иметь у себя, не забудьте описать их в техническом задании. Это и есть функциональные требования. Что же касается условий, как и с помощью чего должно быть это решено, т. е. специальных требований. Если у вас нет никаких жёстких ограничений по этому поводу (совместимость с определённой программой или оборудованием, например), то лучше этот вопрос оставить на усмотрение исполнителя. И не забивать себе голову этими проблемами!
Обязательно в техническом задании должны быть оговорены сроки выполнения. И это, пожалуй, один из основных пунктов. Но и здесь есть нюансы. Первое: есть правило при расчёте сроков, что максимальная загрузка человека составляет не более 80% от рабочего времени. Иначе вы рискуете нежданно-негаданно попасть в ситуацию форс-мажора, когда человек по независящим от него причинам просто не уложился в срок. Этот факт вы можете проверить даже на себе. Попробуйте целый рабочий день заниматься только рабочими делами: без чая-кофе, перекуров-перерывов и тому подобных мелочей. Вы увидите, что это практически невозможно. И большая часть несвоевременного выполнения работ происходит именно по этой причине. Поэтому всегда берите с небольшим запасом, чтобы скорость исполнения не повлияла на качество. И второй очень важный момент. Не забудьте запланировать время ваше и ваших сотрудников на всевозможные проверки, подбор и предоставление данных, тестирование и приём работ. Это тоже очень важный этап любого проекта, без которого он просто не может состояться. И самая распространённая ошибка среди заказчиков. А заодно и самая частая ловушка от исполнителей. Если вам говорят: «Мы всё сделаем сами. Вам ничего не придётся делать», это может означать только два варианта: либо вам пытаются «подсунуть» типовой безликий проект без ваших особенностей и нюансов, который потом придётся всё равно доделывать или просто списывать выкинутые деньги. Либо вам включат работу, с которой справится любой оператор-студент по цене высококвалифицированного специалиста. Вам как больше нравится?
Ну и конечно не забудьте прописать всё, что касается отчётности и ответственности.
В заключение хотим привести 3 правила, которые позволят составить действительно работающее техническое задание.