
Як визначити та оцінити цінність ПЗ, що розробляється
Привіт, мене звати Артур Селецький, я Co-Founder / Partner в It Network. Ми з колегами займаємося розвитком спільноти бізнес-аналітиків та керівників проектів в Україні. У цій статті я хотів би поділитися своїм досвідом і підходом до визначення цінностей ПЗ, що розробляється, та їхній оцінці.
Проблема задоволеності розробленим ПЗ
За середньостатистичними даними дослідження Standish Group:
- 29% IT-проектів завершилися успішно;
- 52% завершилися з перевищенням бюджету, вийшли за рамки термінів або з реалізацією меншого функціоналу, ніж раніше було заплановано;
- 19% IT-проектів закінчилися провалом.
Також Standish Group проаналізувала, наскільки часто використовується функціонал після впровадження розробленого програмного забезпечення. Результати шокуючі:

З метою підвищення задоволеності розробленим ПЗ, все більше і більше керівників проектів приймають управлінські рішення, спираючись на потреби та цінності, які зацікавлені особи очікують отримати після впровадження ПЗ. Саме тому все більше і більше проектних команд використовують підходи і принципи гнучких методологій (Agile) і націлені доставити максимальну цінність у найбільш короткий період.
Я також часто в своїй практиці спираюся на цінності, щоб приймати рішення. Саме тому кожен робочий день я починаю з думки: «Чим я можу бути корисний моїй команді, щоб сьогодні вона принесла максимальну цінність на проекті».
Для того, щоб краще зрозуміти, як цього досягти, слід ознайомитися з взаємодією цінності з іншими проектними сутностями. У цьому нам допоможе концептуальна модель з бізнес-аналізу BACCM:

Модель складається з шести ключових концепцій, які наведені нижче в таблиці.

Види цінностей
Для себе я виділяю два види цінностей:
- Матеріальна – наскільки цінною є функціональність для бізнесу, який потенційний прибуток вона може принести для компанії.
- Нематеріальна – це репутаційні цінності, отримання нових знань, відносини між співробітниками в компанії, мотивація.
На наступному рисунку наведено приклад візуалізації цінностей для проекту по впровадженню внутрішнього корпоративного порталу.

Визначення цінностей
Визначення цінностей – це безперервний процес протягом усього життєвого циклу проекту або продукту. Для визначення цінностей залучаються всі зацікавлені особи, які беруть участь в проекті. Визначення цінностей починається з визначення цілей проекту або, іншими словами, пошуку відповіді на питання:
- Чому це необхідно розробляти?
- Яка користь від цього?
Слід зазначити, що мета може мати кілька цінностей. При цьому слід враховувати, що цінності повинні бути унікальними в рамках однієї мети. В ідеалі необхідно домогтися того, щоб кожна мета мала тільки одну свою унікальну цінність. Так, цього практично неможливо досягти, але в той же час прагнути до цього необхідно.
Приклад мети впровадження корпоративного порталу: «Автоматизувати та консолідувати накопичення експертних знань співробітників шляхом створення корпоративної бази знань».
Цінність:
- зберегти експертний досвід співробітників;
- скоротити час на пошук інформації;
- підвищити залученість співробітників компанії
Далі цілі повинні бути декомпозовані на високорівневі концептуальні вимоги (epic), які співвідносяться з проектними цілями та їх цінностями. У свою чергу epic повинні бути декомпозовані на більш детальні складові (story), які в свою чергу також повинні бути співставлені з цінностями epic. Таким чином, кожна наша вимога, кожне завдання, яке виконується в рамках проекту, повинне зіставлятися з цінностями проекту. Чим вище цінність виконуваного завдання, тим вище буде пріоритет його виконання.
Наступний рисунок відображає співвідношення цінностей завдань з цінностями проекту:

Коли замовники приходять з новими вимогами, я завжди визначаю, наскільки нова вимога співвідноситься з цілями та цінностями проекту. Якщо цінність вимоги (epic або story) не співвідноситься з цінностями проектних цілей, слід задуматися над запитаннями:
- Чи дійсно варто реалізовувати це?
- Яку користь від цього отримають користувачі?
- Чому це не співвідноситься з нашими проектними цілями?
Цей рисунок відображає приклад співвідношення цінності epic з цінностями проекту:

Оцінка цінностей:
На старті деяких проектів (на жаль, не у всіх проектах це можна зробити) ми збиралися зі стейкхолдерами і виконували наступні дії:
- Визначення цілей проекту;
- Визначення цінностей кожної цілі проекту;
- Оцінювання цінностей кожної цілі проекту;
- Визначення пріоритетів по досягненню цілей
Під час визначення цілей я використовую два простих правила:
- ціль повинна грунтуватися на цінностях;
- ціль повинна бути досягаємою
Для визначення цінностей, як зазначав я вище, шукаємо відповіді на два питання:
- Чому це необхідно розробляти?
- Яка користь від цього?
Часто використовую підхід «покер планування» з гнучких методологій для оцінки цінностей. Ранжування цінностей відбувається за так званими розмірами майки: S, M, L, XL, XXL.
У разі, якщо оцінка цінності дорівнює між собою (Epic 3 = Epic 4), команда визначає самостійно, який еpic першим брати в роботу. Не варто забувати, що все в світі змінюється, і цінності необхідно переглядати і переоцінювати протягом усього проекту.
Такий підхід допомагає мені зменшити відсоток ресурсних і тимчасових втрат на реалізацію нікому непотрібного функціоналу, а також підвищити задоволеність користувачів продуктом. На закінчення процитую Т. Демарка: «Є тисяча й один спосіб витратити день даремно і жодного, щоб повернути цей день».
Гармонії вам та процвітання.