ISO/IEC 25030: системный подход к требованиям качества программного обеспечения

Хватит писать софт в вакууме! Стандарт ISO/IEC 25030 меняет подход к требованиям и спасает IT-проекты от провала.

Бесплатная консультация юриста

+7 (800) -02-87-29

Реклама jurik.ru

В современной индустрии разработки программного обеспечения проблемы с требованиями остаются одной из главных причин провала проектов. Часто программное обеспечение рассматривается изолированно, без учета той системы, в которую оно интегрируется. Именно для решения этой проблемы Международная организация по стандартизации (ISO) выпустила стандарт ISO/IEC 25030, который кардинально меняет подход к формулированию требований к качеству ПО.

Что такое ISO/IEC 25030?

ISO/IEC 25030 — это международный стандарт, входящий в обширную серию SQuaRE (Systems and software Quality Requirements and Evaluation — Требования и оценка качества систем и программного обеспечения). Он предоставляет концептуальный фреймворк для спецификации требований к качеству программных продуктов и систем.

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

Системный подход к качеству

Одним из важнейших нововведений ISO/IEC 25030 является переход к системной перспективе. Стандарт рассматривает программное обеспечение не как самостоятельную сущность, а как часть более крупной системы. Это означает, что качество ПО должно оцениваться в контексте его взаимодействия с аппаратным обеспечением, пользователями, бизнес-процессами и внешней средой.

В рамках этого подхода стандарт предлагает специфицировать требования к качеству в виде:

  • Конкретных мер (измерений), которые позволяют объективно оценить свойство системы;
  • Целевых значений, которых должна достичь система по этим мерам.

Связь с ISO/IEC 25010

Стандарт ISO/IEC 25030 не существует в вакууме. Для определения самих характеристик качества (что именно мы измеряем) он опирается на другой широко известный стандарт — ISO/IEC 25010.

Напомним, что ISO/IEC 25010 определяет восемь основных характеристик качества:

  1. Функциональная пригодность (Functional suitability)
  2. Уровень производительности (Performance efficiency)
  3. Совместимость (Compatibility)
  4. Удобство использования (Usability)
  5. Надежность (Reliability)
  6. Безопасность (Security)
  7. Сопровождаемость (Maintainability)
  8. Переносимость (Portability)

Если ISO/IEC 25010 говорит «Надежность — это способность системы работать без сбоев», то ISO/IEC 25030 подсказывает, как именно записать это в виде требования: «Система должна обеспечивать время наработки на отказ (мера) не менее 10 000 часов (целевое значение)».

Почему требования к качеству так важны?

Как отмечают исследователи из IEEE (Институт инженеров электротехники и электроники), тема требований к качеству ПО является невероятно важной, но при этом несколько запущенной (neglected topic) в системной и программной инженерии.

Нечеткие, неизмеримые или отсутствующие нефункциональные требования ведут к:

  • Архитектурным ошибкам, которые дорого исправлять на поздних стадиях;
  • Неудовлетворенности пользователей готовым продуктом;
  • Полному провалу проекта из-за перерасхода бюджета и сроков.

Эволюция стандарта

Стандарт прошел долгий путь развития:

  • 2008 год, первая публикация стандарта, которая привлекла внимание индустрии к необходимости системного подхода к требованиям качества.
  • 2019 год (август) — выход обновленной версии стандарта (ISO/IEC 25030:2019), которая еще больше укрепила позиции системного подхода и уточнила фреймворк спецификации требований.

Стандарт ISO/IEC 25030 является незаменимым инструментом для системных аналитиков, архитекторов и менеджеров проектов. Он помогает перевести абстрактные пожелания заказчика (такие как «система должна быть быстрой» или «система должна быть надежной») в строгие, измеримые требования в контексте всей системы. Использование этого фреймворка значительно снижает риски ошибок на этапе проектирования и повышает шансы на успешную сдачу проекта.