Як визначити і оцінити цінність розроблюваного ПО
Привіт, мене звати Артур Селецький, я Co-Founder/Partner в It Network . Ми з колегами займаємося розвитком спільноти бізнес-аналітиків та керівників проектів в Україні. У цій статті я хотів би поділитися своїм досвідом і підходом до визначення цінностей розроблюваного ПЗ і їх оцінці.
Проблема задоволеності розробленим ЗА
За середньостатистичними даними дослідження Standish Group :
- 29% IT-проектів завершилися успіхом;
- 52% завершилися з перевищенням бюджету, не в строк або з реалізацією меншого функціоналу, чим раніше було заплановано;
- 19% IT-проектів закінчилися провалом.
Також Standish Group проаналізувала, наскільки часто використовується функціонал після впровадження розробленого програмного забезпечення. Результати шокуючі:
З метою підвищення задоволеності розробленим ЗА все більше і більше керівників проектів приймають управлінські рішення, спираючись на потреби та цінності, які зацікавлені особи очікують отримати після впровадження. Саме тому все більше і більше проектних команд використовують підходи та принципи гнучких методологій (Agile) і націлені доставити максимальну цінність у найбільш короткий період.
Я також часто у своїй практиці спираюся на цінності, щоб приймати рішення. Саме тому кожен робочий день я починаю з думки: «Чим я можу бути корисним моїй команді, щоб сьогодні вона принесла максимальну цінність на проекті».
Для того щоб краще зрозуміти, як цього досягти, слід ознайомитися з взаємодією цінності з іншими проектними сутностями. В цьому нам допоможе концептуальна модель з бізнес-аналізу BACCM:
Концептуальна модель з бізнес-аналізу BACCM. Джерело
Модель складається з шести ключових концепцій, які наведені нижче в таблиці.
Зміни | Для того, щоб досягати поставлених цілей, задовольняти потреби зацікавлених осіб, необхідно проводити зміни. |
Потреби |
|
Зацікавлені особи | Група чи осіб з урахуванням їх:
|
Рішення | Вибір способу діяти, який:
|
Контекст | Обставини, що впливають, на які виявляється вплив і які забезпечують розуміння зміни. |
Цінність | Потенціальна або реалізована вартість, цінність або корисність чого-небудь:
|
Види цінностей
Для себе я виділяю два види цінностей:
- Матеріальна — наскільки цінна функціональність для бізнесу, яку потенційну прибуток вона може принести для компанії.
- Нематеріальна — це репутаційні цінності, отримання нових знань, відносини між співробітниками в компанії, мотивація.
На рисунку наведено приклад візуалізації цінностей для проекту по впровадженню внутрішнього корпоративного порталу.
Візуалізація цінностей корпоративного порталу
Визначення цінностей
Визначення цінностей — це безперервний процес протягом усього життєвого циклу проекту або продукту. Для визначення цінностей залучаються всі зацікавлені особи, які беруть участь у проекті. Визначення цінностей починається з визначення цілей проекту або, іншими словами, пошуку відповіді на питання:
- Чому це необхідно розробляти?
- Яка користь від цього?
Слід зазначити, що мета може мати кілька цінностей. При цьому слід враховувати, що цінності повинні бути унікальними в рамках однієї мети. В ідеалі необхідно домогтися того, щоб кожна мета мала тільки одну свою унікальну цінність. Так, цього практично неможливо досягти, але в теж час прагнути до цього треба.
Приклад цілі впровадження корпоративного порталу: «Автоматизувати і консолідувати накопичення знань співробітників шляхом створення корпоративної бази знань».
Цінність:
- зберегти експертний досвід співробітників
- скоротити час пошуку інформації;
- підвищити залученість співробітників компанії.
Далі цілі повинні бути декомпозованих на високорівневі концептуальні вимоги (epic), які співвідносяться з проектними цілями і цінностями. У свою чергу epic повинні бути декомпозованих на більш детальні складові (story), які в свою чергу також повинні бути співставні з цінностями epic. Таким чином, кожна наша вимога, кожна завдання, що виконується в рамках проекту, повинна збігатися із цінностями проекту. Чим вище цінність виконуваної задачі, тим вище буде пріоритет її виконання.
Наступний малюнок відображає співвідношення цінностей завдань з цінностями проекту:
Співвідношення цінностей завдань з цінностями проекту
Коли клієнти приходять з новими вимогами, я завжди визначаю, наскільки нова вимога співвідноситься з цілями та цінностями проекту. Якщо цінність вимоги (epic або story) не співвідноситься з цінностями проектних цілей, слід замислитися над питаннями:
- Дійсно варто реалізовувати це?
- Яку користь від цього отримувати користувачі?
- Чому це не співвідноситься з нашими проектними цілями?
Цей малюнок відображає приклад співвідношення цінності epic з цінностями проекту:
Приклад співвідношення epic з цінностями проекту
Оцінка цінностей
На старті деяких проектів (на жаль, не у всіх проектах це можна зробити) ми збиралися зі стейкхолдерами і виконували наступні дії:
- Визначення цілей проекту.
- Визначення цінностей по кожній цілі проекту.
- Оцінювання цінностей по кожній з мети проекту.
- Визначення пріоритетів по досягненню цілей.
При визначенні цілей я використовую два простих правила:
- мета повинна ґрунтуватися на цінностях;
- мета повинна бути досяжною.
Для визначення цінностей, як я зазначав вище, шукаємо відповіді на два питання:
- Чому це необхідно розробляти?
- Яка користь від цього?
Часто використовую підхід «покер планування» з гнучких методологій для оцінки цінностей. Ранжування цінностей відбувається за так званих розмірах майки: S, M, L, XL, XXL.
Мета | Цінності | Оцінка |
Ціль 1 | ||
Цінність 1 | S | |
Цінність 2 | L | |
Ціль 2 | ||
Цінність 1 | L | |
Цінність 2 | XL |
Не складним шляхом, ґрунтуючись на вазі або розмірі цінності, виводжу пріоритет досягнення кожної мети. Такий же підхід використовую для визначення пріоритетів виконання epic і story.
Epic | Оцінка цінності | Пріоритет |
Epic 1 | S | 3 |
Epic 2 | L | 1 |
Epic 3 | M | 2 |
Epic 4 | M | 2 |
У разі, якщо оцінка цінності дорівнює між собою (Epic 3 = Epic 4), команда визначає самостійно, який еріс перший брати в роботу. Не варто забувати, що все в світі змінюється, і цінності необхідно переглядати та переоцінювати протягом всього проекту.
Такий підхід допомагає зменшити відсоток ресурсних і часових втрат на реалізацію нікому непотрібного функціоналу, а також підвищити задоволеність користувачів продуктом. На закінчення процитую Т. Демарко: «Є тисяча і один спосіб витратити день даремно і ні одного, щоб повернути цей день».
Гармонії вам та процвітання.
Опубліковано: 18/03/19 @ 11:18
Розділ Різне
Рекомендуємо:
PHP дайджест #19: реліз xDebug, нові RFC, робимо сайти швидкими
QA дайджест #36: тренди 2019, тестування з JavaScript, список потрібних чатиков
Рулетка під назвою «співбесіда»: думки розробника про найм
Шлях стажиста: Ubisoft
DOU Проектор: Voopty — зручний пошук тренерів і педагогів, а також CRM для шкіл