ТЗ в обязательном порядке должно включать ряд разделов:
- словарь терминов, обеспечивающий эффективность и простоту коммуникаций разных специалистов, которые будут работать над созданием софта;
- назначение разработки: программист должен понимать, что он создает, чтобы учесть специфику и предусмотреть возможность последующего развития приложения;
- технические требования: прописываются функциональные возможности ПО (выбирается платформа (андроид, иос или это будет кроссплатформенный апп), ее совместимость с теми или иными версиями ОС, фронтенд и бекенд части);
- логика работы: описываются основные алгоритмы, согласно которым будут получаться и преобразовываться данные с использованием текста, графики, схем, блоков, рисунков;
- интерфейс приложения (должен полностью соответствовать логике работы): описывается в графическом виде, при необходимости составляется блок-схема переходов между экранами с их описанием, включаются элементы анимации;
- бекенд: если создается техническое задание на сетевое приложение, то в обязательном порядке описываются функции back-end части – сервера API (программно-аппаратная часть сервиса, без которой проект не сможет работать).
- панель администрирования: описываются функции приложения, основные опции и зависимые переменные, желаемые виды отчетов, диаграмм, графиков, предусматривается возможность изменения переменных в процессе работы.
Техническое задание должно содержать входные (таблицы, фото, графики, информация о сторонних подключаемых устройствах и пр.) и исходные (формат получаемой информации и ее технические условия) данные.