Часто возникает проблема между Заказчиками и Разработчиками в понимании друга друга и задачи.
Чтобы решить эту проблему обычно Разработчики говорят Заказчику — напиши ТЗ (техническое задание). Чтобы понять что нужно.
Чаще всего это приводит лишь к усугублению проблемы ? Потому что обычно вместо ТЗ пишется некий документ содержащий сочинение на тему желаний. Который затем достаточно сложно реализовать.
Почему так происходит? Смею предположить причина в том что стороны не понимают что такое ТЗ, в чем его смысл, как оно выглядит и что должно быть после него ?
ТЗ и ГОСТ
Чаще всего люди идут гуглить что такое ТЗ, налетают на ГОСТ и пытаются делать по нему ? Вот только они не учитывают что ТЗ по ГОСТ было придуман для проектов на 1000 человек, и только одна подготовка такого ТЗ если делать ее правильно может стоить 1-2-10 млн. руб. Не считая работ по его реализации. А пытаются это применять для проектов где работает 1-2-3 человека ? Делается это все без понимания особенностей такого документа и получается как раз то самое собрание сочинений. Бессмысленное и беспощадное.
ТЗ и Бритва Оккама
Бритва Оккама в данном случае говорит о том что наиболее простое решение — наиболее верное. Если нет веских причин для усложнения.
Какое самую простую форму ТЗ можно придумать? Ответ — простой список задач (требования, пожеланий). Чаще всего именно эта форма наиболее адекватна.
Иногда она может расширяться некоторыми полезными артефактами (разделами):
- Цели — описать не только то что надо сделать, но и для чего мы это делаем? Чтобы что? Это бывает полезно для повышения качества результатов.
- Снимки, фото, звуки, примеры — бывает полезно добавить в задание снимок ошибки (например когда мы делаем сайт) или пример/фото того как это сделано у кого-то еще.
Да, если проект реально большой, у вас есть 10-20 человек заинтересованных в результате, ТЗ согласовывается с ними пол года, а потом есть 100-200 человек, которые будут реализовать этот проект — тогда можно взять ГОСТ или сделать какой-то большой документ. Иначе — у вас не хватит ресурсов сделать качественную постановку задачи, а потом те кто будут делать — не осилят изучение. И один лишь контроль приемки работ по такому ТЗ превратится в ад.
Техническое решение или ТР
А вот та самая часть, которую многие совсем не понимают. Кроме технического задания (в котором может быть просто 3-4 пункта пожеланий на салфетке из кафе), может быть еще техническое решение. Оно чаще всего гораздо важнее чем ТЗ и сильнее влияет на конечный результат.
Техническое решение — пишет как раз Разработчик, где описывает то как он видит решение, что предлагает.
Зачем это нужно? Чтобы исключить разное понимание условий и снизить риски расхождения ожиданий.
Пример для понимания. Заказчик дает ТЗ «Я хочу есть», а Исполнитель предлагает ТР «На вот яблоко». Далее может быть 3 сценария: Заказчик соглашается, корректирует/просит предложить что-то еще или отказывается от дальнейшего общения ?
Чаще всего Заказчик либо принимает решение, либо просит что-то поправить и затем принимает решение.
Почему ТР важно?
ТР важно по ряду причин:
- Только Разработчик реально знает как решать задачу (по этой причине Заказчик обычно к нему и обращается), а значит только он может описать детали того как можно получить ожидаемый результат
- У любой задачи может быть 3-4 варианта решения (а часто больше), и тут Заказчик должен убедиться что Разработчик может предложить нечто адекватное
- Задача одна, но несколько вариантов решений часто означает разные цены. причем вилка цен может быть условно от 100 000 руб до 10 000 000 руб. ТР позволяет составить список условий и сузить разброс цен — уложиться в нужный бюджет и срок.
По ходу составления списка решений, предложений и условий — Разработчику надо будет задавать вопросы, обсуждать детали, он просто начнет понимать задачу ?
Именно составление ТР — позволяет Разработчику понять Заказчика. А Заказчику убедиться что Разработчик понял задание. Именно отсутствие этой части в проекте — зачастую приводит к недопониманию и конфликту.
Когда можно без ТР?
Есть некоторые ситуации когда ТР не нужно. С ходу могу назвать 2 условия:
- Если между Заказчиком и Разработчиком есть полное взаимопонимание и доверие, большой успешный опыт совместной работы. Когда Заказчик целиком доверяет Разработчику и полагается на его знания.
- Если мы работаем по Agile и у нас мелкие простые задачи
Исключение из п.2 — даже в Agile, если есть большая задача (Epic-project), у которой как правило 3-4 стейкхолдера, ее будут делать 2-3 разработчика на 5-6 месяцев, то не помешает сформулировать ТЗ и потом прописать/согласовать ТР. Чтобы убедиться что Стейкхолдеры (Заказчики) и Разработчики (Исполнители) — поняли друг друга.
Итого
Разработчики часто жалуются на то что Заказчики не могут написать хорошее ТЗ. А без внятного ТЗ как известно результат ХЗ.
Как мне кажется причина не в том что Заказчик не может написать хорошее ТЗ, а в том что никто не понимает что это такое. В том числе сам Разработчик.
И даже если Разработчик поймет что такое ТЗ, то для написания ТР снова нужны усилия и ответственность. А если лень то получаем рост Риска получить в результате не то что ожидали + Конфликт.
Потому эти особенности надо запомнить как Заказчику, который хочет получать ожидаемые результаты и на старте оценить адекватность Разработчика. Так и Разработчику, который хочет сделать то что нужно Заказчику, деньги, отзыв и славу ?
Основные тезисы:
- Заказчик пишет ТЗ, оно может быть коротким, на салфетке из кафе, и содержать 3-4 пункты ключевых требований
- ТР — пишет Разработчик, оно может быть длинным, его цель сформулировать, согласовать и зафиксировать задание и предлагаемое решение.
- Только пара из ТЗ и ТР позволяет получить взаимопонимание между Заказчиком и Разработчиком.
- Иногда можно отказаться от ТР, но надо хорошо понимать когда это можно делать и последствия
Источник: https://wpcraft.ru/kejsy/tehnicheskoe-zadanie-i-tehnicheskoe-reshenie/