ua
Talent X
10 Квіт. 2024 | 16 хв

Техніка визначення MVP

Техніка визначення MVP

MVP, мінімально життєздатний продукт (англ. Minimum viable product — MVP) — продукт з мінімальним функціоналом, який можна дати користувачам для використання. Використовується для тестування ідей у розробці програм з мінімальними затратами ресурсів. Зазвичай реалізується шляхом вдалого планування релізів, коли у перший реліз входять лише основні функції (або одна найважливіша), що дає можливість користувачам уже почати працювати, не очікуючи остаточної версії і які потім можуть надати зворотний зв'язок для подальшого розвитку продукту – (за даними Wikipedia).

 

Завдання визначення функціональності MVP з'являється на етапі планування розробки продукту і часто вимагає оновлення планів в міру розвитку продукту, аж до кінця розробки MVP.


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


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


Критерії


Критеріями для завдання визначення MVP функціональності є критерії, взяті з методології WSJF, а також додаткова декомпозиція Job Duration на складові:


Cost of delay

 

  • User-Business Value: наскільки користувачі очікують на це? Як це вплине на гроші, якщо ця річ НЕ буде зроблена? Який потенційний негативний ефект, якщо це зробити пізніше, а не раніше?
  • Time Criticality: як це впливає на загальний потік поставок? Чи не затримує це реалізацію чогось іншого? Чи потрібно його випустити до певної дати? Чи є ризик, що запізнення помножить весь сенс виконаної роботи на нуль?
  • Risk Reduction: чи зменшує це будь-які ризики? Чи вплине це позитивно на якість в інших сферах? Ефект буде миттєвим чи довгостроковим?
  • Opportunity Enablement: Чи відкриє ця річ нові можливості для продукту чи всього бізнесу? Чи допоможе це вийти на нові ринки/залучити нових клієнтів?


Job Duration

 

  • Job Duration – оцінка часу на реалізацію, заснована на попередньому аналізі Features за участю керівника команди технічного розробника або архітектора. Виконується на верхньому рівні, без розкладання ознак на нижчі рівні
  • Job Complexity - Оцінка складності реалізації, що виконується спільно з Team Lead команди розробників індивідуально, з урахуванням досвіду і навичок команди, яка працює над даним продуктом. Ця оцінка також включає оцінку ступеня невизначеності Features, що, у свою чергу, прямо пропорційно впливає на складність цих Features.
  • Job Cost — оцінка вартості реалізації, розрахована виходячи з необхідної кількості людино-годин для певного завдання, і множення її на вартість людино-години в команді. Ця оцінка є відносною і не повинна використовуватися при розрахунку вартості продажу продукту, а потрібна лише для визначення пріоритетності Backlog.


Процес оцінювання


Оцінка проводиться за допомогою числових рядів Фіббоначі від 1 до 21. (1, 3, 5, 8, 13, 21). Цей метод оцінки є універсальним з точки зору його використання при оцінці завдань в Story Points при плануванні, а також можливе використання Scrum-poker для групової оцінки критеріїв.


Також оцінка ряду Фіббоначі пов'язана з тим, що кожен крок значень не збільшується лінійно, а це означає, що складніше буде скласти все в одну оцінку. Також можна відчути варіацію, наприклад, відразу видно різницю в цінності бізнесу між завданням 3 і 21 Story Points.
Оцінки за критеріями з групи Jobs Duration виконуються командою розробників, а оцінки для групи критеріїв Cost Of Delay виконуються тільки із залученням бізнес-замовника і Власника продукту.


Результатом оцінювання буде матриця наступного вигляду:

Назва FeaturesUser Business ValueTime criticalityRisk ReductionOpportunity EnablementJob DurationJob ComplexityJob Cost
Feature11...211...211...211...211...211...211...21
Feature21...211...211...211...211...211...211...21
Feature31...211...211...211...211...211...211...21
FeatureN1...211...211...211...211...211...211...21

 

 


Зведення задачі визначення MVP до розв'язання задачі багатокритеріальної оптимізації.

Багатокритеріальна оптимізація (англ. Multi-objective optimization) - це процес одночасної оптимізації двох або більше конфліктуючих цільових функцій в заданій області визначення. Найпростішим способом розв'язання задачі багатокритеріальної оптимізації є метод згортання критеріїв, що дозволяє звести багатокритеріальну оптимізацію до однокритеріальної. Метод згортання критеріїв передбачає перетворення набору існуючих часткових критеріїв в один суперкритерій. Тобто ми отримуємо новий суперкритерій, який є функцією конкретних критеріїв.

Щоб згорнути критерії в суперкритерій, необхідно також поставити вагові коефіцієнти:

Ваговий коеф-тK11K12K13K14K21K22
Назва FeaturesUser Business ValueTime criticalityRisk ReductionOpprtunity EnablementJob DurationJob Complexity
Feature11...211...211...211...211...211...21
Feature21...211...211...211...211...211...21
Feature31...211...211...211...211...211...21
FeatureN1...211...211...211...211...211...21

 

Для бізнес-критеріїв і критеріїв розвитку необхідно встановити окремі вагові коефіцієнти.

 

Таким чином, згорнутий критерій буде виглядати так:

 

Cost Of Delay = User-Business Valuek11+ Time Criticalityk12+ Risk Reductionk13+ Opportunity Enablementk14;
Jobs Duration = Job Durationk21+ Job Complexityk22+ Job Cost*k23;
K11+K12+K13+K14=1;
K21+K22+K23=1;
Загальний критерій оптимізації (Mutual Criteria) = Cost of Delay/Jobs Duration.

 

Таким чином, ми отримаємо матрицю наступного вигляду:

Назва FeaturesMutual Criteria
Feature1MC1
Feature2MC2
Feature3MC3
FeatureNMCN

 

Результуючою цільовою функцією є максимізація за Mutual Criteria.


 

Визначення функціональності MVP за допомогою АВС-аналізу.


АВС-аналіз - це метод, який дозволяє класифікувати завдання за їх важливістю. Даний аналіз є одним з методів раціоналізації і може бути застосований в сфері діяльності будь-якого підприємства. В її основі лежить принцип Парето – 20% всіх зусиль дають 80% результату. Згідно АВС-аналізу правило Парето може звучати так: 20% функціоналу дозволяє покрити 80% потреб користувача.

 

АВС-аналіз – це аналіз Backlog (набору Features) шляхом поділу його на три категорії:

 

А — найцінніший, 20% — від кількості; 80% — задоволення потреб

В — проміжна, 30% — кількість; 15% — задоволення потреб

С — найменш цінна, 50% — кількість; 5% – задоволення потреб

 

Група А – це група функціональності, яка і є наповненням MVP.

 

По суті, АВС-аналіз – це ранжування Backlog за різними параметрами. Результатом АВС-аналізу є угруповання об'єктів за ступенем впливу на загальний результат.

 

АВС-аналіз заснований на принципі дисбалансу, який будує графік залежності кумулятивного ефекту від кількості елементів. Такий графік називається кривою Парето, кривою Лоренца або кривою АВС. Таким чином, 20% функціоналу покриває 80% потреб. Виходячи з цього принципу, ми виконуємо АВС-аналіз для Backlog для визначення MVP.

 

Для цього:
 

  1. Визначте мету аналізу – Backlog Ranking для визначення перших 20% функціональності, з яких буде сформовано MVP.
  2. Об'єктом аналізу є набір Features з Backlog.
  3. Беремо список функціональних можливостей, ранжованих за багатокритеріальною моделлю (МК).
  4. Розділяємо рейтинг на 2 класи – перші 20% (А), решта 80% (В+С).
  5. Перший клас (А) – визначає MVP.



Важливе зауваження: необхідно враховувати функціональність CORE. Група «А» може збігатися з CORE, але в разі незбігу результати АВС-аналізу повинні бути доповнені функціональністю Core.

CORE – функціональність – це основа функціонування продукту, яка складається з функціональних можливостей, без яких неможливе функціонування продукту. (Наприклад, авторизації).



 

Висновки

Використання цієї методології для визначення набору Features для MVP забезпечує обґрунтований вибір раціональної кількості завдань, необхідних для якнайшвидшого завершення MVP.