Ohjelmistoprojektien hallinta Tuloksen arvo menetelmä ja toimintoverkkotekniikka
Tuloksen arvo - menetelmä TAVOITE: YMMÄRTÄÄ menetelmän hyödyt projektin seurannassa Tähän mennessä on rahaa projektiin mennyt vain puolet siitä mitä suunniteltiin 2
Tuloksen arvo -menetelmä Cost and Schedule Control Systems Criteria (C/SCSC) Menetelmä on kehitetty Yhdysvaltain puolustus- ja energiaministeriössä Seurataan projektin budjettia ja toteutuneita kustannuksia tuloksen syntyhetkeen perustuen Yhdistetään aika- ja kustannusseuranta Seuranta budjetoiduista työkustannuksista todella tehdyn työn kustannusten seurantaan Kustannukset kirjataan vasta kun ne todella kiinnittyvät saavutettuun tulokseen 3
Seuranta tehtävittäin/työpaketeittain BCWS - Budgeted Cost for Work Scheduled = Aikataulutettu budjetti BCWP - Budgeted Cost for Work Performed = Tuloksen arvo = Tehdyn työn budjetoitu arvo ACWP - Actual Cost of Work Performed = Toteutuneet kustannukset ETC - Estimate To Complete = Kunka paljon vielä tarvitaan (i) aikaa (ii) rahaa BAC - Budget At Complete = Budjetin loppusumma 4
Laskettuja mittareita CV - Cost Variance = kustannusero = BCWP - ACWP SV - Schedule Variance = aikatauluero = BCWP - BCWS EAC - Estimate At Complete = Kustannusennuste = ACWP(cum) + (BAC - BCWP(cum)) VAC - Variance At Completion = Arvioitu kustannusero = BAC - EAC 5
Tuloksen arvo -menetelmä 6
Esimerkki (1/3) Tehtävänä on koodata 1000 riviä koodia Yksi koodaaja koodaa noin 100 riviä päivässä eli tehtävän suunniteltu kesto on 10 pv Koodaaja koodaa yhtäjaksoisesti ilman vapaita, vain tehdyt työpäivät korvataan Kustannukset 500 euroa/koodauspäivä eli yhteensä 5000 (alkuperäinen budjetti) Toteutunut tilanne kun 5 päivää on kulunut: Valmista koodia on syntynyt 300 riviä (valmiusaste 30% =aikataulutetut kustannukset)) Koodaaja on työskennellyt 4 päivää (toteutunut työmäärä) Jäljellä oleva työmäärä tähänastisen tehokkuuden mukaan: 4 päivää / 300 riviä * 700 riviä = 9,33 päivää (jäljellä oleva työmäärä) Koodaajan kustannukset budjetin mukaiset 500 /päivä Mikä on projektin tilanne? 1 Sep 00 8 Sep 00 15 ID Task Name Duration % Comp. Act.Work Remaining Work S M T W T F S S M T W T F S S M 2 Koodaus 10 days 0% 0 days 10 days 0% 3 Koodaus 13,33 days 30% 4 days 9,33 days 30% 7
Esimerkki (2/3) Toteutumatiedot: BCWS = 5pv*500 = 2500 ACWP = 4pv*500 = 2000 BCWP = 30%*5000 = 1500 EAC = 13,33pv*500 = 6665 Mittarit: CV - Cost Variance = kustannusero = BCWP - ACWP = 1500-2000 = -500 SV - Schedule Variance = aikatauluero = BCWP - BCWS = 1500-2500 = -1000 EAC - Estimate At Complete = Kustannusennuste = ACWP(cum) + (BAC BCWP(cum)) = 2000 + 2000/1500 (5000-1500) = 2000 + 4666,67 = 6666,67 VAC -VarianceAtCompletion = Arvioitu kustannusero = BAC - EAC = 5000-6666,67 = 1666,7 8
Esimerkki (3/3) 7000 Kumulatiivinen kustannus 6000 5000 4000 3000 2000 1000 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 Aika päivinä BCWS BCWP ACWP EAC 9
Toimintaverkkotekniikka TAVOITE: YMMÄRTÄÄ kriittisen polun merkitys aikataulun hallinnassa 10
Aikataulun suunnittelun apuväline Toimintaverkkotekniikalla saadaan vastaukset kysymyksiin: Mitä tehdään ja milloin? Miten tietyn tehtävän ajoitus vaikuttaa muihin tehtäviin? Miten aikataulupoikkeamat vaikuttavat koko projektin valmistumiseen? Mitkä tehtävät ovat kiireellisiä ja mitkä eivät? Missä ajassa projekti voidaan realistisesti toteuttaa? 11
Aikataulun suunnittelun apuväline Toimintaverkkotekniikan hyödyt: Projektin edistymisen seuranta on vaivatonta; poikkeamien vaikutus koko projektiin saadaan esiin selkeästi Eri vaihtoehtojen simulointi ja optimointi voidaan tehdä nopeasti ja helposti Projektin kestoaikaan voidaan vaikuttaa kriittisten tehtäväketjujen (polkujen) erottuessa selkeästi Projektin edistymisen kannalta kriittiset vaiheet ja niihini liittyvät tehtävät saadaan havainnollisesti esille 12
Tehtävät ja niiden kestot ID Tehtävä Kesto 1 A10 1d 1 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 2 A20 6d 3 A30 3d 4 A40 4d 5 A50 13d 6 A60 1d Aikataulusuunnittelu aloitetaan tehtävälistan muodostamisella ja tehtävien kestojen arvioimisella Kun tehtävät ovat selvillä, etsitään niiden keskinäiset riippuvuudet ja mietitään tehtävien suoritusjärjestys 13
Eteenpäinlaskenta Eteenpäinlaskennalla saadaan selville tehtävien aikaisimmat mahdolliset alkamis- ja päättymisajankohdat. ID Tehtävä Kesto Aikaisin alku Aikaisin loppu Edeltävät 1 A10 1d 1 1 1 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 A20 6d 2 7 1 3 A30 3d 8 10 2,4 4 A40 4d 2 5 1 5 A50 13d 2 14 1 6 A60 1d 15 15 5,3 14
Eteenpäinlaskenta Lähdetään 1. tehtävästä eteenpäin ja asetetaan jokainen tehtävä alkamaan sen aikaisimpana mahdollisena aloitusajankohtana Tehtävän aikaisimmaksi alkamishetkeksi (early start) merkitään aina sitä edeltävän tehtävän aikaisin päättymishetki (early finish) Verkon kaikki tehtävät käydään näin läpi; jos tehtävää edeltää useita tehtäviä, voi se alkaa vasta kun viimeinen niistä on valmis. Menetelmällä saadaan selville tehtävien aikaisimman alkamis- ja päättymishetken lisäksi toimintaverkon (projektin) kokonaiskesto ja pisin tehtäväketju. 15
Taaksepäinlaskenta Taaksepäin laskennassa saadaan selville tehtävien myöhäisimmät mahdolliset aloitus- ja lopetusajankohdat. ID Tehtävä Kesto Aikaisin alku Aikaisin loppu Myöhäisin alku Myöhäisin loppu 1 A10 1d 1 1 1 1 1 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 A20 6d 2 7 6 11 3 A30 3d 8 10 12 14 4 A40 4d 2 5 8 11 5 A50 13d 2 14 2 14 6 A60 1d 15 15 15 15 16
Taaksepäinlaskenta Taaksepäin laskenta aloitetaan eteenpäin laskennassa tulokseksi saadun viimeisen tehtävän lopusta Viimeisen tehtävän päättymisajankohta asetetaan koko verkon myöhäisimmäksi päättymisajaksi (late finish) Tehtävän myöhäisin alkamishetki (late start) saadaan vähentämällä myöhäisimmästä päättymisajasta tehtävän kesto Saatu tehtävän myöhäisin alkamishetki merkitään sitä edeltävän tehtävän myöhäisimmäksi lopuksi jne. 17
Pelivarojen laskenta ID Tehtävä Kesto Edeltävät Vapaa pelivara Kokonaispelivara 1 A10 1d 0d 0d 1 2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 2 A20 6d 1 0d 4d 3 A30 3d 2,4 4d 4d 4 A40 4d 1 2d 6d 5 A50 13d 1 0d 0d 6 A60 1d 5,3 0d 0d Vapaalla pelivaralla /VPV (free slack/float) tarkoitetaan sitä, kuinka paljon tehtävän päättäminen saa myöhästyä ilman että sitä seuraavat tehtävät myöhästyvät. Kokonaispelivara /KPV (total slack/float) kertoo, kuinka paljon tehtävän päättäminen voi myöhästyä ilman että koko projektin päättäminen myöhästyy. Kriittinen polku /KP (critical path) on niiden tehtävien ketju, joilla ei ole lainkaan vapaata palivaraa eikä kokonaispelivaraa. Toisin sanoen, kriittisen polun olevan tehtävän myöhästyminen aiheuttaa projektin päättämisen viivästymisen. 18
Pelivarojen laskenta ID Tehtävä Kesto Aikaisin alku Aikaisin loppu Myöhäisin alku Myöhäisin loppu Vapaa pelivara Kokonaispelivara 1 A10 1d 1 1 1 1 0d 0d 2 A20 6d 2 7 6 11 0d 4d 3 A30 3d 8 10 12 14 4d 4d 4 A40 4d 2 5 8 11 2d 6d 5 A50 13d 2 14 2 14 0d 0d 6 A60 1d 15 15 15 15 0d 0d Tehtävän vapaa pelivara saadaan vähentämällä aikaisimman seuraavan tehtävän aikaisin alku ko. tehtävän aikaisimmasta lopusta Kokonaispelivara saadaan vähentämällä tehtävän myöhäisimmästä mahdollisesta päättymishetkestä sen aikaisin mahdollinen päättymishetki: KPV = ML - AL 19
Harjoitus: Väyläkartta Road map / Route map on tarkoitettu työn karkean tason esittelemiseen On korkean tason toimintaverkko, joka voidaan esittää lohko- tai nuoliverkkokaaviona Edellyttää yhteenpitävyyttä aikatauluun Vaihtoehtoiset toimittajat Edeltävät aktiviteetit Suunn. hyväksytty Vaatimusten määrittely Näyt.as. valittu Seuraavat aktiviteetit Check Point, Milestone, etc. Kaupallinen tarjousja sopimus Activity Check Point, Milestone, etc. Phase, Vaihe, Päävaihe, etc. 20
Väyläkartta: esimerkki Vaihtoehtoiset toimittajat Vaatimusten määrittely Kaupallinen tarjous- ja sopimus Näyttelyn toimittajat valittu Näyttelyn rakentaminen ja purku Näyttelyn pitäminen Aloitus Projektin suunnittelu Hyv. suunn Markkinoinnin suunnittelu Näyttelyn arviointi Näyttely purettu Esitteiden ja kutsujen teko Postitukset ja soittelut Markkinointikirje lähetetty 21
Väyläkartan piirtäminen - Suoritustapa Jakokaavion tarkentaminen väyläkartaksi (eli vaiheistettu jakokaavio), lisätään: 1. Töiden riippuvuudet näkyviin nuolilla: looginen ja aikariippuvuus 2. Tarkistupisteiden täsmentäminen Mitkä työt / tehtäväkokonaisuudet pitää olla valmiina kussakin tarkistuspisteessä? 3. Lisätään alku- ja loppuetappi 4. Kuvan ja kokonaisuuden tarkistaminen 22