Как написать техническое задание на разработку мобильного приложения

Привет! С вами снова мы, разработчики мобильных приложений «Лайв Тайпинг». В этот раз мы расскажем, что такое техзадание на разработку, как его написать и можно ли сделать это самостоятельно. А ещё покажем, как делаем документацию мы. Если хотите разобраться в этом вопросе — наша статья поможет вам

В широком смысле, техническое задание (ТЗ) — это документ, который в общих чертах описывает проект, продукт и/или задачу. Это описание может включать цели, требования, техническое устройство — всё, что кажется важным. Но главное — ТЗ помогает людям договориться о результате.

Заказчикам ТЗ помогает описать, что они хотят, а подрядчикам — сделать именно это. Так что без ТЗ результат действительно… сами знаете какой!

ТЗ можно написать вообще на всё. Просите коллегу заказать обед — напишите ТЗ. Просите жену/мужа/брата/троюродную бабушку купить молоко — напишите ТЗ. Мы, конечно, утрируем и шутим, но зато так вы получите результат, который хотели: )

На разработку мобильного приложения тоже можно составить ТЗ: можно сделать это самостоятельно, можно с помощью специалистов. А можно не писать его вообще. Сейчас мы как раз и разберёмся, когда и как лучше поступить! Ну, а если ТЗ у вас уже есть, и вы ищите команду, которая сможет воплотить его в жизнь, — вы знаете, к кому обратиться.

Что в статье

Техническое задание на разработку мобильного приложения: что это такое

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

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

Когда нужно составлять техзадание на разработку приложения

ТЗ необходимо, когда вы обращаетесь за разработкой сложного ИТ-сервиса в незнакомую компанию. То есть почти всегда. Можно прийти к разработчикам без ТЗ, на словах рассказать, какого результата ожидаете, и уже вместе составить ТЗ — такой вариант тоже окей.

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

1. Когда вам срочно нужна точная оценка проекта. Если в этой ситуации вы приходите с готовым ТЗ, в котором всё расписано по полочкам: сколько в приложении пользовательских ролей, какой у пользователя путь, какие технологии нужно использовать, какие интеграции производить, то разработчики в течение 1-2 дней смогут ответить вам, сколько всё это будет стоить. И будут достаточно точны. Обратная закономерность тоже справедлива: чем меньше детализация требований, тем дольше и примернее делается оценка.

2. Когда вы меняете подрядчиков в процессе разработки. Бывает такое сотрудничество, когда вы с подрядчиками занимаетесь разработкой без ТЗ и отлично понимаете друг друга. Но если вам вдруг придётся менять команду, то без ТЗ новым разработчикам будет сложно понять, что делать. Конечно, они в итоге разберутся, но потратят много времени (=ваших денег) на коммуникацию в процессе разработки.

Сейчас я работаю над приложением, в котором чувствуется необходимость ТЗ (они пришли к нам на поддержку без него). Это нестандартный проект. У клиента есть своя команда по разработке бэкенда, они управляют всеми заданиями, которые идут к нам. При этом информации нам недостаточно — приходится почти по каждой задаче обращаться к клиенту и переспрашивать. Это растягивает часы

Иван, Android-разработчик в «Лайв Тайпинге»

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

Как написать ТЗ для мобильного приложения самостоятельно

Можно попробовать сделать ТЗ самостоятельно. Для этого вам потребуется весь опыт, который есть в интернете, и технические знания. Если технические знания есть, то давайте разбираться с проработкой ТЗ. Если нет — сразу переходите к разделу про технических писателей.

Структура технического задания на разработку

Вообще, у ТЗ на разработку мобильного или веб-приложения есть стандарты качества: отечественные ГОСТы и зарубежные стандарты (например, ISO/IEC/IEEE 29148:2018). Но ими пользуются редко: зарубежные стандарты на российском рынке не прижились, а ТЗ по ГОСТу необходимо только госсектору и компаниям, которые с ним сотрудничают. У крупных корпораций могут быть свои стандарты. Все остальные же пишут ТЗ как… чувствуют)

Точных и однозначных правил написания ТЗ нет. Главное, чтобы оно выполняло основную задачу — описывало будущий проект и взаимодействие на нём. Структура ТЗ, которую мы приведём далее, вполне отвечает этим задачам.

Возможная структура ТЗ на разработку мобильного приложения

1. Введение: общая информация о проекте; цели разработки мобильного приложения.

2. Основные требования: бизнес-требования; пользовательские требования; функциональные и нефункциональные требования; требования к интерфейсу; требования к безопасности.

3. Технические требования: платформы, на которых должно работать приложение; требования к производительности; требования к совместимости с другими приложениями или системами.

4. Архитектура приложения: описание основных модулей и компонентов; схема базы данных.

5. Дизайн и пользовательский интерфейс: описание дизайна и внешнего вида приложения; референсы; примеры интерфейсных элементов.

6. Тестирование: план тестирования приложения; описание тестовых сценариев.

7. Интеграция и релиз: планы по интеграции приложения с другими системами; план релиза и обновления приложения.

8. Поддержка и обслуживание: планы по поддержке и обновлению приложения.

9. Управление проектом: расписание работ; бюджет проекта; план приёмки работ.

10. Риски и ограничения: описание потенциальных рисков: ограничения при разработке и использовании приложения.

11. Соглашения и разрешения: лицензионные соглашения, разрешения на использование сторонних компонентов

Дополнять, развивать, уточнять эту структуру дальше можно как угодно. Лишь бы она закрывала и объясняла все важные для вас моменты.

Где искать шаблоны и примеры ТЗ на разработку

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

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

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

Лучше или не использовать готовые шаблоны и прописывать всё самостоятельно, или сразу обратиться к специалистам. Вы как заказчик не обязаны уметь писать ТЗ. Вам достаточно будет заполнить бриф на разработку. Этот документ поможет верхнеуровнево описать видение продукта. И с ним вы сможете прийти к разработчикам.

Кто занимается созданием технического задания на разработку

Обычно созданием технических заданий занимаются аналитики и архитекторы. Вопреки распространённому мему аналитик не тот, кто «проверяет, чтобы у всех было налито».

Аналитик — это человек, настраивающий коннект между вашим бизнесом и командой разработки. Своего рода билингвист, который может понять ваши требования на человеческом языке и переложить их на язык технический. То есть описать функционирование будущего приложения конструкциями, прочитав которые разработчики скажут: «А, это понятно! Я пошёл делать». В общем, грамотный аналитик — половина успеха будущего приложения.

Наша команда аналитиков <3

Ещё созданием ТЗ могут заниматься технические писатели. Они специализируются на создании документации и могут помочь структурировать и оформить информацию в ТЗ. Если не вдаваться в подробности — технические писатели тоже аналитики. Но где же их искать?

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

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

В команде исполнителя. Ни одна крупная студия мобильной разработки не обходится без аналитического отдела. И тут аналитики работают на две стороны: с одной, они — ваши доверенные лица, которые помогают описать, что вам нужно от приложения. С другой — часть команды (часть корабля) , которая будет претворять ваш замысел в реальность. Такой «стереоподход» помогает работать на общую цель.

А ещё вы можете нанять аналитика в свой штат — такая опция тоже есть. Или взять его на аутстаф у другой команды.

Кого выбрать — наше мнение

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

Но так или иначе разработчики всё равно займутся проработкой документации с нуля, чтобы учесть все тонкости. Ведь именно им нести ответственность за результат. А ТЗ для проекта как чертёж для здания: если ошибиться в расчётах, то пострадает вся конструкция

Сколько обычно стоит разработка ТЗ на мобильное приложение: сравнение цен

Мы посмотрели за вас, сколько стоит ТЗ на разработку, от разных специалистов. Вот что нам удалось выяснить:

Стоимость ТЗ в агентстве варьируется от 1500 до 2000 ₽ за час. Сколько часов на разработку ТЗ потребуется специалистам — зависит от объёма и сложности вашего проекта. Точную стоимость конкретное агентство сможет назвать только после оценки.

Стоимость ТЗ на фрилансе. На биржах фрилансеров всё тоже не очень прозрачно: часто можно встретить плашку «Цена договорная». На YouDo рекомендованная стоимость часа аналитика — 1400 ₽. Понятно, что кто-то из специалистов может поставить более низкую стоимость, а кто-то более высокую. Но тут нужно ещё потратить своё время, чтобы среди всех желающих написать ТЗ, выбрать лучшего.

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

Как понять, что ТЗ написано неудачно: red flags в проектной документации

На составление ТЗ для приложения без бэкенда уходит около 60 часов, а на сложный eCommerce можно потратить больше двухсот. А если каждый час стоит больше полутора тысяч… Не хочется платить такие деньги за документ so-so качества.

Прежде, чем пуститься в эту авантюру, лучше разобраться, как отличить качественное техзадание от некачественного. Если вы столкнулись с одним из этих «флажков», технического писателя лучше поменять (или хотя бы задуматься об этом) .

🚩 Вы не понимаете, что написано. Несмотря на то, что в ТЗ описываются сложные технические системы, текст должен быть понятным. Иногда мы жертвуем красивостью в пользу ясности, и пишем подряд одно и то же слово: «Пользователь может нажать на кнопку. После нажатия на кнопку, кнопка становится…» — не очень литературно, но однозначно.

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

🚩 Вам кажется, что автор что-то упустил. Если так, то вам скорее всего не кажется. Когда непрофессионал находит ошибку в работе профессионала, есть почти 100% вероятность, что ТЗ нужно перепроверить на более серьёзные неточности.

Внимание к этим вещам убережёт вас от неграмотного ТЗ. Но даже самая хорошая проектная документация не гарантирует, что всё пойдёт по плану. Успех проекта зависит не от документов, а от команды разработчиков. Для создания своего приложения выбирайте специалистов, которым доверяете и у которых есть релевантный опыт в разработке.

Проектная документация в Лайв Тайпинге: что используем мы

Мы так много рассказали о том, что такое ТЗ в классическом смысле, чтобы сказать, что в реальности всё может работать немного иначе. Важно — договориться. А всё остальное — только инструментарий.

С этой точки зрения, у технического задания есть минусы: оно громоздкое, в нём неудобно искать информацию, его тяжело читать. И поэтому, наверное, у каждой студии вместо ТЗ есть какой-то свой вариант проектной документации, работать с которым — удобнее.

Какие документы готовим для проектной работы мы

Функциональное задание. Самый мощный артефакт в нашей проектной документации — оно подробно описывает функции, которые доступны пользователю при работе с приложением. На его основе дизайнеры создают экраны, разработчики пишут код, а отдел QA проводит тестирование.

Ну, это так, для примера)

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

Описание компонентов системы. Вспомогательный артефакт, который уточняет работу архитектурных схем — что-то вроде пояснительной записки, которую могут понять те, кто не связан с разработкой напрямую. Этот документ создаём при необходимости.

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

Технические заметки. Описывают, как разработчики реализуют функции из функционального задания. Мы делаем технические заметки только на те места, которые кажутся нам рискованными: любые алгоритмы, расчёты, интеграции.

Спецификация API. Документ устанавливает нормы коммуникации приложения со своей серверной частью. Спецификация не нужна приложениям без бэкенда.

Документация на фичу. Это тип документов мы используем в работе с проектами на поддержке. Если они приходят к нам с небольшими задачами, то этот мини-формат, совмещающий в себе техническое и функциональное описание конкретной фичи, отлично заменяет монументальное ТЗ.

А понимать, как и когда мы сдаём работы и кто их принимает, нам и нашим клиентам помогает договор. Если тоже хотите всё понимать — приходите к нам!

Как это работает на практике

Такой подход помогает нам создавать только те документы, которые реально помогают делать проект. И не расходовать деньги клиента на полноформатное ТЗ. Покажем, как это работает на примере трёх проектов: приложения для спортсменов, приложения для доставки готового питания и приложения для еком-магазина.

Для приложения Gym Record мы не делали API, схемы и пояснения к ним. Это проект, который работает без бэкенда, поэтому документы, описывающие работу с серверами, были не нужны. Тут мы обошлись только функциональным заданием.

Сервис Justfood пришёл к нам на поддержку со своей документацией. Исходные документы помогли нам понять принципы работы приложения. На проекте мы внедряли и дорабатывали отдельные фичи, поэтому использовали документацию на фичу.

При разработке приложения D-Style использовали базовый набор документов. Написали функциональное задание, технические заметки, спецификацию API, архитектурные схемы и их описания, а описание компонентов системы делать не стали: на стороне клиента не было специалистов, которым была нужна эта информация.

Посмотреть, как выглядят наши документы, можно на этой страничке в разделе «Артефакты разработки мобильных приложений». А рассказать про свой подход к проектной документации — в комментариях. Там же делитесь своими лайфхаками и историями, о которых невозможно молчать, — мы всё выслушаем и поддержим вас!

Главные выводы про техническое задание на разработку

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

2. К техническому заданию на разработку приложения нет жёстких требований. Важно, чтобы оно описывало общие положения, назначение и цели проекта, функциональные и технические требования и определяло порядок контроля и приёмки работ.

3. Написать техническое задание самостоятельно можно, но сложно. Лучше поручить это экспертам, а ещё лучше — делать это с командой, которой вы собираетесь доверить разработку своего приложения.

4. Техническое задание — не единственный вариант. Его могут заменять другие документы, если они лучше и быстрее помогают договориться о сотрудничестве и его результатах.

Что ещё полезного про документы

0
15 комментариев
Написать комментарий...
Наргиза Сатывалдиева

Про «red flags» полезная инфа и про сравнение цен разработки емко объяснили что к чему, спасибо)

Ответить
Развернуть ветку
Евгений Бойченко
Автор

Спасибо! старались сделать полезно и раскрыть как можно больше деталей

Ответить
Развернуть ветку
Elena Balova

Информативная статья о важных аспектах проектирования.
Без внятной документации, как правило, намного больше времени уходит на обсуждение и согласование, чем на разработку, с доками время на согласования тратится в разы меньше (на минутку, часы разроботки стоят дороже, чем аналитики, дизайна и тестирования). Не говоря уже о критичных правках, из-за которых сроки могут улететь в космос. К примеру: на этапе, когда уже функциональность реализована или даже при смене членов команды проекта (новые мемберы останутся без контекста, невозможно передать все ранее оговоренные нюансы).
Был случай на старой работе, когда все требования фиксировались в чатике с клиентом, потом у клиента сменился менеджер, он конечно же только верхнеуровнево смог погрузиться и накидал своих требований идущих вразрез с основным флоу, насколько я знаю, к единому компромиссу с ним так и не пришли и проект до сих пор не ушел в продакшн.
PS Ну и конечно же бывают редкие исключения, некоторые описаны в статье.

Ответить
Развернуть ветку
Евгений Бойченко
Автор

Чувствуется фидбэк от профи! Спасибо!

Ответить
Развернуть ветку
Алексей Полицеймако

Я думал, что написание ТЗ на разработку приложения — сложная задача

Ответить
Развернуть ветку
Alexandr Lyubeznov

Я думаю, что такой документ может быть полезен

Ответить
Развернуть ветку
Евгений Бойченко
Автор

Супер, очень рады!

Ответить
Развернуть ветку
Stanislav Kychanov

red flag - если архитектуру пишет аналитик, а не архитектор.

Ответить
Развернуть ветку
Евгений Бойченко
Автор

А если аналитик с навыками архитектора?

Ответить
Развернуть ветку
Stanislav Kychanov

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

Ответить
Развернуть ветку
Евгений Бойченко
Автор

Вопрос нейминга. Порой общаясь с людьми из энтерпрайз-разработки узнаю, что делают они все то же самое, что и небольшие бутиковые агентства типа нас, но просто называется это более сложно. Не разработчик, а front-end engineer, не аналитик, а системный архитектор. Так контора выглядит солиднее и продает себя дороже. Возможно, стоит последовать примеру коллег)

Ответить
Развернуть ветку
Oleg Lapshynov

Из размышлений автора, понял, что есть стандарты, но ими пользуются редко, - главный вывод, а вот почему так? Оттого то и путаница в голове, то это пректная документация, то ТЗ, а ведь ТЗ это часть пректа. Хотелось бы все-таки узнать чем стандарты не устраивают?

Ответить
Развернуть ветку
Евгений Бойченко
Автор

Нас стандарты не устраивают излишним бюрократизмом. Мы закрываем те же самые задачи, которые закрывает ТЗ, более гибкими документами (гибкими в плане создания, использования и дополнений).

Ответить
Развернуть ветку
Oleg Lapshynov

Можно конечно и спросить про конкретику, но не буду, судя по Вашему ответу это будет ни о чем. Удачи....

Ответить
Развернуть ветку
Евгений Бойченко
Автор

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

Ответить
Развернуть ветку
12 комментариев
Раскрывать всегда