Критерії якості вимог до IT-продукту: що це, які існують і навіщо потрібні?

Критерії якості вимог до IT-продукту: що це, які існують і навіщо потрібні?

19 February 2024

  • Автор: Олександр Кононенко

  • Складність: Легко

  • Час: 6 хв

Один із ключових чинників успішної розробки — чітке та повне визначення вимог до IT-продукту. Product Requirements не тільки слугують фундаментом для створення програмного забезпечення, а й стають основою для досягнення цілей проєкту.

У цій статті ми розглянемо критерії якості вимог, вивчимо різноманітні підходи, а також з’ясуємо, чому це питання таке важливе в сучасній IT-індустрії. Занурення в цю тему дасть змогу краще зрозуміти, які існують product requirements, як їх моніторити та покращувати, а головне — ефективно впроваджувати в процес розробки.

Що таке критерії якості вимог?

Критерії якості вимог (quality criteria, CR) — набір вимірювальних і оцінювальних характеристик, якими повинні володіти бізнес-вимоги, щоб вважатися ефективними, корисними та такими, що відповідають цілям проєкту.

Критерії якості вимог до IT-продукту: що це, які існують і навіщо потрібні?

Quality Criteria встановлюють стандарти й очікування щодо змісту, структури та ясності вимог, а також їхньої здатності бути реалізованими в IT-продукті. Їхня оцінка дає змогу бізнес-аналітикам, розробникам та іншим учасникам процесу зрозуміти, наскільки добре вони відображають потреби зацікавлених сторін і забезпечують достатню основу для створення програмного забезпечення. Критерії якості також допомагають запобігти сперечанням, уточнити зміст вимог і забезпечити легкість їхньої подальшої перевірки та тестування.

Чому критерії якості до продукту важливі?

Quality Criteria відіграють ключову роль в успішному виконанні проєктів і створенні високоякісних IT-продуктів. Серед причин їхньої важливості:

  • Підвищення розуміння. «Вимоги до вимог» часто слугують керівництвом для бізнес-аналітиків та інших учасників проєкту, виступаючи в ролі своєрідного чек-листа. Вони допомагають зробити процес роботи більш ясним і легко інтерпретованим.
  • Запобігання суперечностям. Встановлення критеріїв якості допомагає запобігти непослідовності, уникнути непорозумінь і конфліктів у процесі роботи.
  • Поліпшення тестованості та верифікації. Правильно підібрані Quality Criteria забезпечують вимірність, що спрощує валідацію і перевірку ПЗ.
  • Визначення успішності проєкту. Критерії створюють рамки для вимірювання того, наскільки вимоги задовольняють запит клієнта і чи правильно вони реалізуються.
  • Поліпшення планування та управління. Використання чітких параметрів ще на стадії розподілу ролей і завдань на проєкті дає змогу краще оцінювати ресурси, визначати етапи роботи та контролювати процес.
  • Підвищення задоволеності замовника. Бізнес-аналітики та команди розробників можуть створювати продукти, які не тільки відповідають технічним стандартам, а й враховують потреби майбутнього користувача.
  • Підвищення прозорості комунікації. Критерії якості полегшують процес обміну інформацією між різними учасниками проєкту.

Бізнес-вимоги до програмного забезпечення, які збирає аналітик, формують основу для етапу розробки. Важливо підкреслити, що цей процес потребує ретельної уваги та вдумливості — він впливає на наступні етапи життєвого циклу проєкту. 

Бізнес-аналітик збирає вимоги з різних джерел, включно із замовниками, стейкхолдерами, документацією. Активне спілкування з клієнтом — одна зі складових успішного результату. Саме тому BA виступає в ролі посередника між бізнесом і командою розробки, а критерії якості вимог допомагають аналітику зібрати найбільш релевантну інформацію. 

Які існують критерії якості? 

Як зрозуміти, яким критеріям мають відповідати вимоги? Це питання розглядають різні джерела, зокрема BABOK 3.0 від IIBA, стандарт ISO/IEC/IEEE 29148, PMI Guide to Business Analysis і IREB Requirements Engineering Fundamentals. Кожен з них представляє свій погляд на важливі аспекти якості вимог, і сьогодні ми розглянемо найбільш часто використовувані критерії.

Атомарність

Критерій атомарності наказує розбивати вимоги на неподільні елементи, забезпечуючи їхню ясність і керованість. Такі product requirements покращують розуміння сенсу завдання, запобігають двозначності та забезпечують більш ефективне управління проєктом.

Наприклад, вимоги «Система повинна мати високу продуктивність» або «Користувачі можуть додавати товари в кошик» недостатньо атомарні. Краще сформулювати їх таким чином:

  • «Система повинна обробляти щонайменше 100 запитів на секунду з часом відгуку менше ніж 200 мілісекунд». 
  • «Система повинна надавати кнопку «Додати в кошик» на кожній сторінці товару, і при кліці на неї товар повинен моментально відобразитися в кошику».

Розбивши вимоги на конкретні числові значення або дії, BA надає розробникам зрозумілі критерії, які легко піддаються сприйняттю та управлінню.

Повнота

Цей критерій вказує на необхідність охоплення всіх важливих аспектів IT-продукту, щоб уникнути прогалин у функціональності або особливостях. Повні вимоги забезпечують картину очікуваного результату і поведінки системи.

Припустимо, ви хочете вказати, що система має надавати можливість реєстрації користувачів. У такому разі повна вимога звучить так: «Система повинна надавати можливість реєстрації користувачів, включно зі збором даних про ім’я, адресу електронної пошти та паролі. Після успішної реєстрації користувачеві має бути надіслано лист із підтвердженням на вказаний e-mail». 

Несуперечливість

Критерій несуперечливості вимог забезпечує логічну узгодженість між різними частинами документа. Припустимо, система має підтримувати високу продуктивність і бути доступною 99,99% часу протягом року. Почувши це, технічний відділ заперечить, що для забезпечення високих показників роботи можуть знадобитися періоди планового обслуговування, що може вплинути на доступність програми або веб-сайту. Щоб задовольнити обидві сторони, можна сформулювати запит таким чином: «Система повинна забезпечувати високу продуктивність, підтримуючи при цьому мінімальний час простою. Доступність має становити щонайменше 99,5% часу на рік».

Стислість 

Вимоги до якості мають бути виражені лаконічно, без зайвих деталей. Занадто докладні або надлишкові формулювання можуть внести плутанину й ускладнити сприйняття суті. Ви можете сказати, що «користувацький інтерфейс повинен мати дизайн, який задовольняє естетичні уподобання кінцевих користувачів» — це громіздко! Достатньою для розуміння буде фраза про «інтерфейс із привабливим дизайном».

Здійсненність 

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

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

Однозначність 

Однозначність гарантує, що кожна вимога може бути чітко і в єдиному варіанті ідентифікована, зрозуміла та інтерпретована. Відсутність двозначності у формулюванні допомагає уникнути непорозумінь і уточнень, що істотно впливає на ефективність комунікації між учасниками проєкту. 

Недостатньо однозначна вимога — «Система має працювати швидко». Тут поняття швидкості кожен розробник може зрозуміти по-своєму, тому краще вказати так: «Час завантаження головної сторінки не повинен перевищувати 3-х секунд».

Тестованість 

Тестованість у вимогах забезпечує можливість проведення ефективної перевірки на відповідність системи встановленим стандартам і очікуванням. Чіткість і вимірність заданих умов істотно впливають на якість і надійність кінцевого продукту.

Розглянемо приклад добре сформульованої вимоги: «Додаток має коректно обробляти вхідні дані форми, включно з випадками введення спеціальних символів і чисел із плаваючою комою». Таке «завдання» дає змогу легко визначити тестові випадки для різних варіантів введення і перевірити відповідність результатів. 

Ранжованість 

За допомогою ранжування ви можете створити рівні вимог, впорядкувавши їх за ступенем важливості. Це дасть змогу вашій команді фокусуватися на ключових аспектах і, за необхідності, відкладати менш значущі завдання. Такий підхід особливо важливий в умовах обмежених ресурсів. 

Критерії якості вимог до IT-продукту: що це, які існують і навіщо потрібні?

Правильно складена вимога звучатиме так: «Реалізувати авторизацію та автентифікацію користувачів перед розробкою інших функцій застосунку». Таке формулювання вказує на високий пріоритет забезпечення безпеки системи. Або так: «Забезпечити підтримку основних функцій на мобільних пристроях до початку роботи над адаптивним дизайном для планшетів і ноутбуків». Тут видно, що пріоритетна цільова аудиторія — користувачі зі смартфонами. 

Загалом, бізнес-вимоги та функціональні вимоги до продукту сприяють створенню більш структурованих, ясних і керованих технологій. Це фундаментальний елемент успішного процесу розробки.

Як поліпшити якість вимог?

Покращення Quality Criteria — важливий етап у розробці IT-продукту, який безпосередньо впливає на успішність проєкту. Для досягнення високого рівня рекомендуємо розглянути такі кроки:

  1. Визначення ключових критеріїв якості. Виберіть найважливіші для вашого проєкту завдання. Наприклад, під час розроблення мобільного застосунку значущими факторами буде атомарність, тестованість і стислість, а ось проєкт у сфері фінансів і банківської справи потребуватиме більшої уваги до несуперечливості та ранжованості.
  2. Аналіз і вибір відповідних методологій. Методи виявлення вимог являють собою структуровані та систематизовані підходи до збору, аналізу та документування. Наприклад, каскадна методологія Waterfall пропонує лінійний, послідовний процес розроблення, де кожен етап суворо слідує за попереднім, а Agile характеризується більш інтерактивним і гнучким підходом.
  3. Впровадження систем управління вимогами. Сучасні інструменти, як-от IBM Rational RequisitePro або Jira, забезпечують ефективне відстеження та управління product requirements на всіх етапах проєкту.
  4. Проведення регулярних оглядів. Організуйте сесії за участю членів команди розробки для обговорення вимог. Це дасть змогу виявити потенційні проблеми й уточнити деталі.
  5. Збір зворотного зв’язку. Активно спілкуйтеся з учасниками процесу, щоб виявити слабкі місця і запропонувати потенційні поліпшення.
  6. Аудит і самодіагностика. На основі критеріїв якості, наведених у цій статті, ви можете скласти власний чек-лист. Це допоможе вам завчасно визначити напрямки для поліпшень. 

Оптимізація якості вимог — постійний процес, який потребує уваги та участі всієї команди. За умови використання сучасних методологій та інструментів ви зможете досягти високого рівня, що позитивно позначиться на успішності вашого IT-проєкту.

Висновок 

Вивчення критеріїв якості вимог до програмного продукту надає бізнес-аналітику цінний набір інструментів. Спираючись на джерела, такі як BABOK 3.0, стандарт ISO/IEC/IEEE 29148, Guide to Business Analysis від PMI та Requirements Engineering Fundamentals від IREB, виділили вісім ключових критеріїв якості. 

Критерії якості вимог до IT-продукту: що це, які існують і навіщо потрібні?

Обираючи Quality Criteria, важливо враховувати особливості конкретного проєкту. Якщо ви працюєте над великим корпоративним порталом, атомарність може бути важлива для чіткого розмежування функцій, наприклад, модулів для співробітників і клієнтів. Повнота допоможе надати максимум інформації, а несуперечливість гарантує, що інформація для різних учасників процесу не буде кардинально розходитися. Стислість цінується для легкості сприйняття завдань, а здійсненність — для відповідності корпоративній інфраструктурі. 

Під час роботи також важливо стежити за взаємозв’язком критеріїв, оскільки зміна одного з них може вплинути на інші. Збільшення ресурсів для поліпшення одного аспекту вимог може призвести до погіршення інших. Натомість бізнес-аналітику варто прагнути до розумного розподілу завдань і визначити оптимальний рівень якості. При цьому не варто забувати про принцип Парето. Розвиток має тривати, але зупинитися слід на тому етапі, який приносить максимум користі для конкретного проєкту або команди. 

Насамкінець додамо, що ефективність бізнес-аналітика багато в чому залежить від його здатності не тільки виявляти та формулювати вимоги, а й підтримувати їхню високу якість у процесі розробки IT-продуктів. Кожен критерій відіграє свою роль у забезпеченні успіху, і їх грамотне використання — запорука створення ПЗ, яке повністю відповідає очікуванням і потребам замовника.

Олександр Кононенко

Копірайтер-маркетолог з технічною освітою, досвідом у продажах та маркетингу. Завжди в пошуках найкращих рішень для досягнення поставленої мети. Вважає, що створення текстів — це симбіоз мистецтва та науки.