О терминологии в юридических документах при разработке программного обеспечения

Дата публикации: 23:01, 24.01.2021 Время чтения: ~ 3 мин.
О терминологии в юридических документах при разработке программного обеспечения

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

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

У любого юридического документа в современное время две задачи - создание регламента взаимодействия и защита прав/интересов. И если регламента взаимодействия достаточно при нормальном ходе событий, и он понятен сторонам (потому что они его и определили и подписались под ним), то с защитой прав не так все просто, а защищаются они уже с участием юристов, медиаторов, арбитров или судей, которые понятия не имеют о специфике разработки программного обеспечения в целом, и уж точно о конкретном договоре в частности. 

Решение

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

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

Термины и определения

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

Программа (компьютерная программа) – это синтаксическая единица, которая соответствует правилам определённого языка программирования, состоящая из определений и операторов или инструкций, необходимых для определенной функции, задачи или решения проблемы (стандарт ISO/IEC 2382-1:1993) 

Программное обеспечение – это совокупность программ, процедур, правил и сопутствующей документации системы обработки информации с применением вычислительной техники. (ISO/IEC 2382-1:1993, ISO/IEC 90003-2014) 

Спецификация требований программного обеспечения (SRS) – это структурированный набор требований (функциональность, производительность, конструктивные ограничения и атрибуты) к программному обеспечению и его внешним интерфейсам, предназначенные для того, чтобы установить базу для соглашения между заказчиком и разработчиком (или подрядчиками) о том, как должен функционировать программный продукт. (ISO/IEC/IEEE 29148:2018) 

Прототип – это модель или предварительная реализация части программного обеспечения, пригодная для оценки проекта программного обеспечения, его потенциальных рабочих характеристик, производства или лучшего понимания требований к программному обеспечению. (ISO/IEC 15910:2002) 

Пригодность использования (usability) – это свойство системы, продукции или услуги, при наличии которого установленный пользователь может применить продукцию в определенных условиях использования для достижения установленных целей с необходимой результативностью, эффективностью и удовлетворенностью. (ISO 9241-210:2012) 

Опыт взаимодействия (UX) – это восприятие и ответные действия пользователя, возникающие в результате использования и/или предстоящего использования программного обеспечения. (ISO 9241-210:2012) 

Пользовательский интерфейс (UI) – это все компоненты программного обеспечения, которые предоставляют пользователю информацию и являются инструментами управления для выполнения определенных задач. (ISO 9241-110:2006)

Техническое задание это детальное описание программного обеспечения, включая, описание архитектуры, компонентов, интерфейсов и других характеристик программного обеспечения, включающее документацию, содержащую целостную совокупность моделей, свойств или характеристик, описанных в форме, пригодной для непосредственно разработки программного обеспечения. (ISO/IEC/IEEE 29148:2018) 

Спецификация системных требований  это структурированный набор требований (функции, производительность, проектные ограничения и другие характеристики) для системы и ее операционных сред, а также внешних интерфейсов (ISO/IEC/IEEE 29148:2018) 

Инфраструктура – это комплекс взаимосвязанных обслуживающих элементов, составляющих и обеспечивающих основу функционирования программного обеспечения. (ISO/IEC 90003-2014) 

Каждый термин из списка выше будет понятен любому заинтересованному лицу, проверено на нашем опыте. 

Статья обновляемая, следите за новыми версиями.