Kriitiline tee

**Kriitilise tee meetod** (*CPM – critical path method*), ka **kriitilise tee analüüs** (*CPA – critical path analysis*), on termin, millega kirjeldatakse protsesside kogumit ja andmeanalüüsimeetodit projektijuhtimises.  Matemaatiline algoritm projekti tegevuste komplekti ajakäivitamiseks. Antud meetodit kasutatakse laialdaselt projektijuhtide seas üle maailma, et arendada projektide efektiivset elluviimist paljudes valdkondades. Kriitilise tee meetod on projektijuhtimise viis, kus samm-sammult tehakse kindlaks tegevused ning kõige ajakulukamat protsessi või tegevuste jada nimetataksegi kriitiliseks teeks.

## Ajalugu

Kriitilise tee meetodit arendati mitmes etapis ja paljude aastate vältel. Arengufaasi esimesele osale pandi alus 1950ndate lõpu poole. Projekti algatamise võtmeisikuteks olid Morgan R. Walker, kes töötas USA keemiatööstuse ettevõttes DuPont, ja James E. Kelley, kes töötas Remington Randi ettevõttes, mis tootis ettevõtetele tootmismasinaid – näiteks trükimasinaid. Kriitilise tee meetodit hakkas välja töötama DuPonti inseneride töörühm ning esialgu pandi paika CPM-i arendamise eelarve, mis oli selle aja kohta päris suur (tegelikult CPM-i arendamiseks kulunud summa pole teada). Tänu Morgani innustatusele oli mudeli prototüüp 1957. aasta märtsi alguseks valmis ning esimene test antud meetodiga viidi läbi George Fisher Worksis septembris 1957. Kriitilise tee meetodit tutvustati laiemale publikule alles märtsis 1957. Antud projekti modelleerimise meetodi arendamise faas võttis aega 27 kuud: detsembrist 1956 kuni veebruarini 1959. Jim Kelley ja Morgan Walker on öelnud, et nad olid lihtsalt õigel ajal õiges kohas.  

## Meetodist
Kriitilise tee meetodi korral jagatakse projekt komponentideks ning kaardistatakse, milliseid tegevusi tuleb teha, et projekt edukalt lõpetada. Kõik tegevused loetletakse järjest varaseima kuupäeva järgi, kui antud tegevust läbi saaks viia ning lõpuaeg on samuti oluline, et projekt ei veniks plaanitust pikemaks. Igal projektil on tavaliselt aga võimalikke teostamise viise mitu, kus osad tegevused saavad toimuda paralleelselt teistega või on protsessid, mis ei ole teistest nii suures sõltuvuses. Kriitiliseks teeks aga nimetataksegi seda protsessi või teed teostamise lõpuni, mis on kõige pikema kestusega. Seega, iga projekti või tegevuse hilinemine või planeeritust kauem teostamine tähendab ka planeeritust hilisemat projekti lõpetamist, juhul kui ei tehta korrigeerimisi projekti keskel. 

## Kasutusvaldkond
Kriitilise tee meetodit soovitatakse kasutada järgnevate projektide teostamisel:
* 	Hoonete konstrueerimine või teede ehitus
* Uute toodete väljamõtlemisel või teostamisel
* 	Arvutisüsteemide installeerimisel või uuendamistel
* Teadus- ja tehnikaarenduse projektide juures
* 	Laevaehituse või rekonstrueerimise planeerimisel

## Analüüsi koostamine
	
# 	Määrake kindlaks iga tegevus või samm projektis. Võiks sisaldada vaid kõrgema taseme tegevusi, mis on projekti seisukohalt olulised. Soovitatakse teha tööde struktuur või püramiid, kus püramiidi tipus on olulisemad ülesanded, mis jagunevad allapoole tähtsuse järjekorras. 
# 	Üksteisest sõltuvuses olevate tegevuste järjestamine. Osade tegevuste lõpetamine on tihedas seoses teiste tegevustega projektis. Järjestades omavahel tegevuste tähtsuse, aitab lõpuks välja selgitada õige tegevuste järjekorra. 
# Tegevuste joonestamine diagrammiks. Kui enda jaoks on selgeks tehtud tegevuste järjekord ja nende sõltuvusahel, siis saab nende andmete põhjal joonestada kriitilise tee analüüsi graafiku, mis on teisalt tuntud ka kui võrkdiagramm (*Network diagram*).
# 	Hinnake tegevustele kuluvat aega. Kõige lihtsam on seda teha tuginedes varasematele kogemustele või kellegi spetsialisti abile, kuna tuleb hinnata erinevatele tegevustele või protsessidele kuluvat aega. Tavaliselt hinnatakse seda päevades, keerukamatel projektidel nädalates. Eristatakse kolme punkti hindamist: a) Ennustus ajakuluks, mis võiks parimatel tingimustel täide minna b) kõige reaalsem ajakulu c) milline võiks ajakulu halvimal juhul olla. 
# Tuvastage kriitiline tee. Kriitilist teed on võimalik tuvastada kahel viisil: Tehes seda tuginedes võrkdiagrammile ning hinnates silmaga kõige pikemat protsessile kuluvat jada, ehk kriitilist teed, ehk millele kulub ka hinnates kõige rohkem aega, mitte millel on rohkem n-ö kastikesi. Teisalt on võimalik ka tuvastada kasutades *forward pass* / *backward pass* tehnikat, kus määratakse varajane või hiline start (*forward pass*) või varajane või hiline lõpetamine (*backward pass*) tegevusel. Ehk see on tehnika, mille abil on võimalik diagrammi alusel arvutada tegevustele kuluvat aega.
# 	Uuendage skeemi vajadusel, et näidata progressi. Projekti edenedes uuendage eri tegevustele/protsessidele kuluvat aega ning tegelikke tegevuse lõpetamise aegu ning nendest tulenevalt saate arvutada mingi kriitilise tee aja ümber või näha realistlikumaid prognoose projektile kuluvast ajast ning eeldatavast projekti lõpetamisest.
## Skeemi visualiseerimine

Iga projekt on erinev ning olenemata sellest, kas tegemist on lihtsama või keerukama ülesandega, saab projekti jagada osadeks ehk tegevusteks. Tavaliselt hakatakse tegevusi planeerima ning sellest tulenevalt tehakse nimekiri tegevustest, mis oleksid loogilises järjekorras nõutavate tegevuste järjekorraga, ehk mis aktiveeriksid protsessi ning mis selle lõpetaksid. Parim soovitus lihtsaimaks järjestamiseks oleks teha lihtne “kastikestega” diagramm, kus iga kastike näitaks erinevat tegevust ning ühenduses tegevused oleksid omavahel järjestatud nooltega. Neid diagramme nimetatakse “tegevusi ühendavaks diagrammiks” (“Activity-on-Node” diagram). Üldjuhul ühendatakse tegevused omavahel nii, et tegevus A peab olema lõpule viidud, enne kui saab minna tegevuse B tegemise juurde. 

Kui tegevused on viidud loogilisse järjestusse ja nendevahelised suhted on paika pandud, on diagrammi baasilt vaja hakata protsessi kalkulatsiooni tegema. Esimene samm on tuntud kui anna edasi või edasta edasi( *Forward Pass*). Antud tegevuse juures tuleb iga tegevuse varajane start ning varajase lõpu vahe arvutada, kõrvutades seda kogu protsessi või projektile kuluva ajaga. Lihtsamalt öeldes, tuleb võrkdiagrammi koostama hakates tuleb arvutust alustada, pannes 0 varajase alguse juurde ehk esimese tegevuse juurde ja sealt edasi ülejäänud arvutused järgides järgnevat: 

Varajane algus – varaseim kuupäev kui tegevus saab alata (ES) = kõrgeim või suurim varajase lõpu (EF) väärtus vahetust eelkäijast, ehk eelnevast tegevusest 

Varajane lõpp – varaseim kuupäev kui tegevus saab lõppeda (EF) = varajane algus (ES) + kestus.

Järgmise sammuna tuleb kalkuleerida varajase alguse ja varajase lõpu tulemused igale tegevusele eraldi. 
* Hiline start – viimane kuupäev tegevuse alustamiseks, et üldprotsessi mitte viivitusse viia (LS) = hiline lõpp (LF) – tegevuse kestus
* Hiline lõpp – viimane kuupäev, kui tegevust saab lõpetada, et mitte viia kogu projekti valmimist hilinemisse (LF) = miinimum hilise stardi aeg tegevusele, mis saab järgneda mingile tegevusele protsessis, et kogu protsess ei läheks viivitusse planeeritava ajaga. Nagu ka viimane nimetus ütleb, algab kalkulatsioon viimasest tegevusest tagantpoolt kuni hilise stardi väärtus on arvutatud ka protsessi esimesele tegevusele. Järgmise etapina on oluline arvutada maksimum päevade arv iga tegevuse jaoks eraldi, kui kaua võib iga tegevus viibida, ilma et see viiks kogu projekti valmimise lõpu aega viivitusse (*Total Float*). Lisaks tuleb arvutada maksimum päevade arv kõigile tegevustele eraldi, mis ei viiks järjekorras järgmist tegevust viivitusse (*Free Float*). 
* Total Float = hiline start (LS) – varajane start (ES), saab arvutada ka kui hiline lõpp (LF) – varajane start (EF)
* Free Float = madalaim varajane start (ES), mis eelneb mingile tegevusele – varajane lõpp (EF). 

Need arvutused näitavad erinevust varaseima kuupäeva vahel, kui mingi tegevus saab alata ja hiliseima kuupäeva vahel, kui tegevus saab alata, ilma et need kuupäevad viiksid kogu protsessi viivitusse. Seda vahemikku saab arvutada ka kui arvutada hilise lõpu ning hilise stardi vahet, kui hiline start lahutada varasest stardist ja hiline lõpp lahutada varajasest lõpust, need peaksid andma samad tulemused. Kui antud tulemused on kalkuleeritud, tuvastataksegi kriitiliste tegevuste ahel ehk kriitiline tee tegevuste vahel. Veel huvitav märkida, et kriitiliste tegevuste kestus on võrdeline kogu protsessile või projektile kuluva ajaga. See kinnitab siinkohal ka fakti, et mingid planeeritust kauem võtvad tegevused kriitilisel teel mõjutavad ka projekti lõpetamise aega. 

## Viited