Earned Value w praktyce Punkt widzenia kierownika projektu, dyrektora programu i prezesa. Prezentują: Kasjan Kajrunajtys (First Byte) Wojciech Partyka (Sygma Bank) Maciej Zagórowski (First Byte) 15 grudnia 2010 1
Earned Value w praktyce (plan na dziś) Opis przypadku, czyli gdzie historia ta miała miejsce Earned Value: czym to się je, czyli kilka wzorów Wdrożenie pierwsze, czyli klapa Drugie wdrożenie Czy PM się narobił, i czy było warto? Czy prezes miał jakieś korzyści? Najważniejsze: co z tego wszystkiego miał klient? Standaryzacja i stosowanie EV w USA Jak nie wdrażać Pytania i odpowiedzi
Gdzie się to wydarzyło (1) Stan w roku 2008, źródło: Intouch Insurance
Gdzie się to wydarzyło (2) Direct Insurance Services Center Historia 2003 Pojawienie się na polskim rynku Link4 2006 - Powołanie spółki DISC (typu shared services, klient wewnętrzny). DISC zajmował się rozwojem głównego systemu informatycznego do obsługi ubezpieczeń używanego w grupie Intouch 2007 Wdrożenie systemu w Direct Pojistovna (Czechy) Wdrożenie systemu w Link4 Life (Polska) 2008 Wdrożenie systemu w Intouch Insurance (Rosja) 2009 Migracja danych i wdrożenie nowego systemu w Link4 (Polska)
Gdzie się to wydarzyło (3) Management Board Maciej Zagórowski CEO HR Director Kasjan Kajrunajtys COO Common Business Team Manager System Architect QA Manager HR Department Common Business Core (R&D) team QA Team Finance Director Finance team Project Management Officer Wojciech Partyka Russia PM Czech PM Link4 PM Knowledge Manager Discovery Russia Project Team Direct Pojistovna Project Team LINK4 Project Team IT Administrators Stan na styczeń 2009
Gdzie się to wydarzyło (4) Zespoły: Dedykowane dla 4 klientów Dodatkowo 2 pracujące nad zmianami wspólnymi dla wszystkich projektów Wedle definicji projektu każdy PM prowadził równocześnie 3-5 projektów (każdy w innej fazie), zarządzał więc programem (projekty o znaczeniu strategicznym, korzystające ze wspólnych zasobów) Zatrudnienie w szczytowym okresie: około 70 osób
Gdzie się to wydarzyło (5) Wyzwania, jakie stały przed nami: Wykształcenie awansowanych z wewnątrz organizacji osób na dobrych PM-ów Zbudowanie kultury projektowej Planowanie Kontrola (postępu prac; kontrola jakości) Raportowanie.. a co za tym idzie.. Zdobycie zaufania klientów!
Earned Value Analysis (EVA): autentyki Tak, wiem! W naszym firmowym arkuszu wylicza się jakaś EWA (cytat z wypowiedzi certyfikowanego PMP) Technika służąca do zarządzania projektami jako pomiar zakresu zadań, harmonogramu, kosztów itp. (też cytat) Było na jakimś szkoleniu, ale prowadzący powiedział, że nie widział, żeby kiedyś ktoś to stosował Coś z czego jest kilka pytań na teście PMI Bełkot marketingowy
EVA: co to naprawdę jest? Metoda pomiaru postępu projektu i efektywności jego realizacji w stosunku do planu tego projektu. Czym NIE jest EVA: Wskaźnikiem jakości zarządzania projektem Kryterium oceny kompetencji PMa Raportem z stanu ksiąg firmy (jakkolwiek EVA korzysta z danych księgowych) Nie jest też (ani nie była) Ewą
Co to właściwie jest to Earned Value? Polskie tłumaczenia: wytworzona, zarobiona, uzyskana, wypracowana Earned value to budżetowana wartość rzeczywiście uzyskanego efektu prac w projekcie w danej chwili. Metoda pomiaru: Określenie jaką cześć prac wykonaliśmy (zadania zamknięte: 100%, zadania w toku: % zaawansowania). Mnożenie odpowiednich budżetów cząstkowych przez powyższe procenty i sumowanie
Co jest potrzebne do użycia EVA? WBS Dobry i szczegółowy A nawet bardzo dobry Budżet projektu: Rozpisany na takim samym poziomie szczegółowości, co WBS W jednostkach zarządczych, którymi operuje kierownik projektu Metoda przeliczenia jednostek zarządczych na wspólną jednostkę miary (zwykle pieniądz, ale nie zawsze)
EVA: nomenklatura PV = Planned Value, dawniej BCWS (Budgeted Cost of Work Scheduled) AC = Actual Costs, dawniej ACWP (Actual Cost of Work Performed) EV = Earned Value, dawniej BCWP (Budgeted Cost of Work Performed) BAC = Budget at Completion (na koniec projektu BAC = EV) ETC = Estimate to Complete EAC = Estimate at Completion
Rysunek, żeby wszystko było jasne
Earned Value Analysis: wskaźniki Podstawowe SV = EV - PV Schedule variance (odchylenie harmonogramu) CV = EV - AC Cost variance (odchylenie kosztów) SPI = EV/PV Schedule Performance Index CPI = EV/AC Cost Performance Index Prognostyczne - To Complete Performance Index: TCPI BAC = (BAC EV) / (BAC - AC) TCPI EAC = (BAC EV) / (EAC - AC)
Ocena sytuacji i prognozowanie Zależność podstawowa: EAC = AC + ETC O ile sytuacja się nie zmieni: ETC = ( BAC EV ) / CPI; EAC = BAC / CPI Jeżeli przyczyny odchyleń się nie powtórzą ETC = BAC EV Alternatywne wzory empiryczne ETC = (BAC EV) / (80%CPI + 20%SPI) ETC = (BAC EV) / (CPI SPI) Przeplanowanie projektu: wartość ETC należy określić na podstawie nowego WBS i budżetu
EVA: ograniczenia metody Niezbędny szczegółowy WBS i budżet Nie bardzo nadaje się do metodyk klasy agile, jest to obszar badań, a nie zastosowań Nie mierzy niczego więcej niż postęp i efektywność W szczególności: nie mierzy jakości produktów Jest tylko jednym z narzędzi Źle się sprawdza, jeżeli projekt ma wiele zadań ciągłych Im bliżej końca projektu, tym trudniej interpretować wyniki (obserwacja wskaźników musi być połączona z analizą trendów)
Pierwsze podejście do wdrożenia Założenia: Wzory są proste Metoda wyliczania wartości EV i PV jest oczywista Każdy PM ma licencję na MS Excel i MS Project Organizacja procesu: Krótkie szkolenie z EV Dla wszystkich nowych projektów stosujemy od zaraz Oto są arkusze Excelowe do użycia Są pytania?
Pierwsze wdrożenie: klapa Tego się nie da zrobić U nas to nie zadziała Nie mam czasu, pochłania mnie bieżączka To nie jest potrzebne, nic nam to nie da W projektach mamy ciągle zmiany
Earned Value Analysis (EVA) Drugi raz Zewnętrzny konsultant jako moderator Seria warsztatów dotyczących metody planowania projektów (warsztaty nie dotyczyły Earned Value) Ustalone wspólnie: Wymagania wobec struktury i szczegółowości WBS Zasady szacowania zadań Zasady ustalania i rozliczania rezerw Budżetowania projektów
Warunki realizacji projektu Realizowany projekt był wielowątkowy Rozpoczynaliśmy realizację nowej części systemu w technologii, w której nie mieliśmy doświadczenia Oprócz zadań planowanych zajmowaliśmy się utrzymaniem systemu W trakcie trwania projektu wdrażaliśmy w firmie: Nową strukturę współpracy z klientami Metodykę zarządzania projektami Narzędzia wspomagające proces tworzenia oprogramowania i rozliczenia z klientami
Planowanie Estymowanie Zadań Przydział Zasobów Określenie PV Task Estimation Prepare Policy integration layer (without contact) 12,0 Prepare Contact integration layer 12,0 getdictionary 32,0 getpolicyinstance 24,0 getproductpackets 40,0 calculatepolicypremium 80,0 getdriverinstance 8,0 getaccessoriesinstance 4,0 getvehicleownerinstance 8,0 getbasiccovers(productpacketsdictionary productpacket) 48,0 getadditionalcovers(productpacketsdictionary productpacket) 56,0 getavailableinstallmenttypes(policy policy, CollectionMethodDictionary collectionmethod) 32,0 getpaymentcollectionmethod(policy policy) 32,0 validatepolicy(policy policy) 24,0 savepolicy(policy policy) 80,0 structure WebSale user + blocking updating from WS after CSR changes 24,0 findpolicy(policysearchparams policysearchparams) 24,0 getpolicylist(policysearchparams searchparam) 24,0 getproductpackets(int product, int productversion) 24,0 WebServices Integration 235,0 Ahpha fixing 80,0 Beta fixing 48,0 Total development 951,0 Training 111,0 Stosowaliśmy ustrukturyzowane podejście do tworzenia systemu: Release Wymagania CR zlecenia Estymacja opracowywana na poziomie CR u Zasoby były alokowane do poszczególnych wątków decyzją komitetu sterującego zgodnie z uzgodnionymi priorytetami Planowanie obejmowało perspektywę kilkumiesięczną (przekraczającą realizację kolejnych release ) Znając zasoby zaalokowane do poszczególnych wątków planowaliśmy terminy realizacji zadań, czyli PV Możliwe jest uproszczenie planowania przez podział pracy na moduły i grupy wykonawców dla których wyznaczamy PV na podstawie dostępności zasobów, a nie przez alokowanie osób do zadań.
Raportowanie Realizacji Zadań Raport czasu pracy z Clear Quest Submitter CQ_Record Headline TType Task_date Task_time Kowalski CR00047045 CR00047045 - calculatepolicypremium service CR 2009-03-02 8 Kowalski CR00047045 CR00047045 - calculatepolicypremium service CR 2009-03-03 8 Wiśniewski CR00047045 CR00047045 - calculatepolicypremium service CR 2009-03-04 8 Czereśniak CR00047045 CR00047045 - calculatepolicypremium service CR 2009-03-05 8 Kowalski CR00047045 CR00047045 - calculatepolicypremium service CR 2009-03-06 8 Wiśniewski CR00044238 Full scope renewal functionality Programming 2009-03-02 8 Czereśniak CR00044238 Full scope renewal functionality Programming 2009-03-03 8 Kowalski CR00044238 Full scope renewal functionality Programming 2009-03-04 0 Wiśniewski CR00044238 Full scope renewal functionality Programming 2009-03-04 8 Czereśniak CR00051538 Retest of fixed bugs and test of task Tests 2009-03-02 2 Czereśniak R6 testing and update test cases in CQ Tests 2009-03-02 5 Kowalski Urlop Holidays 2009-03-10 8 Wiśniewski Ocena okresowa Other 2009-03-09 1 Kowalski CR00051261 Setting up printing mechanism on homer CR 2009-03-09 7 Wiśniewski CR00051255 Collection->Impossible to pay the policy CR 2009-03-02 4 Czereśniak CR00051261 Setting up printing mechanism on homer CR 2009-03-02 4 Wiśniewski CR00051261 Setting up printing mechanism on homer CR 2009-03-03 8 Czereśniak CR00051261 Setting up printing mechanism on homer CR 2009-03-04 8 Czereśniak CR00049577 Policy service - Payment Plan change endorsement CR 2009-03-05 1 Kowalski CR00051228 Policy service->general change endorseme CR 2009-03-05 3 Wiśniewski CR00052018 Registration of claim - CASCO+TPL policy CR 2009-03-05 4 Kowalski CR00051261 Setting up printing mechanism on homer CR 2009-03-06 8 Wiśniewski DSC-2138 Direct claims payments Analysis 2009-03-06 6 Wiśniewski Spotkanie Grupy Analitycznej Meeting 2009-03-06 2 Kowalski DSC-2138 Direct claim payments Analysis 2009-03-05 8 Wiśniewski Estymacja zadaĺ do R7 Meeting 2009-03-04 2 W trakcie projektu zmieniliśmy system raportowania czasu pracy docelowo funkcjonalność została zaimplementowana w Clear Quest. Raporty sporządzane były z częstotliwością 1 tygodnia. Wypełniane raportów było kontrolowane na bieżąco Klasyfikacja zadań Total (last week) (5 days) 5 304,00 0,00 64,00 100,00 49,00 3,00 40,00 28,00 Days 38,00 0,00 8,00 12,50 6,13 0,38 5,00 3,50 FTE 7,60 0,00 1,60 2,50 1,23 0,08 1,00 0,70 Grand Total (previous week) 5798,00 559,50 816,00 657,00 709,00 994,25 185,00 856,00 Grand Total (up today) 6102,00 559,50 880,00 757,00 758,00 997,25 225,00 884,00 Days 762,75 69,94 110,00 94,63 94,75 124,66 28,13 110,50 Average FTE (85 days) 85 8,97 0,82 1,29 1,11 1,11 1,47 0,33 1,30 ts_owner CR ts_title cat_id ts_start time R5 R6 WS R6 Stab BF Local Other Kowalski DSC-1234- To develop Catalog JOB Programming 2009-03-02 3 3,00 Kowalski DSC-2091 - To create the get methods for Programming policy 2009-03-02 3 3,00 Wiśniewski DSC-2279 - Not available covers on Cover Programming Screen 2009-03-02 2 2,00 Czereśniak CR00051857 Create tags for casco policy CR 2009-03-03 5 5,00 Kowalski DSC-2286 - Create document tag which return Programming type of gear 2009-03-03 bopx type 3 3,00 Wiśniewski DSC-2285 - Dispatch date problem Programming 2009-03-04 8 8,00 Czereśniak DSC-2272 - Not valid endorsment last dateprogramming 2009-03-05 8 8,00 Kowalski CR00052052 Catalog job - write log if cannot rename or CRdelete 2009-03-06 8 8,00 Wiśniewski CR00047045 CR00047045 - calculatepolicypremium service CR 2009-03-02 8 8,00 Czereśniak CR00047045 CR00047045 - calculatepolicypremium service CR 2009-03-03 8 8,00 Czereśniak CR00047045 CR00047045 - calculatepolicypremium service CR 2009-03-04 8 8,00 Kowalski CR00047045 CR00047045 - calculatepolicypremium service CR 2009-03-05 8 8,00 Wiśniewski CR00047045 CR00047045 - calculatepolicypremium service CR 2009-03-06 8 8,00 Kowalski CR00044238 Full scope renewal functionality Programming 2009-03-02 8 8,00 Wiśniewski CR00044238 Full scope renewal functionality Programming 2009-03-03 8 8,00 Czereśniak CR00044238 Full scope renewal functionality Programming 2009-03-04 0 0,00 Wiśniewski CR00044238 Full scope renewal functionality Programming 2009-03-04 8 8,00 Czereśniak CR00051255 Collection->Impossible to pay the policycr 2009-03-02 4 4,00 Czereśniak CR00051261 Setting up printing mechanism on homercr 2009-03-02 4 4,00 Kowalski CR00051261 Setting up printing mechanism on homercr 2009-03-03 8 8,00 Wiśniewski CR00051261 Setting up printing mechanism on homercr 2009-03-04 8 8,00 Kowalski CR00049577 Policy service - Payment Plan change endorsement CR 2009-03-05 1 1,00 Wiśniewski CR00051228 Policy service->general change endorseme CR 2009-03-05 3 3,00 Wiśniewski CR00052018 Registration of claim - CASCO+TPL policycr 2009-03-05 4 4,00 Kowalski CR00051261 Setting up printing mechanism on homercr 2009-03-06 8 8,00 Ze wzglądu, na to że część zadań nie była powiązana ze zleceniami CQ musiałem przeprowadzać ręczną klasyfikację zadań nie ujętych w systemie zleceniowym. W trakcie wdrożenia pracowaliśmy nad modelem raportowania pozwalającym wyeliminować tę niedogodność.
Określanie EV Development workload [hours] CR Summary Req.State Planned Estimated Done To Do EV CR00046973 Prepare Policy integration layer (without contact) Completed 106,0 123,0 123,0 0,0 106,0 CR00046975 Prepare Contact integration layer Completed 19,5 19,5 19,5 0,0 19,5 CR00047591 getdictionary Completed 72,0 72,0 72,0 0,0 72,0 CR00046980 getpolicyinstance Opened 52,0 86,0 78,0 8,0 47,2 CR00048229 getproductpackets Completed 10,0 10,0 10,0 0,0 10,0 CR00047045 calculatepolicypremium Opened 104,0 136,0 123,0 13,0 94,1 CR00049658 getdriverinstance Completed 16,0 5,0 5,0 0,0 16,0 CR00050431 getpaymentcollectionmethod Assigned 16,0 16,0 16,0 0,0 CR00048210 validatepolicy Completed 72,0 88,0 88,0 0,0 72,0 CR00050645 savepolicy Assigned 96,0 96,0 96,0 0,0 findpolicy 16,0 16,0 16,0 0,0 CR00050432 getpolicylist Completed 24,0 32,5 32,5 0,0 24,0 updatecontactcredentials 24,0 24,0 24,0 0,0 CR00048211 structure WebSale user Completed 24,0 21,0 21,0 0,0 24,0 subway station 8,0 8,0 8,0 0,0 deductable with premium 80,0 80,0 80,0 0,0 CR00050648 savepreclient Assigned 40,0 40,0 40,0 0,0 CR00049603 getinspectiontype warning Assigned 32,0 32,0 32,0 0,0 technical validation 40,0 40,0 40,0 0,0 --------------- Other unplanned activities 60,0 60,0 19,0 41,0 19,0 WebServices Integration 235,0 235,0 11,0 224,0 11,0 Ahpha fixing 80,0 80,0 80,0 0,0 Beta fixing 48,0 48,0 48,0 0,0 1345,5 1429,0 631,0 798,0 553,7 Training 126,0 Zastosowałem niestandardową metodę określania EV: W okresie realizacji zadań weryfikowałem estymację i aktualizowałem jej wartość EV wyznaczałem na podstawie wartości planowanej procentowo w stosunku do aktualnej estymacji i wykonania
Zalecane sposoby określania EV Fixed Formula Np. 50/50 Weighted Milestone Zaliczamy budżetowany koszt okresu w którym osiągnięto kamień milowy Percent Complete Estymujemy poziom wykonania Apportioned Effort Proporcjonalnie do powiązanego zadania (np. zarządzanie, przeglądy jakości itp.) Level of Effort Zaliczanie planowanej w okresie wartości jako EV (kiedy nie można inaczej)
Określanie EV Development workload [hours] CR Integration Req.State Planned Estimated Done To Do EV CR00052872 getdictionary Completed 21,2 29,0 29,0 0,0 21,2 CR00053964 getpolicyinstance service integration Opened 30,7 30,7 21,0 9,7 21,0 getproductpackets 3,0 3,0 3,0 0,0 calculatepolicypremium 46,6 46,6 46,6 0,0 getdriverinstance 1,5 1,5 1,5 0,0 getaccessoriesinstance 1,8 1,8 1,8 0,0 getvehicleownerinstance 4,7 4,7 4,7 0,0 getbasiccovers 2,1 2,1 2,1 0,0 getadditionalcovers 1,5 1,5 1,5 0,0 getavailableinstallmenttypes 1,2 1,2 1,2 0,0 getpaymentcollectionmethod 1,2 1,2 1,2 0,0 CR00055692 validatepolicy Development workload [hours] Completed 26,0 71,0 71,0 0,0 26,0 CR00058864 savepolicy Opened 32,0 32,0 11,0 21,0 11,0 CR00057907 findpolicy Completed 11,9 14,0 14,0 0,0 11,9 CR00053263 getpolicylist Completed 9,6 9,6 5,0 4,6 5,0 updatecontactcredentials 5,6 5,6 5,6 0,0 CR Summary Req.State Planned Estimated Done To Do EV CR00046973 Prepare Policy integration layer (without contact) Completed 106,0 123,0 123,0 0,0 106,0 CR00046975 Prepare Contact integration layer Completed 19,5 19,5 19,5 0,0 19,5 CR00047591 getdictionary Completed 72,0 72,0 72,0 0,0 72,0 CR00046980 getpolicyinstance Opened 52,0 86,0 78,0 8,0 47,2 CR00048229 getproductpackets Completed 10,0 10,0 10,0 0,0 10,0 CR00047045 calculatepolicypremium Opened 104,0 136,0 123,0 13,0 94,1 CR00049658 getdriverinstance Completed 16,0 5,0 5,0 0,0 16,0 CR00050431 getpaymentcollectionmethod Assigned 16,0 16,0 16,0 0,0 CR00048210 validatepolicy Completed 72,0 88,0 88,0 0,0 72,0 CR00050645 savepolicy Assigned 96,0 96,0 96,0 0,0 findpolicy 16,0 16,0 16,0 0,0 CR00050432 getpolicylist Completed 24,0 32,5 32,5 0,0 24,0 CR00060747 structure WebSale user 6,2 6,2 6,2 0,0 Prepare Contact integration layer - integration Opened 0,0 4,0 4,0 0,0 0,0 deductable with premium 16,5 16,5 16,5 0,0 savepreclient Opened 11,8 11,8 11,0 0,8 11,0 createuserauthenticationdata 6,8 6,8 6,8 0,0 updatecontactcredentials 24,0 24,0 24,0 0,0 CR00048211 structure WebSale user Completed 24,0 21,0 21,0 0,0 24,0 subway station 8,0 8,0 8,0 0,0 deductable with premium 80,0 80,0 80,0 0,0 CR00050648 savepreclient Assigned 40,0 40,0 40,0 0,0 CR00049603 getinspectiontype warning Assigned 32,0 32,0 32,0 0,0 technical validation 40,0 40,0 40,0 0,0 --------------- Other unplanned activities 60,0 60,0 19,0 41,0 19,0 WebServices Integration 235,0 235,0 11,0 224,0 11,0 Ahpha fixing 80,0 80,0 80,0 0,0 Beta fixing 48,0 48,0 48,0 0,0 1345,5 1429,0 631,0 798,0 553,7 Training 126,0 Dla zadań integracji zastosowałem metodę podobną do Apportioned Effort
Analiza zwiększenie zasobów 800,00 700,00 600,00 500,00 400,00 300,00 200,00 100,00 0,00 0,60 0,50 0,40 0,30 0,20 0,10 0,00 16.01 23.01 Cost PI Schedule PI 16.01 23.01 30.01 30.01 06.02 13.02 20.02 27.02 06.03 13.03 20.03 06.02 13.02 20.02 27.02 PV AC EV Est.Budg PV prop. 06.03 13.03 20.03 Prace zaczęły się źle: Już przy pierwszych zadaniach zanotowaliśmy duże opóźnienie wynikające ze zmian warstwy komunikacyjnej rozwiązania Ponieważ zadania te byłe trochę innej natury niż pozostałe, postanowiliśmy poczekać jednak Stwierdziliśmy, że nie skończymy pracy w terminie przy zaplanowanych zasobach zdecydowaliśmy się zwiększyć zespół (czas pracy/budżet)
Analiza zmiana estymacji (1) 1100,00 1000,00 900,00 800,00 700,00 600,00 500,00 400,00 300,00 200,00 100,00 0,00 0,80 0,70 0,60 0,50 0,40 0,30 16.01 23.01 30.01 0,20 0,10 Cost PI Schedule PI 0,00 16.01 23.01 30.01 06.02 13.02 06.02 20.02 13.02 27.02 06.03 13.03 20.03 27.03 03.04 20.02 27.02 06.03 13.03 PV AC EV Est.Bdgt 20.03 27.03 03.04 Niestety zwiększenie zasobów niewiele pomogło nasze opóźnienie stopniowo rosło. Jasnym było, że popełniliśmy błąd w trakcie estymacji naszych zadań i musimy to skorygować. Nie udało nam się skorygować planu o pełne wartości wynikające z analizy wskaźnikowej, ale zawsze to było coś
Analiza zmiana estymacji (2) 1200,00 1100,00 1000,00 900,00 800,00 Równocześnie stanęliśmy przed niespodziewanym problemem jak skorygować plan tak, aby: 700,00 600,00 500,00 400,00 300,00 200,00 100,00 0,00 1,20 1,00 0,80 0,60 0,40 0,20 0,00 16.01 16.01 23.01 23.01 30.01 30.01 06.02 06.02 13.02 13.02 20.02 20.02 27.02 27.02 06.03 06.03 PV AC EV Est.Bdgt 13.03 20.03 27.03 Cost PI Schedule PI 13.03 20.03 27.03 03.04 03.04 zachować ciągłość raportowania móc wyciągać właściwe wnioski. Zdecydowaliśmy się zastąpić wartości planowane aktualnymi w zrealizowanej części projektu. Co prawda mamy nieciągłości w wykresach, ale za to mamy: Pełną możliwość śledzenia wartości PV, AC i EV Poprawne wartości CPI i SPI, nie zafałszowane poprzednimi niepowodzeniami.
Analiza monitorowanie 1400,00 1300,00 1200,00 1100,00 1000,00 900,00 800,00 700,00 600,00 500,00 400,00 300,00 200,00 100,00 0,00 1,20 1,00 0,80 0,60 0,40 0,20 0,00 16.01 16.01 23.01 23.01 30.01 30.01 06.02 06.02 13.02 13.02 20.02 20.02 27.02 27.02 06.03 06.03 13.03 13.03 20.03 20.03 27.03 27.03 03.04 03.04 10.04 10.04 17.04 PV AC EV Cost PI Budget 24.04 01.05 Schedule PI 17.04 24.04 01.05 08.05 08.05 Pozostała część projektu przebiegła spokojnie przy ustabilizowanych wartościach wskaźników (niestety noszących ślad interwencji klienta czyli na poziomie 0,80) W końcowej fazie projektu na życzenie klienta wprowadziliśmy kilka dodatkowych funkcji Wpływ zmian na analizę wskaźników był niewielki, więc nie zmienialiśmy planu bazowego, zwiększając po prostu PV W przypadku większych zmian lub zmian, które następują w początkowej lub środkowej fazie projektu należy rozważyć aktualizację planu i przebiegu wartości wskaźników.
Wnioski Zastosowanie EV pomogło nam: Wcześnie dostrzec błędy w estymacji zadań, w których realizacji nie mieliśmy doświadczenia Zakomunikować klientowi odpowiednio wcześnie problem, oraz uzasadnić konieczność zmiany alokacji zasobów, oraz później, urealnienia estymacji pracochłonności Określić poziom pożądanych korekt planu i zasobów Doprowadzić do końca prace mając pod stałą kontrolą termin realizacji Da się zrobić!!!
Warunki wdrożenia Musi być: Raportowanie czasu (dowolny system zleceniowy) Spójne planowanie i raportowanie Bardzo pomaga integracja: Raportowania czasu Systemu zleceniowego Ew. repozytorium kodu Oraz: Metodyka umożliwiająca śledzenie realizacji (wymagania, analiza, development, testy)
Wystarczy MS Excel Program Rola pracownika Bieżąca data Projekt Pracownik ARKUSZ DANYCH AC (czas realizacji) PV (czas planowany) EV Zlecenie Wymaganie systemu Faza realizacji i tabele przestawne czasem wsparte MS Project em
Earned Value Analysis (EVA) Czy prezes miał jakieś korzyści? Aby metoda miała sens, wymusza bardzo staranne przygotowanie WBS-a i budżetu, co jest wartością samą w sobie Kontrola postępu prac w projektach (konieczny przy tym jest dobry pomiar osiągniętego dotąd rezultatu) Wiarygodne dane Porównywalne dane Wczesny sygnał mówiący o tym, że dzieje się źle (trend)
Earned Value Analysis (EVA) Najważniejsze: co z tego wszystkiego miał klient? Podobnie jak prezes: Miał szansę obserwować postęp w projekcie, czyli: Jaki rezultat osiągnięto Kosztem jakiej pracy Minimalizował ryzyko zaskoczenia przykrą niespodzianką tuż przed dostawą produktu Uzyskał obraz kosztów zmian w projekcie Mógł świadomie zarządzać zakresem projektu
Earned Value Management (EVM) Standaryzacja w USA Akty prawne Government Performance and Results Act (GPRA), 1993 Federal Acquisition Streamlining Act (FASA), 1994 Clinger-Cohen Act, 1996 Office of Management and Budget, Circular A 11 Part 7: Agencies must use a performance based acquisition management system, based on ANSI/EIA Standard 748, to measure achievement of the cost, schedule, and performance goals Normy ANSI/EIA 748 (zalecenia dotyczące systemu wspomagającego EVM)
Earned Value Analysis (EVA) Jak powstają nieudane wdrożenia? Brak jasno określonego rzeczywistego celu wdrożenia Wdrożenie EVM to metoda rozwiązania problemu, a nie cel sam w sobie Brak dobrych praktyk komunikacji i raportowania Zbyt szeroki zakres wdrożenia Brak uproszczeń przy zbieraniu danych Oczekiwanie zbyt dokładnych informacji Dodawanie dolarów do orzechów
Earned Value Analysis (EVA) Pytania i odpowiedzi