Техническое задание на разработку программного обеспечения и сайта: образец и особенности составления
Большинство проблем с договорами на разработку программного обеспечения и сайтов связаны именно с плохой проработкой технического задания(ТЗ) или с его полным отсутствием. В крупных компаниях требования бизнеса изучают сначала аналитики и формируют техническое задание для программистов, а те уже занимаются разработкой функционала. Независимо от того, что нужно заказчику: сайт, мобильное, десктопное приложение – результат зависит от множества мелочей, которые нужно как можно подробнее описать в ТЗ. Иначе заказчик может получить совсем не то, что хотел, а значит, договорные обязательства не будут выполнены. Это может повлечь за собой юридические последствия.
Для чего нужно техническое задание
Техническое задание – это одна из составляющих проектной и договорной документации между заказчиком и разработчиком. Разработка ТЗ является обязательным условием для средних и больших проектов. Но мы рекомендуем составлять техзадание в любом случае, даже если объем работ небольшой. Главное назначение ТЗ – это получение именно того результата, который нужен заказчику.
Какие риски возникают при разработке ПО, сайтов без технического задания:
- При выполнении проекта между заказчиком и исполнителем могут возникнуть разногласия. ТЗ является официальным документом, в котором закреплены первоначальные требования заказчика. Дополнительные доработки в этом случае могут проходить по отдельному допсоглашению и с оплатой.
- Техническое задание является гарантией качества результата работы для заказчика. Отдельные требования к ПО могут уточняться в ходе работы. Например, гибкая методология разработки программного обеспечения («Agile Model») подразумевает согласование результата с заказчиком после каждой итерации, но ее применение характерно для больших и длительных проектов.
- Детально проработанное ТЗ позволяет минимизировать трудозатраты программистов, а также общие финансовые вложения в проект, избежать судебных споров между сторонами договора. Иногда мелкие неточности, расхождения в понимании функционала приводят к критическим ошибкам. Подробное ТЗ позволяет сконцентрироваться на разработке в правильном направлении.
Чаще всего оформлением ТЗ занимается сам исполнитель совместно с клиентом, так как заказчик не знает специфику программирования. Техническое задание является обязательным приложением к договору на разработку программного обеспечения, сайта по договору подряда или по договору авторского заказа.
Пример судебного разбирательства
Споры по невыполненным договорным обязательствам при разработке программного обеспечения и сайтов – не редкость в российской судебной практике. Один из таких примеров – судебное решение от 19 марта 2021 г. по делу № А70-10045/2020. В 2019 г. между Тюменским государственным университетом и индивидуальным предпринимателем Т.П.Н. был заключен договор на разработку проекта обучающей платформы, состоящей из сайта, административной панели и мобильного приложения. Стоимость разработки по договору возмездного оказания услуг составляла 850 000 рублей, которые заказчик (ТюмГУ) должен был оплатить после подписания акта приемки-сдачи.
В 2020 г. исполнитель направил ссылку заказчику с тем, чтобы он ознакомился с выполненным проектом. Заказчик сделал аудит демонстрационной версии сайта, в ходе которого было выявлено, что результат работы не соответствует техническому заданию к договору.
Вместо того, чтобы привести разработку в соответствие с ТЗ, исполнитель обратился в суд с требованием взыскать 850 000 рублей за оказанные услуги. ТюмГУ выдвинул встречные исковые требования – расторгнуть договор, так как выполнение услуг просрочено. Акт приемки университетом не был подписан.
Суд назначил проведение специальной экспертизы, чтобы выяснить, соответствует ли разработанный сайт требованиям ТЗ. Однако исполнитель предоставил более позднюю версию сайта, выполненную с пятьюдесятью правками, уже после даты окончания услуг по договору. Предприниматель сослался на то, что ему пришлось переносить проект на новый сервер к другому провайдеру, поэтому часть функционала была «утеряна».
Суд не принял эти доводы. Так как исполнитель должен по договору предоставить более раннюю версию сайта, но ее нет, то заключение экспертизы не может быть объективным. По решению суда договор между заказчиком и исполнителем расторгнут. Кроме того, с индивидуального предпринимателя взысканы судебная пошлина 6 000 рублей и 40 000 рублей за проведение специальной экспертизы. Если по условиям договора исполнитель обязан был выплатить неустойку, то университет с легкостью мог бы взыскать эти средства.
Основные разделы технического задания
В техническое задание могут включаться следующие разделы:
Ключевая информация о бизнесе клиента, об особенностях его бренда.
Термины и определения. В этом разделе нужно уточнить смысл терминов, используемых в техническом задании, так как заказчик и исполнитель нередко под одними и теми же определениями понимают совершенно разные вещи.
При разработке сайта может потребоваться расшифровка следующих терминов: сайт, html-теги, веб-страница, гиперссылка (линк), html-форма, поле БД (поле формы), флаг, справочник (вспомогательная структура данных), дизайн-шаблон страниц, дизайн веб-сайта, контент, CRM, дамп, веб-интерфейс.
Для программного обеспечения: программа-клиент, база данных, сервер управления и другие, в зависимости от специфики применения ПО.
Название и назначение разработки. В этом блоке перечисляют функциональные и эксплуатационные задачи, которые должно решить ПО. Например, программа может быть предназначена для управления аппаратными средствами, для инженерных расчетов, управления производством, внедрения системы безбумажного делопроизводства.
Если речь идет о сайте, то описывается цель его разработки и назначение, например, предоставление информации о деятельности компании.
Основание для разработки. Если техническое задание оформляется по ГОСТ, то в нем указывают документы, на основании которых ведется разработка, либо на реализацию каких мероприятий направлен проект.
Технические требования. Они могут состоять из нескольких разделов, в зависимости от сложности проекта.
Требования к программе в целом (или общие требования): на каком языке программирования, на какой платформе будет реализован проект, среда разработки, для каких операционных систем предназначено ПО.
Функциональные требования: действия, которые должна выполнять программа; организация входных и выходных данных; поведение системы; система обновления, сохранение настроек и другие параметры.
Нефункциональные требования:
- внешний интерфейс, то есть как ПО будет взаимодействовать пользователями, совместимость с другим программным обеспечением или аппаратурой, использование баз данных, форматов обмена информацией;
- производительность (скорость выполнения операций, время отклика и другие);
- требования к надежности (устойчивость функционирования, контроль входной и выходной информации, время восстановления после отказа);
- распределение ролей пользователей (разграничение прав доступа);
- условия эксплуатации (температура, влажность окружающей среды);
- требования к квалификации персонала;
- требования к защите информации и ПО;
- требования к маркировке и упаковке, транспортировке и хранению (для коробочных версий);
Требования к разработке сайта по договору
Для разработки сайта ТЗ может включать:
- Требования к операционной среде и аппаратным возможностям: процессор, оперативная память, емкость жесткого диска, операционная система, веб-сервер, СУБД, в каких браузерах должен открываться сайт.
- Требования к оформлению главной страницы: графический интерфейс, навигационное меню и его разделы, контентная область, ее разделы.
- Требования к остальным элементам: оболочка внутренних страниц, общая для всех страниц сайта («шапка», навигационное меню, поле поиска, выбора языка; навигация, содержание страницы, контактная информация, обратная связь через онлайн-чат, веб-мессенджер, счетчики и другие элементы).
- Требования к структуре сайта: названия разделов сайта и их наполнение («О компании», «История компании», «Дипломы и сертификаты», «Наши клиенты» и прочее).
- Требования к системе управления сайтом, какая CRM используется, управление наполнением и настройками сайта, функции административной части.
- Требования к аутентификации пользователей, разделение доступа, закрытые разделы для пользователей.
- Требования к языкам программирования (HTML 4.0, CSS, стандарт W3C для HTML, JavaScript, DHTML, PHP и другие), к хранению данных, организации гиперссылок на сайте.
- Требования к наполнению контента: размер иллюстраций, формат, замещающий текст, обработка иллюстраций, объем одной страницы, flash-заставки, влияющие на скорость загрузки страниц в браузере.
- Требования к лингвистическому обеспечению: на каких языках должен быть выполнен сайт, например, русская и английская версии, возможность переключения языка на всех страницах или на части из них.
Порядок выполнения работ
Этапы разработки, их детализированное содержание, сроки и стоимость работ оформляются в виде отдельной таблицы.
Перед началом разработки отдельно может согласовываться дизайн-концепция макетов окон приложения или сайта.
По условиям договора можно предусмотреть следующие варианты:
- исполнитель предоставляет несколько вариантов дизайн-концепции (например, три), а заказчик выбирает наиболее подходящий;
- исполнитель предоставляет заказчику 1 вариант дизайн-концепции, а тот направляет список частных доработок, которые не затрагивают общую структуру и стилевое решение;
- утверждение дизайн-концепции оформляется актом приемки, все остальные доработки допускаются только по дополнительному соглашению к основному договору.
Часть информационных материалов для наполнения сайта должен предоставить заказчик, например, миссию компании. В ТЗ нужно оговорить сроки и формат этих документов, без которых разработка сайта невозможна, ответственность заказчика за их несвоевременное направление. Юридически получение материалов исполнителем может быть закреплено Актом о передаче информационного наполнения.
Приемка-сдача проекта
В разделе «Требования к приемке-сдаче проекта» необходимо перечислить порядок:
- тестирования ПО (контроль качества), кто осуществляет тестирование (заказчик или исполнитель), в какие сроки, отчет о тестировании;
- поставки дистрибутива программного обеспечения (электронная поставка или на оптическом диске, другие варианты; содержание архива, передаваемого заказчику);
- согласования и подписания акта приемки-передачи;
- переноса сайта на технические средства заказчика;
- осуществления технической поддержки.
👉Подписывайтесь на наш канал в Telegram!