Это страшное слово «техзадание», или Как правильно поставить задачу айтишнику

Когда возникает необходимость поставить задачу на разработку, даже у опытных постановщиков может начаться приступ паники: «А как? А что? Я не умею!» Юрий Алексеенко, руководитель департамента разработки «Сантехники-Онлайн», разбирает основные заблуждения и рассказывает, как создать полезное ТЗ.

Чего боятся заказчики

Техническое задание должно быть написано в соответствии со стандартами и ГОСТами.

Действительно, существуют отрасли и масштабные проекты, где техническое задание представляет собой сложный стандартизированный документ. Однако в повседневной практике ТЗ не обязательно должно строго соответствовать стандартам и ГОСТам. Главное — ясно и понятно сформулировать требования к проекту и изложить их простым и доступным языком.

Как я могу написать ТЗ, если не разбираюсь в программировании?

Важно отличать техническое задание от технического проекта. Заказчик редко обладает техническими знаниями и не обязан разбираться в программировании. Его задача — описать, что он хочет получить и какую проблему нужно решить. Именно это описание является техническим заданием. А разработку технической архитектуры продукта выполняют специалисты на основе вашего технического задания.

Техническое задание нужно писать канцелярским языком.

Если вы когда-либо пытались читать законодательные акты в первоисточнике, то, вероятно, знаете, насколько они могут быть сложными для понимания. Не стоит использовать подобный стиль, когда пишете ТЗ, — помните о программисте, который будет его читать. Лучше пишите простым понятным языком, как если бы объясняли свою идею другу.

Техническое задание должно быть объемным и внушительным документом.

На самом деле это не так, и нет необходимости усложнять. Если для описания вашей потребности достаточно одного предложения, то напишите одно предложение.

Так каким должно быть идеальное техзадание?

Это страшное слово «техзадание», или Как правильно поставить задачу айтишнику

Идеального технического задания не существует, но есть два ключевых фактора, к которым стоит стремиться:

1. ТЗ должно быть понятным. Подходите к его написанию с точки зрения потенциального читателя и задайте себе вопрос: «Если бы я читал этот текст впервые, понял бы я, о чем здесь говорится?»

2. Техзадание должно максимально точно описывать то, что вам нужно. Все значимые нюансы задачи следует указать. Не нужно ничего пропускать с мыслью: «да это и ёжику понятно». Ёжик в разработке участвовать вряд ли будет, а вот программист может понять иначе.

Рекомендации по структуре ТЗ

Это страшное слово «техзадание», или Как правильно поставить задачу айтишнику

По роду деятельности мне довелось написать не одну сотню ТЗ. Я анализировал, насколько понятны были описанные мной документы, с какими вопросами возвращались ко мне разработчики, насколько полученный результат соответствовал моим ожиданиям. Это позволило мне задуматься над тем, каким образом можно написать ТЗ так, чтобы получить точный результат и минимизировать количество вопросов от разработчика? С течением времени я пришел к определенной структуре технического задания, которой сейчас готов поделиться с вами.

Вводная часть

Опыт показывает, что для разработчика гораздо проще понять задачу, если предоставить обобщенное описание объекта (механизма, процесса и т. д.), касающегося предстоящей разработки. Подразделы вводной части могут включать в себя следующие блоки:

Как сейчас

Если задача разработки включает изменения в чем-то, уже существующем (особенно если это существующее должно быть базой для нового), необходимо описать, как выглядит объект разработки в настоящее время. Изображения экранов (скриншоты) могут значительно облегчить понимание. Разработчики ценят визуальные материалы, пословица не зря гласит: «лучше один раз увидеть, чем сто раз услышать».

Проблематика

Опишите причины необходимости данной разработки, какие проблемы она должна решить. Понимание сути проблемы поможет разработчику выбрать наиболее подходящее решение.

Что надо сделать

Именно так — Что надо сделать — я называю основной раздел технического задания. Разработчик понимает, что тут заканчивается обобщенная информация и начинается конкретика.

Излагая задачу, старайтесь придерживаться следующих правил.

  • Разбивайте задачу на пункты, разделы, подразделы. Четкая структура помогает лучшему пониманию. Используйте иерархическую нумерацию.
  • Пункты ТЗ располагайте последовательно, в таком порядке, в каком будет (по вашему мнению) выполняться разработка.
  • Используйте маркированные списки, если нужно перечислить какие-то значения. Они легче воспринимаются, чем перечисление в строку через запятую.
  • Дополняйте описание визуальными элементами, такими как схемы, макеты, эскизы. Например, для разработки интерфейсной формы можно предоставить пример компоновки, созданный в Excel.
  • Подкрепляйте задачу примерами. Зачастую именно на примере проще понять задумку.
  • Помните: чем больше нюансов вы уточните в ТЗ, тем меньше результат разработки будет отличаться от ваших ожиданий.

Сценарий тестирования

Сценарий тестирования — это описание последовательности действий, выполняемых в разработанном продукте, с указанием ожидаемого результата.

Представьте, что продукт уже готов. Как бы стали его проверять? Опишите этот алгоритм проверки.

  • Во-первых, сценарий тестирования станет дополнением к описанию, помогающим разработчику понять задачу.
  • Во-вторых, он поможет протестировать задачу. А значит, повысит вероятность, что вы получите продукт без ошибок.

Ой, а как же всё продумать? И это вписать, да то не забыть. Да еще какую-то структуру соблюсти?

Описание объемных задач часто вызывает затруднение даже у опытных постановщиков. Мысли путаются, перескакивают с одной темы на другую, в голове хаотично всплывают нюансы и пищат: «Про меня не забудь! Не забудь! Не забудь!» А написать нужно последовательно и понятно. Как же обуздать хаос мыслей и построить их в правильные ряды и шеренги?

Довольно просто: садитесь и начинайте писать. Начните «крупными мазками» записывать роящиеся в голове мысли. Косноязычно, в любой последовательности, как придется. Если в процессе записи одной мысли всплывает другая и вы боитесь ее потерять, сделайте короткую заметку в конце документа.

В итоге наступит момент, когда вы поймете, что мысли и идеи так или иначе уже зафиксированы в тексте. И вот тогда начинайте приводить написанное в порядок: выстраивать в нужную структуру, переписывать «красиво», дополнять деталями.

Проверяйте свое техзадание на «понимабельность»

Это страшное слово «техзадание», или Как правильно поставить задачу айтишнику

После того, как вы закончили работу над текстом, важно провести самопроверку на его понятность. Представьте себя в роли человека, который:

  • не читал этот документ ранее,
  • не знаком с предметом разработки.

Из этой позиции оцените свой документ: будет ли вам понятно, что в нем изложено.

В качестве итога

Если вы не можете описать то, что вам нужно, значит вам ничего не нужно.

Составление технического задания — это не такое уж и страшное занятие. Если вы профессионал в своем деле, то вы уже знаете, что именно вам нужно от разработки. И если вы понимаете свои потребности, то вам будет легко их описать. Хотя, честно говоря, написание ТЗ — это не такое уж легкое занятие. Но справиться с ним вам вполне по силам.

И еще маленький секрет: авторы четких и развернутых технических заданий всегда пользуются уважением среди разработчиков и получают решения своих задач быстрее других.

3.6K3.6K показов
396396 открытий
7 комментариев

Мне кажется, вы больше про БТ написали, а не ТЗ, не?)

Ответить

Вы правы в значительной степени.
Грань между Бизнес-требованиями и Тех. заданием в повседневной жизни весьма плавающая. Равно как и грань между Тех. заданием и Тех. проектом.
В каждой организации понимают немного по-своему.

Моя личная классификация такая:
1. Бизнес требования: сделай устройство для повышения производительности при перемещении картошки по огороду.
2. Тех. задание: словесное описание и эскиз садовой тачки.
3. Тех. проект: чертеж садовой тачки, с расчетом габаритов, нагрузки на оси, с выбранными типами подшипников и т.д.

Ну как-то так :)

Ответить

Как быть, если задача связана с реализацией процесса, изначально не предусмотренного в архитектуре? Например я увидела у другого бренда желаемую механику, но что там под капотом сказать сложно. При этом инхаус разработка говорит, что подобные вмешательства требуют значительных изменений и "вряд ли подобное реализуемо".

Ответить

Волшебных таблеток не бывает. Действовать следует так:
1. Всё же добиться от архитектора оценки задачи. Однако, следует понимать, что сама по себе оценка сложной задачи - это уже работа и затраты времени. По этому на первой итерации может быть достаточно очень приблизительной оценки.
2. Обозначьте архитектору, какие элементы механики вам особенно интересны. Сформулируйте, для чего именно вам нужна такая механика, какую пользу вы хотите извлечь, какую проблему хотите решить. Попросите найти компромиссные решения. Зачастую приходится пожертвовать небольшой частью "хотелок" заказчика, но при этом значительно сократить объем разработки.
3. Далее - бизнес-оценка: Оцените рентабельность инвестиций в разработку этой задачи. Сколько выгоды принесет проект? Имеется ли у вас бюджет для такой инвестиции? Если проект рентабельный - вперед, можно рассмотреть расширение штата разработки или привлечение подрядчика. В случае нерентабельности - забудьте и ищите другие пути к успеху. :)

Ответить

Правильно сказано что если Вы не можете описать то, что вам нужно, значит вам ничего не нужно. Прям однозначно! Нужно суметь правильно объяснить и донести до окружающих то что ты хочешь. От правильной постановки задачи, либо тз зависит и быстрота её исполнения, а самое главное правильность исполнения.

Ответить

Закон Мерфи для ТЗ - если что-то из написанного может быть понято неправильно, оно будет понято неправильно.

Ответить