EVM за ИТ и софтуерни проекти
Прилагането на Earned Value Management (EVM) към ИТ и софтуерни проекти е едновременно по-предизвикателно и с повече нюанси, отколкото прилагането му в строителството. Софтуерната работа е абстрактна, изискванията могат да се променят в средата на проекта, а измерването на "процент завършеност" на дадена функционалност е по своята същност субективно. Въпреки това, с правилните адаптации, EVM предоставя огромна стойност за ИТ програмното управление и за комуникиране на състоянието на бюджета и графика на нетехнически заинтересовани страни.
Основното предизвикателство: Измерване на Earned Value (EV) в софтуера
В строителството можете да измерите физическия напредък (изляти кубични метри, положени метри). В софтуера измервате невидима работа. Трите най-често срещани подхода са:
1. Story Points (Agile EVM)
В Scrum или Kanban средите екипите оценяват работата в story points (точки). Можете да изградите EVM върху това:
- BAC = Общ брой story points × средна цена за story point
- PV = Story points, планирани за завършване до този спринт
- EV = Действително завършени story points × средна цена за story point
- AC = Действителни разходи на екипа (заплати, инфраструктура, лицензи) за периода
Този подход отчита задачите (stories) като "завършени" само когато отговарят на Дефиницията за завършеност (Definition of Done) на екипа — предотвратявайки капана на "90% завършеност".
2. EVM, базиран на етапи (Waterfall)
За waterfall проекти или проекти с фази (phase-gate), задайте бюджетни тежести на основните етапи (напр. Изисквания = 15%, Дизайн = 20%, Разработка = 40%, Тестване = 20%, Внедряване = 5%). Earned Value (EV) се отчита само когато всеки етап е напълно завършен и приет.
3. Претеглени работни пакети
Разделете софтуера на функционални модули (удостоверяване, отчитане, API, UI). Оценете разходите и продължителността за всеки от тях. Проследявайте завършването на ниво модул. Това е най-традиционният EVM подход, подходящ за ИТ договори с фиксирана цена.
Примерна задача: Проект за разработка на софтуер
Проект за разработка на персонализиран CRM: BAC = $400,000, 8 спринта (16 седмици). На спринт 4 (седмица 8):
- Общо story points: 800. Средна цена за story point: $500.
- Планирани story points до спринт 4: 400. PV = 400 × $500 = $200,000
- Действително завършени story points: 320. EV = 320 × $500 = $160,000
- Действителни разходи (заплати на екипа + инфраструктура): AC = $195,000
SPI = EV ÷ PV = 160,000 ÷ 200,000 = 0.800 (20% изоставане от графика)
EAC = BAC ÷ CPI = 400,000 ÷ 0.821 = $487,211
VAC = 400,000 − 487,211 = −$87,211
EVM и Agile: Често срещани възражения
| Възражение | Отговор |
|---|---|
| "Agile няма фиксиран обхват" | EVM работи с приоритизиран беклог — BAC представлява договорения обхват на релийза, а не целия продуктов беклог. |
| "Изискванията се променят всеки спринт" | Използвайте процес за контрол на промените. Одобрените промени в обхвата актуализират BAC. Непланираните промени са отклонения (variances), които трябва да бъдат проучени. |
| "Скоростта на story points (velocity) е по-полезна" | Скоростта е чудесна за екипа; EVM предоставя финансовия поглед, необходим на спонсорите и ръководителите. |
| "Ние не правим предварителни оценки" | EVM изисква базова линия (baseline). Дори задачи (stories) с относителни размери могат да формират основа, ако се оценяват последователно. |
Практически съвети за ИТ ръководители на проекти
- Задайте вашия BAC преди спринта, не след него: Базовата линия трябва да е стабилна, за да има смисъл EVM.
- Отчитайте само 0% или 100% за задачи в процес на изпълнение: Избягвайте частичното отчитане; то изкуствено завишава EV и прикрива рисковете в графика.
- Проследявайте тенденциите на CPI ежеседмично: Софтуерните проекти се движат бързо. Месечните EVM отчети може да уловят проблемите твърде късно.
- Отделете BAC за инфраструктура/операции спрямо разработка: Разходите за инфраструктура имат различни фактори за формиране на стойността и трябва да се проследяват отделно.
- Използвайте EVM на ниво програма: Ако имате множество Agile екипи, обобщавайте техните EV/AC данни на ниво програма за отчети пред ръководството.