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

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

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

Ниже мы подробно разберем каждый из разделов технического задания.
Общая информация
Данный раздел заполняется на основе проведенной предпроектной аналитики и заполненного брифа от заказчика.

Раздел описывает:
1. Назначение документа, что мы будем разрабатывать, общее описание проекта, будет ли разрабатываться административная часть. Сюда же вносятся ссылки на макеты или прототип.
2. Цели и задачи проекта. Здесь мы выделяем конечную цель нашего приложения и основные задачи по достижению заданой цели.
3. Целевая аудитория. Кто наша целевая аудитория, какие задачи стоят перед ней, кто наш ключевой пользователь, на которого мы будем фокусироваться.
Технологии и требования к реализации системы
Платформы
Фиксируем на каких платформах (iOS, macOS, tvOS, watchOS, Android) будет будет доступно мобильное приложение для пользователей, будут ли какие-то отличия при разработке на нескольких платформах.
Устройства
Утверждаем список поддерживаемых устройств, версий операционных систем, форм-факторов и ориентаций экранов.
Например:
ОС: iOS 10.0-12.3
Устройства: iPhone 5, 6, 7, 7 Plus, 8, X
Ориентации экрана: портретная
Интеграции
Описываем системы или сервисы с которыми мобильное приложение будет интегрироваться. Это могут быть:
• интернет-магазин
• 1С
• платежные системы (Paypal, BrainTree, CloudPayments, Apple Pay, Android Pay
• облачные сервисы (Firebase, Parse, Realm, AWS, Microsoft Azure, Google Cloud Platform)
• базы данных
Локализация
В подразделе описываем основные требования к локализации: поддерживаемые языки мобильного приложения и административной панели.
Сбор статистики
Описываем с какими системами статистики необходимо будет интегрироваться, какие метрики необходимо будет снимать.
Для наших клиентов у нас уже имеется определенный перечень опробованных на собственном опыте сервисов. Это Fabric, Crashlytics, SwiftyBeaver, Google Analytics, Яндекс.Метрика, AppsFlyer.
Функциональные и нефункциональные требования
Функциональное требование описывает, что должна делать система программного обеспечения, в то время как нефункциональные требования устанавливают ограничения на то, как система будет это делать.
Описание экранов приложения по макетам
Каждый экран должен быть подробно описан, как по назначению, так и по функционалу. Сначала мы описываем задачу экрана, условия перехода и возможные ограничения. Затем переходим к функционалу экрана, ссылаясь на макет и обозначенные на нем элементы интерфейса.
Пример описания элементов экрана:
содержит название экрана "Профиль"

при нажатии на кнопку, происходит logout

текстовое описание курса

при нажатии на кнопку переход к экрану "Статистика курса"

отображает, в какие дни есть тренировки

при нажатии на кнопки, происходит переход к одноименным страницам
Наименование элемента
1

2


3

4


5


6-10
Заголовок экрана

Кнопка "Выйти"


Блок с описанием курса

Кнопка "Статистика курса"


Блок "Дни домашних тренировок"

Навигационные кнопки
Описание
Интеграции
Журналирование изменений
Описываем как и какие действия пользователей в системе необходимо логировать. Разрабатываем формат представления отчетов.
Платежные системы
Разрабатываем требования и алгоритм проведения платежей от пользователей.
Системы аналитики
Расскажите, что отличает ваши услуги от услуг в других компаниях
Сбор информации о действиях пользователей
Расскажите, в чем преимущество работы именно с вашей командой
Используемый внешний API
Описываем требования к внешним системам, определяем протоколы обмена данными.
Рассылка уведомлений
Определяем триггеры и расписание рассылки push-уведомлений, электронных писем, смс.
Что дальше?
Имея на руках прототип и техническое задание, которое полностью описывает структуру приложения, описание экранов и интеграции, можно приступать к этапу разработки дизайна и кодированию мобильного приложения. Ваш проект будет обречен на успех!