VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE FAKULTA INFORMATIKY A STATISTIKY
název bakalářské práce:
Porovnání metody kritické cesty a metody kritického řetězce
Autor: Jan Sůra Katedra: Katedra ekonometrie Obor: Matematické metody v ekonomii Vedoucí práce: prof. Dr. Ing. Petr Fiala, CSc.
.
Prohlášení: Prohlašuji, že jsem bakalářskou práci na téma Porovnání metody kritické cesty a ” metody kritického řetězce“ zpracoval samostatně. Veškerou použitou literaturu a další podkladové materiály uvádím v seznamu použité literatury. V Praze dne 30. června 2012 ................. Jan Sůra
.
Poděkování: Rád bych na tomto místě poděkoval prof. Dr. Ing. Petru Fialovi, CSc. za vedení mé bakalářské práce a za podnětné návrhy a doporučení, které ji obohatily.
Abstrakt Název práce: Porovnání metody kritické cesty a metody kritického řetězce Autor: Jan Sůra Katedra: Katedra ekonometrie Vedoucí práce: prof. Dr. Ing. Petr Fiala, CSc. Metod řízení projektů existuje celá řada. Jednou z nejpoužívanějších je metoda kritické cesty (CPM). Výsledky této metody v praxi jsou ale bohužel neuspokojivé; plánovaná doba realizace, náklady i kvalita výstupu bývají často nedodrženy, v mnoha případech o desítky procent. Ve snaze tyto negativní výsledky odstranit vzniklo mnoho metod, metoda kritického řetězce (CCM) je jednou z nich. Její autor, Eliyahu Goldratt, se zaměřil na aspekty projektů, které ostatní metody do značné míry opomíjejí - na práci s nejistotou a lidskou psychologii, motivaci pracovíků atd. Metoda kritického řetězce má dnes v praxi mnoho nadšených příznivců, je tedy zřejmé, že se s její pomocí podařilo úspěšnost projektů značně vylepšit. Cílem této práce je popsat a porovnat obě zmíněné metody. Klíčová slova: projektový management, metoda kritické cesty, metoda kritického řetězce, Eliyahu Goldratt
Abstract Title: Comparison of the Critical Path Method and the Critical Chain Method Author: Jan Sůra Department: Department of Econometrics Supervisor: prof. Dr. Ing. Petr Fiala, CSc. There are many methods used in project management. One of the most commonly used methods is the Critical path method (CPM). The results of applying this method to projects are unfortunately not satisfactory; project time estimates, costs and the quality of output are often not met, in many cases by 10% or more. Many methods have been developed in an attempt to improve project performance. One of these methods is the Critical chain method (CCM). Its author, Eliyahu Goldratt, focused on aspects of projects which have been largely neglected by most of the other methods - uncertainty management and human psychology, workers’ motivation etc. Today, the Critical chain method has many enthusiastic supporters so it is clear that it has helped to significantly improve project performance. The purpose of this paper is to compare both mentioned methods. Keywords: project management, critical path method, critical chain method, Eliyahu Goldratt
Obsah 1 Úvod 2 Úvod do problematiky řízení projektů 2.1 Projekt . . . . . . . . . . . . . . . . . 2.2 Projekty a teorie grafů . . . . . . . . . 2.3 Síťové grafy . . . . . . . . . . . . . . . 2.3.1 Hranově orientované grafy . . . 2.3.2 Uzlově orientované grafy . . . .
2
. . . . .
3 3 4 5 5 6
3 Metoda kritické cesty (Critical Path Method, CPM) 3.1 Historie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Popis metody . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 Jasné určení cíle projektu . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.2 Specifikace jednotlivých činností . . . . . . . . . . . . . . . . . . . . . . . . 3.2.3 Sestavení grafu/tabulky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.2.4 Určení dob trvání jednotlivých činností . . . . . . . . . . . . . . . . . . . . 3.2.5 Identifikace kritické cesty, výpočet časových rezerv na nekritických cestách 3.3 Ilustrativní příklad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9 9 10 10 10 11 13 13 17
4 Metoda kritického řetězce (critical chain method, CCM) 4.1 Teorie omezení (TOC) . . . . . . . . . . . . . . . . . . . . . 4.2 Principy metody kritického řetězce . . . . . . . . . . . . . . 4.3 Ilustrativní příklad . . . . . . . . . . . . . . . . . . . . . . . 4.4 Závěrečné srovnání metod . . . . . . . . . . . . . . . . . . .
25 25 28 35 41
5 Závěr
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . . .
. . . .
. . . .
43
1
Kapitola 1
Úvod K výběru tématu práce mě kromě zájmu o problematiku projektového managementu vedla skutečnost, že jsem se v minulosti s metodou kritického řetězu zatím nesetkal a vzbudila ve mě velký zájem. Tímto bych tedy rád poděkoval profesoru Fialovi, který mi toto téma doporučil a rozšířil tak mé obzory. Práce si klade za úkol seznámit čtenáře se dvěma metodami řízení projektů, a to Metodou kritické cesty (Critical path method, CPM) a Metodou kritického řetězu (Critical chain method, CCM). Dále práce tyto metody porovnává z hlediska výchozích předpokladů, aplikovaných algoritmů a případných nedostatků a nežádoucích efektů. Vzhledem k tomu, že Metoda kritického řetězu byla vyvinuta za účelem odstranění nedostatků Metody kritické cesty, je náplní srovnání metod zejména prozkoumání, které nedostatky Metoda kritického řetězu napravuje a jak je toho docíleno.
2
Kapitola 2
Úvod do problematiky řízení projektů 2.1
Projekt
Plánování a řízení projektů je v dnešní době nedílnou součástí práce téměř každé firmy bez ohledu na její velikost a obor, ve kterém působí. Schopnost efektivně projekty řídit je proto klíčový pro úspěch většiny firem. Projekt je možno obecně charakterizovat náseledovně: • projekt má jasně stanovený cíl, podle kterého je možno hodnotit, zda byl projekt dokončen a v jaké míře byl úspěšný, • projekt lze vyjádřit jako soustavu dílčích činností, mezi kterými existují vzájemné vazby a vztahy. Nejdůležitějším typem vztahů mezi činnostmi jsou vztahy předchůdce a následník, které vyjadřují, která činnost-předchůdce musí být dokončena, aby bylo možné zahájit práci na činnosti-následníkovi. Je zřejmé, že dle této charakteristiky můžeme projektem nazvat jakoukoliv aktivitu. Tato skutečnost není na závadu; z obecné a široké definice projektu vychází i obrovská šíře použití metod řízení a plánování projektů. Pochopitelně se míra prospěchu z užití různých metod plánování a řízení na různé typy aktivit/projektů liší - plánovat pomocí sofistikovaných metod projekt stavby obchodního centra přinese větší užitek, než aplikace stejné metody na ’projekt’ sestavení šatní skříně.
3
KAPITOLA 2. ÚVOD DO PROBLEMATIKY ŘÍZENÍ PROJEKTŮ
2.2
Projekty a teorie grafů
Většina metod řízení projektů využívá teorii grafů k vyjádření a práci s projekty. Zde jsem shrnul některé základní pojmy. Teorie grafů zkoumá vlastnosti struktur zvaných grafy. Grafy jsou tvořeny vrcholy (uzly), které jsou vzájemně spojené hranami. Graficky se znázorňuje obvykle jako množina bodů spojených čárami. Formálně je graf uspořádanou dvojicí množiny uzlů N (angl. nodes, veritices) a množiny hran E (angl. edges). G = (N, E) V oblasti řízení projektů jsou důležité následující pojmy: Incidence
Uzel ui je incidentní s hranami, které do uzlu ui vstupují, nebo z něho
vystupují. Tedy ui je incidentní s ehi a eij . Sousedství vrcholu
Sousedstvím uzlu ui nazýváme množinu všech hran s uzlem ui
incidentních a uzlů těmito hranami s uzlem ui spojených. Stupeň vrcholu
Stupeň vrcholu je číslo udávající počet hran s uzlem incidentních.
Pokud se jedná o orientovaný graf, zavádí se stupeň kladný deg + a záporný deg − , kde deg + je číslo udávající počet hran do uzlu vstupujících a deg − je číslo udávající počet hran z uzlu vystupujících. Podgraf
Graf G je podgrafem grafu G‘, pokud je možné ho získat redukcí grafu G‘
o některé hrany nebo uzly a hrany incidentní s těmito uzly. Sled
Sled je posloupnost vrcholů, pro kterou platí, že mezi každými dvěma po
sobě jdoucími vrcholy existuje hrana. Pokud se jedná o orientovaný graf, musí sled respektovat orientaci hran. Cyklus
Cesta
Cyklus je sled, pro který platí, že začíná a končí stejným uzlem. Cesta v grafu je posloupnost hran vedoucích z jednoho uzlu do uzlu jiného.
Zároveň musí platit, že v cestě je každý vrchol obsažen maximálně jednou. V případě orientovaných grafů může existovat sled, který není cestou, jen v případě, že tento orientovaný graf obsahuje alespoň jeden cyklus. Pokud orientovaný graf neobsahuje cyklus, je každý sled zároveň cestou. Cesta je v souvislosti s projekty velmi důležitý 4
KAPITOLA 2. ÚVOD DO PROBLEMATIKY ŘÍZENÍ PROJEKTŮ
pojem, neboť velká část metod se zaobírá právě hledáním, obvykle nejkratších či nejdelších, cest na grafu.
2.3
Síťové grafy
Síťové grafy jsou jedním z nejčastějších nástrojů používaných při práci s projekty. Je to jedna z nejpřehlednějších forem reprezentace projektu. Síťový graf je velmi užitečný jak ve fázi plánování, tak při samotné práci na projektu pro přehlednost a kontrolu průběhu. Vizualizace projektu pomocí síťového grafu pomáhá zejména při větším rozsahu projektu, umožňuje vedoucímu projektu soustředit se na jednotlivé činnosti či skupiny činností a jejich vlastnosti, parametry a vztahy s ostatními činnostmi. Rozlišujeme 2 základní typy síťových grafů: • hranově orientovaný - činnosti v hranově orientovaných grafech jsou reprezentovány hranami, • uzlově orientovaný - činnosti v uzlově orientovaných grafech jsou reprezentovány uzly. 2.3.1
Hranově orientované grafy
Na hranově orientovaných síťových grafech hrany reprezentují činnosti a uzly vztahy (návaznosti) mezi činnostmi.
Obrázek 2.1: Příklad hranově orientovaného síťového grafu
5
KAPITOLA 2. ÚVOD DO PROBLEMATIKY ŘÍZENÍ PROJEKTŮ
Na hranově orientovaném grafu lze vyjádřit pouze vztahy činností typu koneczačátek, t.j. vztah, kde následující činnost může začít až po dokončení předcházející činnosti. Pokud chceme vyjádřit jiný vztah, musíme použít fiktivní hrany a vhodně hrany a uzly uspořádat. Fiktivní hrana nepředstavuje žádnou reálnou činnost a má dobu trvání 0 časových jednotek. Slouží pouze pro vyjádření vztahu činností. Značí se obvykle fij (pokud jsou uzly grafu očíslované - poté i je počáteční uzel a j je koncový uzel hrany) a do grafu se obvykle zakresluje jako přerušovaná čára. Pro hranově orientované uzly zavedeme pojmy: • aktivace uzlu - uzel ni je aktivován, pokud byly splněny všechny vstupující hrany (tedy pokud byly dokončeny všechny činnosti projektu reprezentované hranami vstupujícími do uzlu) • aktivace hrany - hrana aij vystupující z uzlu ni je aktivována, pokud je aktivován uzel ni . 2.3.2
Uzlově orientované grafy
Na uzlově orientovaných síťových grafech reprezentují hrany vztahy (návaznosti) mezi činnostmi a uzly reprezentují činnosti. Na uzlově orientovaném grafu můžeme vyjádřit 4 typy vztahů mezi činnostmi i a j ( grafu je ni počáteční uzel hrany, nj koncový uzel hrany): • E-S (End-Start, Začátek-Konec) udává vztah, kde činnost i musí skončit, aby činnost j mohla začít, • E-E (End-End, Konec-Konec) udává vztah, kde činnost i musí skončit, aby činnost j mohla skončit, • S-S (Start-Start, Začátek-Začátek) udává vztah, kde činnost i musí začít, aby činnost j mohla začít, • S-E (Start-End, Začátek-Konec) kde udává vztah, činnost i musí začít, aby činnost j mohla skončit. Pro uzlově orientované grafy zavádíme pojmy: • aktivace uzlu - uzel ni je aktivován, pokud byly splněny všechny uzly spojené s uzlem ni vztahy E-S (tedy pokud byly dokončeny činnosti projektu, jejichž 6
KAPITOLA 2. ÚVOD DO PROBLEMATIKY ŘÍZENÍ PROJEKTŮ
dokončení je precedenční podmínkou pro zahájení činnosti i) a pokud byly aktivovány uzly spojené s uzlem ni vztahem S-S (tedy pokud byly zahájeny činnosti projektu, jejichž zahájení je precedenční podmínkou pro zahájení činnosti i). Jinými slovy uzel ni je aktivován v okamžiku, kdy je možné zahájit práci na činnosti i. • aktivace hrany typu E-S a E-E - hrana aij je aktivována, pokud je dokončen uzel ni . • aktivace hrany typu S-S a S-E - hrana aij je aktivována, pokud je aktivován uzel ni .
Obrázek 2.2: Příklad uzlově orientovaného síťového grafu
V uzlově orientovaných grafech není třeba používat fiktivní hrany, neboť z každého uzlu (činnosti) může vycházet libovolný počet hran (vztahů) a stejně tak do každého uzlu může vstupovat libovolný počet hran.
7
KAPITOLA 2. ÚVOD DO PROBLEMATIKY ŘÍZENÍ PROJEKTŮ
Obrázek 2.3: Čtyři typy vztahů mezi činnostmi E-S, E-E, S-S, S-E
8
Kapitola 3
Metoda kritické cesty (Critical Path Method, CPM) 3.1
Historie
Metoda CPM byla oficiálně vyvinuta v USA v roce 1959 společností DuPont Corporation. Jsou ovšem další organizace, které tvrdí, že CPM vyvinuli dříve. Jedná se o Námořnictvo Spojených států (US Navy) a britskou Radu pro výrobu elektrické energie (UK Central Electricity Generating Board, UKCEGB). • UKCEGB v roce 1957 vyvinula metodu, která identifikovala tzv. hlavní posloupnost činností (major sequence of events). Jedná se o řadu na sebe navazujících činností, která určuje délku trvání celého projektu - zdržení těchto činností způsobí zdržení dokončení celého projektu. Toto je ekvivalent kritické cesty v CPM. • US Navy v roce 1958 vyvinula metodu PERT (Program Evaluation Research Task, později známá jako Program Evaluation and Review Technique). Tato metoda posloužila jako východisko při vývoji CPM. V současné době se CPM všeobecně používá pro projekty v podstatě ve všech oborech, ať už se jedná o stavebnictví, softwarový vývoj, výzkumné projekty, vývoj nových spotřebních výrobků atd.
9
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
3.2
Popis metody
Aplikaci CPM na projekt můžeme rozdělit do několika kroků (body 1 a 2 platí obecně pro každou systematickou práci s projekty): 1. Jasné určení cíle projektu 2. Specifikace jednotlivých činností, určení jejich závislostí a návazností 3. Sestavení diagramu/grafu 4. Určení dob trvání jednotlivých činností 5. Identifikace kritické cesty, výpočet časových rezerv 3.2.1
Jasné určení cíle projektu
Prvním krokem při přípravě projektu je stanovení cíle projektu. Je třeba co nejdetailněji určit parametry konečného ’produktu’, ať už se jedná o výstavbu nemovitosti či vývoj nového spotřebního zboží. V tomto kroku je často možné rozpoznat, zda je výhodné projekt realizovat. K tomu je nutné provést analýzu ziskovosti projektu ve vztahu k potřebným zdrojům, určit přípustný rozpočet na projekt (tj. aby při odhadovaných výnosech a vynaložených nákladech byl dosažen přijatelný zisk) a stanovit přípustný časový horizont projektu (ziskovost mnoha projektů je závislá na čase, ve kterém je projekt dokončen, neboť situace na trhu se v čase mění). Analýza nákladů a potřebných zdrojů pokračuje ve 2. kroku. 3.2.2
Specifikace jednotlivých činností
Dalším krokem při přípravě projektu by měla být co nejpřesnější specifikace jednotlivých činností, ze kterých se projekt skládá. Určíme cíle každé činnosti, potřebné zdroje a vzájemné závislosti a návaznosti činností. Nedostatečně detailní rozbor činností a jejich vztahů může vést k chybně sestavenému plánu projektu. Užitečnou pomůckou v tomto kroku je začít od konce projektu a prozkoumat, jaké činnosti musí bezprostředně předcházet úspěšnému zakončení projektu. Stejným způsobem pokračujeme pro každou nově přidanou činnost, dokud nedojdeme k činnostem, kterým žádná další činnost nepředchází. Po specifikaci činností by mělo být zřejmé, jaké náklady a zdroje bude třeba vynaložit na dokončení projektu, a tedy je možné určit, zda je výhodné projekt realizovat. 10
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
3.2.3
Sestavení grafu/tabulky
Podle vzájemné návaznosti činností sestavíme graf nebo tabulku odpovídající projektu. Sestavení grafu není nezbytné, určení všech důležitých vlastností projektu (kritická cesta, rezervy) lze provést i z tabulky. Grafická reprezentace projektu je však velmi užitečná pro přehlednost a snažší orientaci, a to jak v přípravné fázi, tak při sledování vývoje probíhajícího projektu. Hranově orientovaný graf CPM sestavíme podle následujících pravidel: • Graf má právě 1 počáteční uzel a právě 1 koncový uzel. Nastane-li situace, kde je možno vybrat více počátečních uzlů, vybereme z nich jeden libovolně a s ostatními ho spojíme fiktivními hranami. • Hrany reprezentují činnosti. • Fiktivní hrana vystupující z uzlu ni vyjadřuje dodatečnou podmínku pro aktivaci uzlu nj , do kterého vstupuje. Pro aktivaci uzlu nj je potřeba, aby byly splněny všechny vstupující ’nefiktivní’ hrany a zároveň aby byl aktivován uzel ni . • Do uzlu nj vstupují pouze hrany, které jsou podmínkou pro aktivaci uzlu nj . • Z uzlu ni vystupují pouze hrany, které vyžadují aktivaci uzlu ni . • Uzly topologicky očíslujeme. Topologické číslování provedeme podle následujícího rekurzivního algoritmu: 1. Mějme 2 množiny S0 a S1 . Množina S0 obsahuje počáteční uzel, který označíme n1 : S0 = n1 , množina S1 obsahuje všechny zbylé uzly. 2. Redukujeme graf o uzly a hrany vycházející z uzlů, které jsou obsaženy v množině S0 . 3. Ve vzniklém podgrafu nalezneme uzly, do kterých nevstupují žádné hrany, a tyto uzly očíslujeme v návaznosti na číslování uzlů provedené v minulých iteracích algoritmu. Pořadí číslování uzlů vybraných v této iteraci je libovolné. 4. Uzly vybrané v minulém kroku odebereme z množiny S1 a přidáme je do množiny S0 .
11
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
5. Pokud je množina S1 neprázdná, pokračujeme krokem 2. Pokud je množina S1 prázdná, je celý graf topologicky očíslován a algoritmus končí.
Obrázek 3.1: Příklad hranově orientovaného síťového grafu CPM
Uzlově orientovaný graf CPM sestavíme podle následujících pravidel: • Graf má právě 1 počáteční uzel a právě 1 koncový uzel. Je-li v projektu více činností, které nemají předchůdce, vybereme jednu libovolně jako počáteční uzel a s ostatními ho spojíme vztahem Start-Start. • Uzly reprezentují činnosti. • Hrany reprezentují vztahy mezi činnostmi. • Uzly není nutné topologicky očíslovat. Topologické očíslování uzlově orientovaného grafu lze odvodit z precedenčních závislostí mezi činnostmi. Topologické číslování lze provést podle následujícího rekurzivního algoritmu: 1. Mějme 2 množiny S0 a S1 . Množina S0 obsahuje počáteční uzel který označíme n1 , množina S1 obsahuje všechny ostatní uzly. 2. Redukujeme graf o uzly a hrany vycházející z uzlů, které jsou obsaženy v množině S0 . 3. Nalezneme uzly, do kterých nevstupují žádné hrany typu E-S nebo S-S a tyto uzly očíslujeme v návaznosti na číslování uzlů provedené v minu12
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
lých iteracích algoritmu. Pořadí číslování uzlů vybraných v této iteraci je libovolné. 4. Uzly vybrané kroku č.3 odebereme z množiny S1 a přidáme je do množiny S0 . 5. Pokud je množina S1 neprázdná, pokračujeme krokem 2. Pokud je množina S1 prázdná, je celý graf topologicky očíslován a algoritmus končí. 3.2.4
Určení dob trvání jednotlivých činností
Pro každou činnost určíme realistický odhad doby jejího trvání při zvolené hladině spolehlivosti. Klasická metoda CPM neuvažuje možnost neočekávaného prodloužení doby trvání činností, je tedy vhodné určovat dobu trvání činností tak, aby dokončení činností ve stanoveném čase bylo vysoce pravděpodobné. To znamená zvolit vysokou hladinu spolehlivosti (v praxi se volí minimálně hladina 90%). Nízká pravděpodobnost dokončení činnosti ve stanoveném čase může vést k závažným problémům, jako např. k chybnému určení kritické cesty. Důležité je používat stejnou hladinu spolehlivosti pro určování doby trvání všech činností v projektu. Pokud by doby trvání činností byly odhadovány na nejednotné hladině spolehlivosti, důsledkem může být chybné určení kritické cesty. 3.2.5
Identifikace kritické cesty, výpočet časových rezerv na nekritických cestách
Identifikaci kritické cesty a výpočet rezerv lze provést pomocí grafu nebo tabulky. Nejprve uvedeme algoritmus výpočtu s pomocí topologicky očíslovaného hranově orientovaného síťového grafu, neboť tento se v metodě kritické cesty používá častěji. Výpočet na hranově orientovaném grafu
Definujeme základní atributy pro uzly: (0)
nejdříve možná aktivace uzlu (T ime of node activation 0),
(1)
nejpozději přípustná aktivace uzlu (T ime of node activation 1),
• Ti
• Ti
• Pi množina hran vstupujících do uzlu (P redecessors to node), • Si množina hran vystupujících z uzlu (Successors to node).
13
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
Definujeme základní atributy pro hrany: • tij doba trvání činnosti reprezentované hranou (Time duration of activity), (0)
• tij nejdříve možný začátek hrany (Time of activity start 0), (1)
• tij nejpozději přípustný začátek hrany (Time of activiy start 1), • Pij množina předchůdců hrany (Predecessors to Activity), • Sij množina následníků hrany (Successors to Activity). (0)
Je vhodné si povšimnout, že Pk = Pkj , Sk = Sik , Ti
(0)
= tij .
Sestavíme hranově orientovaný síťový graf a topologicky ho očíslujeme. Poté provedeme následující výpočet: (0)
T1
= 0 - Nejdříve možná aktivace prvního uzlu je ihned po zahájení projektu, tedy
v čase t = 0. Vzestupně pro i = 2 až N postupně provedeme výpočet podle vztahu: (0)
Ti
(0)
= max(Th + thi ),
(3.1)
tj. každý další uzel je aktivován až ve chvíli, kdy jsou dokončeny všechny vsupující (0)
hrany. Takto získáme Ti (1)
pro každý uzel.
(0)
TN = TN - chceme, aby projekt byl dokončen v nejbližším možném termínu, a tedy stanovíme čas nejpozději přípustného dokončení projektu roven času nedřívějšího možného dokončení projektu. Sestupně pro i = N-1 až 2 postupně provedeme výpočet podle vztahu: (1)
Ti
(1)
= min(Tj
− tij ),
(3.2)
tj. každá činnost aij musí být zahájena tak, aby mohl být uzel nj aktivován včas. (1)
Pomocí této podmínky určíme čas nejpozději přípustné aktivace uzlu ni , tedy Ti . (1)
Takto získáme Ti
pro každý uzel.
Nyní máme vypočteny nejdřívější možné a nejpozdější přípustné termíny začátků a dokončení činností a z těchto dat můžeme dále dopočítat rezervy na nekritických cestách a identifikovat samotnou kritickou cestu (ta sestává z činností, které mají nulovou rezervu).
14
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
Výpočet rezerv
[1, str. 96]
• Interferenční rezerva Ri : rozdíl mezi nejpozději přípustnou aktivací uzlu a nejdříve možnou aktivací uzlu. Interferenční rezerva tedy udává, zda a případně o kolik časových jednotek můžeme odložit započetí práce na následnících uzlu, případně o kolik časových jednotek se mohou prodloužit doby trvání předchůdců uzlu, aniž bychom ohrozili termín dokončení projektu. (1)
Ri = Ti
(0)
− Ti
(3.3)
• Celková časová rezerva RCij : počet časových jednotek, o který lze posunout začátek činnosti aij oproti nejdříve možnému začátku této činnosti, případně o kolik časových jednotek lze prodloužit práci na této činnosti, aniž bychom ovlivnili termín dokončení projektu. Jinak řečeno jde o rozdíl mezi nejpozději přípustným a nejdříve možným začátkem činnosti. (1)
RCi j = Tj
(0)
− Ti
− tij
(3.4)
• Volná časová rezerva RVij : počet časových jednotek, o které můžeme odložit termín začátku činnosti aij oproti nejdříve možnému termínu, případně o kolik časových jednotek můžeme tuto činnost prodloužit aniž bychom ovlivnili termíny nejdříve možných začátků následníků činnosti aij , t.j. termíny nejdříve možných začátků činností ajk . (0)
RVij = Tj
(0)
− Ti
− tij
(3.5)
• Závislá časová rezerva RZij : Počet časových jednotek, o který lze nejvýše posunout začátek činnosti aij nebo prodloužit její trvání oproti termínu nejpozději přípustného konce všech předchůdců činnosti, aniž by se změnily termíny nejpozději přípustných začátků všech následníků činnosti aij . (1)
RZij = Tj
(1)
− Ti
− tij
(3.6)
• Nezávislá časová rezerva RNij : počet časových jednotek, o který lze posunout začátek nebo prodloužit dobu trvání činnosti aij , aniž by se změnily termíny nejpozději přípustných konců a nejdříve možných začátků předchůdců činnosti a termíny nejdříve možných začátků následníků činnosti. Nezávislá rezerva může
15
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
jako jediná z uvedených rezerv vyjít jako záporné číslo - v takovém případě je nezávislá rezerva rovna nule. (0)
RNij = Tj
(1)
− Ti
− tij
(3.7)
RNij0 = max(0; RNij ) Výpočet v tabulce s pomocí grafu
Pro výpočet v tabulce platí stejná pravidla a principy, jako pro výpočet na grafu. Provádět výpočet bez grafu je však výhodné pouze v situacích, kdy víme, že graf nebudeme potřebovat. V situacích, kdy je projekt takových rozměrů, že by bylo obtížné výpočet provádět přímo v grafu, můžeme výpočet provést v tabulce s pomocí grafu. Hlavní rozdíl mezi tabulkou bez grafu a tabulkou s grafem je značení činností a veličin. Pokud máme k dispozici topologicky očíslovaný graf, značíme činnosti podle jejich počátečního a koncového uzlu. Sestavíme následující tabulku a výpočet podle postupu popsaném v 3.2.5
i j
tij
(0)
Ti
(0)
(1)
Tj
Ti
(1)
Tj
i - počáteční uzel, j - koncový uzel, tij - doba trvání činnosti reprezontované hranou aij , Ti
(0)
- nejdříve možná aktivace uzlu i,
(0) Tj (1) Ti (1) Tj
- nejdříve možná aktivace uzlu j, - nejpozději přípustná aktivace uzlu i, - nejpozději přípustná aktivace uzlu j.
Výpočet v tabulce bez grafu
Výpočet bez grafu postupuje podle analogického algoritmu jako výpočet s grafem, liší se jen zápisem a značením veličin - graf jsme nezkonstruovali a tedy nemůžeme ke značení používat indexy uzlů grafu.
činnost předchůdci
doba trvání ZMa
KMa
ZPa
KPa
RC
16
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
ZMa - nejdříve možný začátek činnosti, KMa - nejdříve možný konec činnosti, ZPa - nejpozději přípustný začátek činnosti, KPa - nejpozději přípustný konec činnosti.
Nejprve vypočteme nejdříve možné začátky a konce činností (’výpočet vpřed’): Pokud činnost a nemá předchůdce, může být zahájena v čase 0 (ZM (a) = 0). Nejdříve možný konec činnosti KM (a) = ZM (a) + t(a) kde t(a) je doba trvání činnosti. Pokud činnost a má předchůdce, může být zahájena nejdříve tehdy, kdy mohou být nejdříve dokončeni všichni její předchůdci: ZM (a) = max(KM (P (a))),
(3.8)
kde P (a) je množina předchůdců činnosti a. Nejdříve možný konec činnosti a je: KM (a) = ZM (a) + t(a),
(3.9)
Činnost s nejvyšší hodnotou KMi identifikujeme jako koncovou činnost a položíme KMi = KPi , ZPi = KPi − t(i). Následuje ’výpočet vzad’. Vybereme libovolnou činnost j, pro jejíž všechny následníky jsou hodnoty ZP a KP již určeny. Nejpozději přípustný konec činnosti j musí být v souladu s nejpozději přípustnými začátky jejích následníků: KP (j) = min(ZP (N (j))),
(3.10)
kde N (a) je množina následníků činnosti j. Nejpozději přípustný začátek činnosti j je: ZP (j) = KP (j) − t(j),
(3.11)
kde t(j) je doba trvání činnosti. .
3.3
Ilustrativní příklad
Pro ilustraci uvedeme jednoduchý příklad, na kterém ukážeme celý postup při aplikaci metody kritické cesty. 17
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
Ukázkový příklad obsahuje 7 činností - A, B, C, D, E, F, G. Pro doby trvání činností předpokládáme, že byly odhadnuty podle pravidel metody kritické cesty, tedy s velmi vysokou pravděpodobností dokončení v odhadnutém čase (alespoň 90 procent). Dále je vhodné připomenout, že metoda kritické cesty považuje tyto odhady za deterministické a tedy nebere v úvahu možnost kratšího nebo delšího trvání činnosti. V tomto příkladu se pro jednoduchost nebudeme zabývat možností střetu požadavků na zdroje - předpokládáme, že zdroje mají neomezenou kapacitu a tedy jediné, co ovlivňuje možnost zahájit činnost, je precedenční návaznost činností.
činnost doba trvání předchůdci A
8
/
B
6
/
C
10
A
D
4
A
E
8
B
F
4
B,C,D
G
12
E,F
Obrázek 3.2: hranově orientovaný síťový graf
Metoda kritické cesty obvykle pracuje s hranově orientovaným grafem, budeme tedy dále uvažovat pouze tento. Uzlově orientový graf uvádíme jen pro porovnání 18
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
Obrázek 3.3: uzlově orientovaný síťový graf
stavby uzlově a hranově orientovaných grafů.
Graf topologicky očíslujeme: Počáteční uzel označíme n1 . Redukujeme graf o tento uzel a o hrany, které z něho vycházejí - činnosti A a B. V redukoveném grafu jsou nyní 2 uzly, do kterých nevstupují žádné hrany. Tyto uzly můžeme očíslovat - označíme je v návaznosti na poslední očíslovaný uzel, tedy n2 a n3 . Dále redukujeme graf o tyto uzly a o hrany, které z nich vystupují. Tento postup opakujeme, dokud topologicky neočíslujeme všechny uzly grafu.
Poté, co je graf topologicky očíslován, postupujeme podle algoritmu uvedeného výše v 3.2.5: Nejprve vypočteme časy nejdříve možných aktivací uzlů. Tato část výpočtu se také nazývá ‘výpočet vpřed‘, neboť prochází množinu uzlů postupně od prvního k poslednímu. (0)
Pro počáteční uzel n1 platí vždy T1 (0)
T2
= 0.
(0)
= max(T1 + t12 ) = max(0 + 8) = 8 (3.12)
... (0)
T7
(0)
= max(T6 + t67 ) = max(22 + 12) = 34 19
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
Obrázek 3.4: topologicky očíslovaný hranově orientovaný síťový graf
Minimální čas potřebný na dokončení projektu je tedy 34 dnů. Dále vypočteme časy nejpozději přípustných aktivací uzlů. Tato část výpočtu se také nazývá ‘výpočet vzad‘, neboť prochází množinu uzlů postupně od posledního k prvnímu. (1)
Pro poslední uzel platí: T7 (1)
T6
(0)
= T7
= 34,
(1)
= min(T7 − t67 ) = min(34 − 12) = 22, (3.13)
..., (1)
T1
(1)
(1)
= min(T2 − t12 ; T3 − t13 ) = min(8 − 8; 14 − 6) = 0.
Nyní můžeme vypočítat interferenční rezervy na jednotlivých uzlech a celkové rezervy jednotlivých činností a identifikovat tak kritickou cestu.
(1)
(0)
RI1 = T1 − T1
= 0 − 0 = 0, (3.14)
..., (1)
(0)
RI7 = T7 − T7
= 34 − 34 = 0.
20
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
Interferenční rezerva IRi = 0 indikuje, že tímto uzlem prochází kritická cesta. Aby však bylo možno přesně identifikovat hrany, které kritickou cestu tvoří, je potřeba (1)
vypočítat celkové rezervy jednotlivých činností RCij = Tj
(1)
(0)
− Ti
− tij :
(0)
RC12 = T2 − T1 − t12 = 8 − 0 − 8 = 0, (3.15)
..., (1)
(0)
RC67 = T7 − T6 − t67 = 34 − 22 − 12 = 0. Nyní můžeme přesně identifikovat kritickou cestu. Prochází uzly n1 , n2 , n5 , n6 a n7 a je tvořena činnostmi a12 , a25 , a56 a a67 . Na kritické činnosti je potřeba se plně soustředit, neboť jakékoliv zdržení těchto činností znamená zdržení celého projektu. Naproti tomu nekritické činnosti mohou být odloženy nebo prodlouženy oproti původnímu plánu. O tom, o kolik časových jednotek mohou nekritické činnosti překročit plánovaný čas, vypovídají rezervy těchto činností. Podle vzorců pro výpočet rezerv 3.2.5 doplníme tabulku rezerv:
činnost
předchůdci
doba trvání
RCij RVij
RZij RNij
A (a12 )
/
8
0
0
0
0
B (a13 )
/
6
8
0
8
0
C (a25 )
A
10
0
0
0
0
D (a24 )
A
4
6
0
6
0
E (a36 )
B
8
8
8
0
0
F (a56 )
B,C,D
4
0
0
0
0
G (a67 )
E,F
12
0
0
0
0
Nyní ukážeme, jak vypadá výpočet v tabulce bez grafu. Zapíšeme do tabulky jednotlivé činnosti, jejich předchůdce a doby trvání. Vzhledem k tomu, že výpočet provádíme bez grafu, nemůžeme činnosti značit pomocí počátečního a koncového uzlu. Tabulku připravíme pro výpočet nejdříve možných začátků a konců a nejpozději přípustných začátků a konců.
21
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
Obrázek 3.5: konečná podoba hranově orientovaného síťového grafu
činnost
P
t
A
/
8
B
/
6
C
A
10
D
A
4
E
B
8
F
B,C,D
4
ZM KM
ZP
KP
G E,F 12 P - předchůdci činnosti t - doba trvání činnosti ZM - nejdřívější možný začátek KM - nejdřívější možný konec ZP - nejpozdější přípustný začátek KP - nejpozdější přípustný konec Začneme výpočtem nejdříve možných začátků a konců činností. Činnost A nemá předchůdce, může tedy být zahájena v čase 0 (ZM (A) = 0). Doba trvání t(A) = 8. Nejdříve možný konec činnosti A je KM (A) = ZM (A) + t(A) = 0 + 8 = 8.
22
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
... Činnost G má 2 předchůdce: činnosti E, F. Činnost G může být zahájena až poté, co jsou dokončeni všechni předchůdci. (ZM (G) = max(KM (P (G))) =max(KM (E); KM (F ))) = max(14; 22; ) = 22. Doba trvání t(G) = 12. Nejdříve možný konec činnosti G tedy je KM (G) = ZM (G) + t(G) = 22 + 12 = 34. Tabulka po výpočtu nejdřívěji možných začátků a konců vypadá následovně: činnost
P
t
ZM KM
A
/
8
0
8
B
/
6
0
6
C
A
10
8
18
D
A
4
8
12
E
B
8
6
14
F
B,C,D
4
18
22
ZP
KP
G E,F 12 22 34 Identifikujeme poslední činnost projektu - jedná se o činnost s nejvyšší hodnotou nejdříve možného konce (KM), tedy činnost G. Nyní vypočteme nejpozději přípustné začátky a konce činností. Tento výpočet postupuje zpětně od poslední činnosti: Činnost G je poslední činností projektu. Je žádoucí dokončit projekt co nejdříve, proto nejdříve možný konec činnosti G je zároveň jejím nejpozději přípustným koncem KP (G) = KM (G) = 34. Doba trvání t(G) = 12. Nejpozději přípustný začátek činnosti G je ZP (G) = KP (G) − t(G) = 34 − 12 = 22. Činnost F je předchůdcem jedné činnosti: činnosti G. Nejpozději přípustný konec činnosti F musí být v souladu s nejpozději přípustnými začátky jejích následníků: KP (F ) = min(ZP (N (F ))) = min(ZP (G)) = min(22) = 22. Doba trvání t(F ) = 4. Nejpozději přípustný začátek činnosti F je ZP (F ) = KP (F ) − t(F ) = 22 − 4 = 18. Tímto postupem doplníme celou tabulku:
23
KAPITOLA 3. METODA KRITICKÉ CESTY (CRITICAL PATH METHOD, CPM)
činnost
P
t
ZM KM
ZP
KP
A
/
8
0
8
0
8
B
/
6
0
6
8
14
C
A
10
8
18
8
18
D
A
4
8
12
14
18
E
B
8
6
14
14
22
F
B,C,D
4
18
22
18
22
G E,F 12 22 34 22 34 Celkové rezervy činností vypočítáme podle vzorce RCa = ZPa − ZMa . Dospěli jsme tak ke stejným hodnotám celkových rezerv činností a tedy ke stejné kritické cestě jako při výpočtu s pomocí grafu. Očekávaná doba trvání projektu je 34 časových jednotek a kritická cesta je tvořena posloupností činností A-C-F-G. Tímto končí popis základní metody kritické cesty. Existují modifikace a rozšíření metody, které berou v úvahu omezené kapacity zdrojů vykonávajících činnosti či možnost zkracovat/prodlužovat činnosti výměnou za vyšší/nižší náklady na provedení činnosti. Jedná se například o metodu CPM/COST. Těmito rozšiřujícími metodami se tato práce nezabývá.
24
Kapitola 4
Metoda kritického řetězce (critical chain method, CCM) 4.1
Teorie omezení (TOC)
Metoda kritického řetězce vychází z teorie omezení, uvedeme tedy základy této teorie. Tvůrcem teorie omezení (Theory of Constraints, TOC) je Eliyahu Moshe Goldratt (31. března 1947 - 11. června 2011). Goldratt se narodil v Izraeli a tamtéž také zemřel. Vystudoval fyziku, prosadil se však jako vynikající vrcholový manažer a autor mnoha úspěšných myšlenek a metod zabývajících se fungováním různých částí podniků (výroba, marketing, distribuce, strategický rozvoj, projekty atd.) V roce 1984 vyšla první Goldrattova kniha rozebírající teorii omezení. Jde o knihu Cíl [4], román z prostředí výrobního podniku. Goldratt zde prostřednictvím postavy ředitele podniku provádí čtenáře myšlenkovým vývojem vedoucím k formulování základních myšlenek a předpokladů teorie omezení a jejich aplikaci na zmíněný fiktivní výrobní podnik. Tato kniha měla velký úspěch, celosvětově se prodalo přes 2 miliony výtisků. Jedním z hlavních důvodů takového úspěchu pravděpodobně byl fakt, že ačkoliv se jedná o román, přináší kniha srozumitelně podané a prakticky využitelné myšlenky, které lze převést i mimo výrobní podniky. TOC vychází z několika základních myšlenek: 1. každý systém (firma, oddělení, projektový tým) má určitý cíl, např. ziskové podniky mají za cíl generovat zisk. Často se za cíl podniku považuje více věcí, např. také efektivní výroba či uspokojení potřeb zákazníka. Toto jsou však 25
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
pouze druhotné cíle, jsou to prostředky, pomocí kterých podnik dosahuje hlavního cíle. 2. Systémy nedokáží naplňovat svůj cíl v nekonečné míře; firmy nemají nekonečné zisky, projektové týmy nedokončí své projekty za jednu sekundu. Systémy tedy mají nějaká omezení, které brání vyššímu výkonu. 3. Pro systém je důležitý celkový průtok, nikoliv lokální výkonnost. 4. Systém si lze představit jako řetěz, kde články představují jednotlivá oddělení (pracovní stanoviště, stroje. . .). Řetěz je tak silný, jako jeho nejslabší článek, a tedy průtok systémem je takový, jaký průtok má oddělení (stanoviště, stroj. . .) s nejnižším průtokem v systému. Tento nejslabší článek je omezením systému. 5. Navýšení kapacity omezení (navýšení zdrojů, změna rozvrhu práce. . .) zlepší celkový výkon systému. Navýšení kapacity komponenty systému, která není omezením, nezlepší celkový výkon systému, neboť tento výkon je určován omezením systému. Omezení můžeme rozdělit na dva typy: fyzická omezení a chybná politika. V případě fyzických omezení TOC zavádí následující kroky: 1. IDENTIFIKACE - nalezení omezení systému, t.j. toho, co brání systému podávat vyšší výkon (např. stroj s nízkým výkonem, příliš malé obchodní oddělení nebo demotivující systém odměn). Toto omezení udává výkonnost celého systému, neboť všechny ostatní součásti systému jsou ovlivňovány a ’zdržovány’ tímto omezením. 2. VYUŽITÍ - nalezení způsobu, jak omezení co nejlépe využít. Ve výrobních systémech jde obvykle o přehodnocení rozvrhu práce omezení. Může se stát, že po přehodnocení pracovního rozvrhu zdroje již tento zdroj nebude omezením. 3. PODŘÍZENÍ - všechny ostatní součásti systému se musí přizpůsobit novému způsobu omezení. Goldratt v knize The Goal upozorňuje na nebezpečnost setrvačnosti, kdy se systém drží starých pravidel, i když byla provedena změna v práci omezení. 4. POZVEDNUTÍ - poté, co je omezení maximálně využito - a je tedy patrné, jakou roli doopravdy v systému hraje - má být pracovní kapacita omezení pozvednuta (např. zvýšení počtu strojů či pracovníků) 26
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
5. NÁVRAT k prvnímu kroku - poté, co je kapacita omezení pozvednuta, vracíme se zpět k 1. kroku a znovu analyzujeme systém a hledáme jeho omezení. Pokud identifikujeme znovu ten samý prvek jako omezení systému, je důležité nepřeskočit žádný krok (fakt, že se jedná o stejný prvek, může svádět k přechodu přímo na krok POZVEDNUTÍ). Často se může stát, že zdroj má dostatečnou kapacitu, ale systém ho neefektivně využívá, protože není ’zvyklý’ na jeho novou kapacitu. V případě chybné politiky je postup analogický. Krok VYUŽITÍ nemá při nápravě politiky význam; chybnou politiku je třeba změnit, nikoliv využít (pro fyzická omezení je potřeba nalézt efektivní využítí, protože výrobní postupy nelze jednoduše měnit a omezující zroje tedy (až na výjimky) nelze nahradit). Kroky PODŘÍZENÍ a POZVEDNUTÍ do značné míry splývají. Náplní těchto kroků je důkladná analýza všech (žádoucích i nežádoucích) důsledků a vztahů identifikované chybné politiky (pravidla, směrnice. . .) a formulace politiky nové, takové, která odstraní nežádoucí efekty a zachová nebo posílí efekty žádoucí. Omezení fyzického typu je do značné míry propojeno s postupem pro chybnou politiku, neboť při odstraňování fyzického omezení začínáme změnou způsobu využití stávajících zdrojů, tedy v podstatě změnou politiky řídící daný zdroj. Lze říci, že při práci s fyzickým omezením hledáme a napravujeme chybnou politiku vždy v krocích VYUŽITÍ a PODŘÍZENÍ a při práci s omezením v politice hledáme efektivní způsob, jak využít (nebo motivovat) zdroje, které tato politika ovlivňuje. Pokud tedy pod pojmem ’zdroje’ budeme uvažovat veškeré vstupy (tedy i zaměstnance, dodavatele. . .), bude se každé omezení týkat zdrojů i politiky. Opakování tohoto postupu přináší neustálé zlepšování systému. Nehledě na typ omezení se v každém opakování postupu držíme 3 hlavních otázek: 1. Co změnit?. 2. Na co to změnit? 3. Jak změnu provést?
27
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
4.2
Principy metody kritického řetězce
První Goldrattova kniha zabývající se aplikací teorie omezení na prostředí projektů vyšla v roce 1997. Jedná se o knihu Kritický řetěz (Critical chain). Stejně jako Cíl, i Kritický řetěz je psaný jako román, tentokráte z univerzitního prostředí. Zde Goldratt rozvíjí myšlenky TOC, které aplikuje na problematiku projektů, analyzuje mnohé nedostatky vycházející z v praxi používaných metod (CPM, PERT) a postupně formuluje metodu kritického řetězce. Goldratt si všímá několika klíčových jevů: • Projekty ve většině případů překročí stanovený čas nebo rozpočet, případně je dodrží za cenu snížení kvality cílového produktu. To vše navzdory značným časovým rezervám. • Projektoví manažeři přidávají k činnostem časové rezervy navíc, aby se vyhnuli případným problémům, které by přineslo opožděné dokončení projektu. Toto chování je často podporováno systémem kontrol postupu projektu, neboť často je kontrolováno dodržování termínů každé jednotlivé činnosti. • Pracovníci projektových týmů přidávají k činnostem časové rezervy navíc, aby se chránili před nepředvídatelnými okolnostmi a v neposlední řadě také pro případ, že se vedoucí projektu rozhodne zkrátit časy přidělené na jednotlivé činnosti (např. aby vyhověl požadavkům z vyšších stupňů managementu). • Pracovníci nejsou motivováni ke zkracování dob trvání činností. Jedním důvodem je fakt, že pracovníci obvykle nejsou odměňováni za dokončení činnosti před stanoveným termínem. Další příčinou jsou podle Goldratta pevně stanovené termíny dokončení činností v kombinaci s velkými rezervami u každé jednotlivé činnosti. Pracovník, který právě začal na činnosti pracovat, dobře ví, že velkou část přiděleného času tvoří rezervy. Většina lidí má v takovém případě tendence odkládat začátek prací (studentský syndrom). • Zpoždění jednotlivých činností se kumulují, zatímco případné náskoky se nevyužijí. V případech, kdy je některá činnost dokončena v předstihu před plánovaným termínem, nejsou pracovníci motivováni tuto skutečnost nahlásit. Naopak, dle Goldratta je běžné, že dále předstírají práci z obavy, že předčasné dokončení činnosti by vedlo ke krácení přidělených časů na činnosti v budoucnosti.
28
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
Goldratt dochází k závěru, že jednou z hlavních příčin těchto problémů je neefektivní umístění časových rezerv. Metoda CPM vychází z předpokladu, že pro včasné dokončení projektu je potřeba zajistit včasné dokončení každé jednotlivé činnosti, a proto přidává ke každé jednotlivé činnosti značnou vnitřní časovou rezervu tak, že odhaduje časy potřebné k dokončení činnosti s vysokou pravděpodobností (obvykle 90%-99%) dokončení ve stanoveném termínu. Metoda kritického řetězce, na rozdíl od metody kritické cesty, vychází z předpokladu, že pro včasné dokončení projektu je potřeba zajistit v první řadě co nejrychlejší průběh prací na kritickém řetězu. CCM Odhaduje časy potřebné na dokončení činnosti obvykle na 50% hladině spolehlivosti (tj. s 50% šancí na dokončení činnosti v odhadnutém čase). Jednotlivé činnosti tedy nemají své vlastní rezervy, které by je chránily před nepříznivými událostmi. Jak bylo zmíněno výše, z praxe je evidentní, že umisťovat časové rezervy ke každé činnosti nevede k včasnému dokončení projektu. Goldratt jako další protiargument proti přidávání rezev ke každé činnosti tvrdí, že včasné dokončení každé jednotlivé činnosti není ani důležité, hlavní je projekt jako celek. Vzhledem k nejistotě a statistickým fluktuacím v dobách potřebných na dokončení činností je snaha o včasné dokončení činností přesně ve stanovený termín přímo nežádoucí - ze statistického hlediska je totiž nevyhnutelné, že některé činnosti budou dokončeny dříve, než bylo v plánu, a některé naopak později. Časové rezervy v projektu mají být podle Goldratta umístěny pouze tam, kde budou chránit před nepředvídatelnými okolnostmi kritický řetěz. Metoda kritického řetězu pro tyto rezervy zavádí pojem ’nárazníky’ (buffers). Velikost nárazníků se určuje podle toho, jak (časově) dlouhou větev činností chrání, a podle postoje vedoucího projektu k nejistotě týkající se skutečného trvání činností - větší nárazník chrání před nejistotou lépe, ale posouvá začátek činností na dřívější termín. Jednoduché doporučení, které uvádí např. Goldratt v knize Kritický řetěz, je používat nárazníky o poloviční délce, než je větev, kterou chrání. • Projektový nárazník - časová rezerva umístěná na konci projektu (na konci kritického řetězu). Jejím smyslem je pohltit časové výkyvy na kritickém řetězu a případně také příliš velké zpoždění na nekritických větvích. Použijeme-li uvedené pravidlo pro délku nárazníku, bude projektový nárazník mít poloviční délku, než celý kritický řetěz. • Přípojné nárazníky - časové rezervy umístěné všude tam, kde se nekritické 29
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
větve napojují na kritický řetěz. Jejich smyslem je pohltit časové fluktuace na nekritických větvích a zajistit tak možnost okamžitého začátku prací na navazující činnosti kritického řetězu. Použijeme-li uvedené pravidlo pro délku nárazníků, bude mít přípojný nárazník poloviční délku, než podpůrná větev, kterou chrání. Pokud se daná podpůrná větev napojuje na kritický řetěz na více místech, vypočítáme nárazník pro každé místo napojení z činností tomuto napojení předcházejících. Činnosti přitom mohou překrývat předcházející nárazníky. • Zdrojové nárazníky - časové rezervy zdrojů umístěné tam, kde zdroj přechází od práce na nekritické činnosti k práci na kritické činnosti. Jejich smyslem je zajistit, aby daný zdroj mohl na kritické činnosti začít pracovat hned, jak je to možné. Pokud nedojde ke zdržení v činnostech a rezerva tak zůstane nevyčerpaná, zdroj bude po dobu rezervy nečinný. Použijeme-li uvedené pravidlo pro délku nárazníků, bude mít zdrojový nárazník délku poloviny předcházejících činností daného zdroje. Nárazníky slouží ke sledování a řízení projektu - vedoucí projektu sleduje, zda a v jaké míře jsou nárazníky spotřebovávány. Pokud jsou spotřebovávány příliš rychle, znamená to, že se činnosti na příslušných větvích dostávají do skluzu oproti plánu. Vzhledem ke statistickým fluktuacím v délce činností nejsou drobná zpoždění nic zvláštního, proto se obvykle stanovují v náraznících určité hranice, při jejichž překročení vedoucí projektu teprve zasahuje. Tyto hranice jsou relativní, mění se v závislosti na množstí zbývající práce na větvi činností (je rozdíl, pokud např. bude vyčerpáno 50% nárazníku hned na počátku větve, nebo pokud bude vyčerpáno 50% nárazníku až na samém konci větve) Metoda kritického řetězce používá pojem kritické cesty stejně jako metoda kritické cesty - tedy pro časově nejdelší posloupnost činností, které jsou na sobě precedenčně závislé. Zavádí však pojem ’kritický řetěz’ pro časově nejdelší posloupnost čiností, které jsou na sobě závislé buď precedenčně, nebo zdrojově (zdrojová závislost znamená, že na činnostech pracuje stejný zdroj omezené kapacity a tedy není možné provádět činnosti souběžně). Je tedy možné, že kritická cesta a kritický řetěz budou totožné posloupnosti činností, ale také je možné, že budou velmi odlišné. Podívejme se nyní na projekt z pohledu teorie omezení. Je zřejmé, že cílem systému-projektu je včasné dokončení projektu. Tento cíl je tím lépe naplněn, čím rychleji je projekt dokončen (předpokládáme, že je také kvalitativně naplněn). Apli30
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
kujme nyní postup teorie omezení: 1. IDENTIFIKACE - omezujícím prvkem projektu je kritický řetěz - ten určuje trvání celého projektu. Zdržení na kritickém řetězu vede ke zdržení celého projektu (resp. vede k úbytku projektového nárazníku). Zdržení mimo kritický řetěz nemá přímý dopad na včasné dokončení projektu ani na stav projektového nárazníku (pokud toto zdržení nepřekročí podpůrný nárazník příslušné větve) 2. VYUŽITÍ - využít kritický řetěz znamená efektivně využít čas přidělený na práci na kritickém řetězu 3. PODŘÍZENÍ - všechny činnosti projektu se musí podřídit kritickému řetězu. Plán projektu musí být sestaven tak, aby nedocházelo ke zdržení kritického řetězu z důvodu čekání na podpůrnou větev nebo na potřebné zdroje pracující na nekritické činnosti. 4. POZVEDNUTÍ - tento krok nemá v prostředí projektů význam. 5. NÁVRAT - tento krok nemá v prostředí projektů význam. Metoda kritického řetězce je silně proti souběžnému vykonávání činností jedním zdrojem, tzv. multitaskingu. Důvodem je, že multitasking odsouvá dokončení činností - pokud zdroj pracuje např. na 3 činnostech zároveň, věnuje každému jen třetinu času (pokud se všem věnuje rovnoměrně) a tedy každá z činností trvá trojnásobně dlouho, než kdyby se jim zdroj věnoval naplno. Tento důsledek je silně nežádoucí, neboť metoda kritického řetězce podporuje co nejdřívější začátky činností, jakmile byla práce na větvi činností započata. Toto pravidlo neplatí v případě, že zdroj má větší kapacitu, než je možné příslušné činnosti alokovat (např. pokud zdrojem bude skupina mechaniků a činností oprava stroje, lze očekávat, že existuje horní hranice počtu mechaniků, po jejímž překročení už dalsí pracovníci nijak nepřispějí k rychlejšímu dokončení činnosti). Stejně tak toto pravidlo neplatí, pokud uvažovaným zdrojem bude materiál, který je možno beze ztrát rozdělit a alokovat více činnostem najednou. Za zmínku stojí snaha seznámit všechny účastníky projektu (stupně managementu i jednotlivá oddělení a pracovníky) s principy a zásadami CCM, a to i s principy, které se přímo netýkají daného pracovníka. Goldratt tvrdí, že takovýto vhled do celkové koncepce má pozitivní vliv na výkonnost pracovníků (ti vědí nejen 31
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
co mají dělat, ale také proč a co na nich závisí). Dále je důležité přeorientovat pracovníky na všech stupních firemní struktury na sledování pouze jednoho cíle, a to úspěšného (včasného) dokončení projektu. Často je ve firmách ’promarněno’ mnoho času hledáním viníka zpoždění či naopak pracovníci ’promarní’ čas snahou vyhnout se sankcím, pokud by nedokončili činnosti včas (např. přidáváním časových rezerv do odhadu jednotlivých činností či dohadování se o zodpovědnosti za dokončení činností). Dalším zajímavým aspektem metody kritického řetězce je postoj k rozporu odkládání začátku činnosti (a tedy odkládání investic, což je obvykle žádoucí) proti co nejdřívějšímu začátku činnosti (a tedy větší časové rezervě a větší šanci na dokončení včas, což je také žádoucí). Metoda kritického řetězce chrání včasné dokončení pomocí nárazníků a zároveň odkládá počátek prací na větvích činností na nejpozději přípustnou dobu tak, aby nebyly poškozeny nárazníky. Řídí se heslem ’buď nezačneme na větvi činností pracovat vůbec, protože je ještě brzy, a nebo pracujeme, co nejrychleji je to možné’. Toto pravidlo pochopitelně platí pouze v situaci, kde dřívější začátek činnosti (a tedy dřívější vydání prostředků) znamená vyšší náklady. Pokud např. podnik působí v silně inflačním prostředí, může být z hlediska nákladů výhodné činnost zahájit dříve. Vzhledem k tomu, že velká část projektů je financována úvěry, je dalším důležitým kriteriem očekávání o vývoji úrokových sazeb pokud firma očekává, že úvěry budou v budoucnu dražší, může být výhodné vydat prostředky (tedy vzít si úvěr) na činnosti dříve. Pro rozhodnutí, zda práce na větvi činností začít dříve, než určuje přípojný nárazník, je pak třeba porovnat náklady spojené s financováním úvěru pro činnosti započaté dříve oproti činnostem započatým podle plánu. Lze použít např. porovnání časových hodnot systémů plateb spojených s oběma úvěry (na základě očekávání o vývoji úrokových sazeb). V nejjednoduším případě, kdy očekáváme, že firma dostane zaplaceno za dokončený projekt jednorázově a z této částky poté jednorázově uhradí s projektem související úvěry, se můžeme rozhodovat nikoliv podle časových hodnot, nýbrž přímo podle konečné splatné částky: Označme konečnou splatnou částku z úvěru čerpaného v čase t1 resp. t2 jako S1 resp. S2 s konstantní úrokovou mírou i1 resp. i2 . Dále předpokládáme, že oba úvěry jsou stejné výše U a mají stejný očekávaný okamžik splacení t. Příslušné konečné splatné částky vypočítáme podle známých vztahů:
32
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
S1 = U ∗ (1 + i1 )(t−t1 ) S2 = U ∗ (1 + i2 )(t−t2 )
(4.1)
Je zřejmé, že při dostatečném rozdílu mezi i1 a i2 , kde i1 < i2 , tedy očekáváme-li růst úrokových sazeb úvěrů, bude S1 < S2 a tedy bude výhodnější vzít úvěr dříve (v čase t1 ). Takováto situace může nastat např. dochází-li k růstu míry inflace. V inflačním prostředí může dojít i k tomu, že potřebná výše úvěru v pozdějším čase t2 bude vyšší než v čase t1 . V takovém případě je třeba vztahy (4.1) upravit pro rozdílnou výši úvěrů U1 , U2 . V takovémto případě bude vhodné zvážit, jak vyvážit přínosy ze striktního dodržení pravidla ’začít v nejpozději přípustnou dobu’ s finanční úsporou, kterou přinese porušení tohoto pravidla. Tato možnost reagovat na změny úrokových sazeb nebo potřebné výše úvěru může v některých situacích znamenat finanční úsporu oproti CPM, která plánuje začátky činností k pevným termínům a nepřipouští jejich posouvání. Dále je vhodné zmínit snahu minimalizovat počet rozpracovaných činností. Čím méně činností je v jeden okamžik rozpracovaných (nedokončených), tím větší má vedoucí projektu nadhled a lépe může odhalit případné problémy. K minimalizaci počtu rozpracovaných činností často napomáhá odsunutí začátků větví na nejpozději přípustnou dobu, nicméně se mohou vyskytnout případy, kdy toto neplatí a poté je opět třeba zvážit, která pravidla dodržet v jaké míře, aby přinesla pro konkrétní projekt maximální užitek. Bude-li se např. na dlouhý kritický řetězec napojovat ve stejném místě deset velmi krátkých podpůrnch větví, může být vhodné tyto podpůrné větve rozložit do času celého projektu. Toto však opět může být podmíněno analýzou nákladů souvisejících s případným posunem podpůrných větví. Metoda kritického řetězce nepoužívá průběžné termíny začátků či konců činností. Termínově jsou plánovány pouze začátky větví činností. Jak bylo uvedeno výše, jakmile práce na větvi započnou, je snaha dokončit větev co nejdříve, tedy jakmile je jedna činnost dokončena, okamžitě je zahájena práce na následující(filosofie ’štafetového běžce’). Konce větví nejsou plánovány k pevnému termínu, pouze je třeba sledovat, aby nepřesáhli maximální možnou dobu (tedy aby větev byla dokončena včas tak, aby práce na kritické větvi mohly po spojení větví bez zdržení pokračovat). Tato průběžná kontrola se provádí sledováním podpůrných nárazníků; pokud je některý nárazník čerpán příliš rychle, je to znamení pro vedoucího pracovníka, že se na příslušné větvi vyskytly problémy. Práce s termíny je dalším podstatným 33
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
rozdílem oproti CPM, která stanovuje pevné termíny pro počátky a konce každé jednotlivé činnosti. Důležitým aspektem metody kritického řetězce je také zohlednění lidské psychologie při plánování a řízení projektů. Uveďme některé přínosy postupů metody kritického řetězce pro motivaci a pracovní morálku pracovníků: • Odstranění multitaskingu - pracovník se plně soustředí na jeden úkol, není pod zbytečným tlakem z mnoha stran kvůli mnoha nedokončeným úkolům. • Odstranění termínů - motivace pracovat co nejrychleji, ’termín’ dokončení je stanoven na ’co nejdříve’. Na druhou stranu pracovník není nucen pracovat rychle na úkor kvality, neboť termín není daný pevně. • Kumulované rezervy (nárazníky) - snaha čerpat rezervy co nejméně, neboť se jedná i o rezervy kolegů (kolektivní solidarita). • Minimalizace nedokončených činností - projektový manažer má lepší přehled. • Snadná kontrola postupu prací pomocí nárazníků - projektový manažer snadno pozná, která větev činností vyžaduje jeho pozornost, a je schopen udržet si potřebný přehled o postupu prací a tedy se více může věnovat řešení samotných problémů. Další odlišností metody CCM od metody CPM, která by neměla být opomenuta, jsou algoritmy, které metody používají pro hledání řešení: • CPM používá algoritmy, které (vždy) vedou k nalezení optimální řešení. Analytický algoritmus pro nalezení optimálního řešení je poměrně jednoduchý a známý, výpočet je možné snadno plně automatizovat. Na toto ’základní’ řešení můžeme nahlížet jako na sadu (téměř identických) řešení, která můžeme získat posunem nekritických činností v rámci rezerv (viz kapitola 3.2.5, str. 15). • CCM používá algoritmy, které vedou k ’dostatečně dobrému’ řešení [3]. Pro nalezení optimálního řešení nejsou známy analytické metody, jedinou možností je exhaustivní metoda, tedy sestrojení a porovnání všech možných variant. Z tohoto důvodu by rozsáhlejší problémy trvaly dlouho i při výpočtu pomocí počítače a plná automatizace výpočtu nemusí být vždy vhodná. ’Dostatečně dobrých’ řešení může existovat více než jedno, výpočet obvykle skončí po nalezení prvního ’dostatečně dobrého’ řešení. Úprava řešení člověkem je na místě při 34
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
eliminaci zdrojových konfliktů, ale také např. při zohlednění psychologických aspektů, které se mohou projevit při provádění projektu. Vzhledem k tomu, že řešení je spoluvytvářeno člověkem a je tedy jím subjektivně ovlivněno, je vhodné, aby po sestavení finálního řešení bylo překontrolováno někým jiným, než tvůrcem řešení - snáze se tak předejde chybám vzešlých ze subjektivních příčin.
4.3
Ilustrativní příklad
Pro ilustraci metody kritického řetězce použijeme stejný příklad, který byl použit v minulé kapitole pro ilustraci metody kritické cesty, aby lépe vynikly rozdíly obou metod. Vycházíme z pravidel a postupů metody kritického řetězce, tj. doby trvání odhadujeme s 50% šancí na dokončení v odhadnutém čase. Pro jednoduchost budeme předpokládat, že tímto postupem získáme časové odhady poloviční délky v porovnání s metodou kritické cesty, která většinou používá odhady s 90%-99% šancí na dokončení v odhadnutém čase. Tabulka zachycující činnosti a jejich parametry: činnost doba trvání (50%)
přímí předchůdci
A
4
/
B
3
/
C
5
A
D
2
A
E
4
B
F
2
B,C,D
G
6
E,F
Prvním krokem je sestavení grafu stejně, jako pomocí metody kritické cesty. V tomto příkladě budeme používat uzlově orientovaný graf - většina literatury zabývající se metodou kritického řetězce používá uzlově orientované grafy. Uzlově orientované grafy není potřeba pro výpočet topologicky číslovat. Identifikujeme kritickou cestu - jedná se o posloupnost činností A-C-F-G (výpočet identický s výpočtem kritické cesty v příkladu 3.3). Jelikož v tomto příkladě neuvažujeme omezení v podobě zdrojů, je kritická cesta totožná s kritickým řetězem.
35
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
Obrázek 4.1: Hranově orientovaný síťový graf
Nekritické činnosti tvoří podpůrné větve. Místa, kde se podpůrné větve napojují na kritický řetěz, je potřeba ochránit přípojnými nárazníky. Jedná se o místa, kde se činnost B napojuje na činnost F, činnost D se napojuje na činnost F a činnost E se napojuje na činnost G. Za ’běžných okolností’, tedy pokud jsou podpůrné větve tvořeny velkým počtem činností, lze podpůrný nárazník určit jako polovinu celkového času potřebného na danou podpůrnou větev. V našem příkladu se však jedná o jedinou činnost v případě činností B a D (zde zvolíme nárazníky o velikosti 100% větve) a o 2 činnosti v případě činnosti E (zde zvolíme nárazník o velikosti 75% větve). Přípojný nárazník za činností B zvolíme t(P N1 ) = 3. Přípojný nárazník za činností D zvolíme t(P N2 ) = 2. Přípojný nárazník za činností E zvolíme t(P N3 ) = 5 (zaokrouhlíme na celé dny). Při výpočtech můžeme o náraznících uvažovat jako o činnostech. Jedná se v podstatě o fiktivní činnosti s nenulovou dobou trvání. Na tomto místě je vhodné opět zdůraznit, že postupů pro určení velikosti nárazníků je mnoho a většina z nich závisí na míře spolehlivosti, které chce manažer projektu dosáhnout, a na počtu činností větve, která je daným nárazníkem chráněna. Stejně tak je dobré si povšimnout, že zvolení příliš velkého nárazníku nemá jiný negativní dopad, než že posune začátky větví činností dále proti toku času (tedy že naplánujeme jejich začátek na dřívější čas). V projektech, kde předčasné investice 36
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
Obrázek 4.2: Uzlově orientovaný síťový graf
způsobí jen nepatrné ztráty a naproti tomu zpoždění dokončení projektu způsobí velké ztráty, mohou být nadbytečně velké nárazníky žádoucí. Na tomto je patrný rozdíl oproti metodě CPM, která celkové časové zabezpečení projektu nesleduje a pouze sleduje časové zabezpečení jednotlivých činností. Kritický řetěz má délku 17 dní, projektový nárazník zvolíme v poloviční délce kritického řetězu (zaokrouhlíme dolů na celé dny), tedy 8 dní. Nyní máme určené přípojné nárazníky i projektový nárazník a můžeme tedy sestavit odpovídající graf a vypočítat začátky a konce činností. Počátek kritického řetězu budeme považovat za čas 0. Použijeme algoritmus metody kritické cesty pro nalezení nejpozději přípustných začátků činností (nárazníky považujeme za činnosti), neboť metoda kritického řetězce se snaží zahajovat práci na činnostech, až když je to nutné. Z grafu je možno vyčíst, že nekritická činnost B má být podle plánu zahájena dříve, než kritický řetěz (činnost A). Toto není na závadu, Goldratt upozorňuje [3], že takovéto případy někdy mohou nastat. Zde je patrný další rozdíl oproti metodě metodě kritické cesty: CPM nepoužívá časové rezervy v podobě nárazníků a je to právě dodatečné umístění nárazníků, co může v CCM způsobit zahájení nekritických činností dříve, než činností kritického řetězu. Použitím CPM se tedy nemůže stát, že by některé nekritické činnosti měli začátek naplánovaný na dřívější termín, než první činnost kritické cesty.
37
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
Obrázek 4.3: Uzlově orientovaný síťový graf s nárazníky
Čas potřebný na dokončení celého projektu je tedy podle grafu 26 dní, ačkoliv délka kritického řetězu s projektovým nárazníkem je jen 25 dní. Dále si všimněme, že počátek činnosti B je udáván její precedenční závislostí s navazující činností E. Přípojný nárazník P N1 má díky tomuto v podstatě velikost 7 dní (konec činnosti B je očekáván v čase T = 2, začátek činnosti F je očekáván v čase T = 9). Řešení vyjádřené pomocí Ganttova diagramu je na obr. 4.4.
Obrázek 4.4: Ganttův diagram
Přidejme nyní do příkladu dodatečné omezení v podobě zdrojů Z1, Z2 a Z3. Tyto zdroje mají omezenou kapacitu, každý může v jeden časový okamžik pracovat pouze na jedné činnosti. V praxi se může jednat např. o stroj s omezenou kapacitou či specializovaného pracovníka.
38
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
činnost doba trvání (50%)
přímí předchůdci zdroje
A
4
/
Z1
B
3
/
Z2
C
5
A
Z3
D
2
A
Z3
E
4
B
Z1
F
2
B,C,D
Z2
G
6
E,F
Z2
Do Ganttova diagramu doplníme uvedené zdroje, viz obr. 4.5
Obrázek 4.5: Ganttův diagram se zdroji
Práce se zdroji je jednou z hlavních odlišností metod CPM a CCM. Základní metoda CPM neposkytuje nástroje pro řešení či identifikaci zdrojových omezení projektu a zdrojových závislostí činností. Pokud si manažer projektu zdrojová omezení uvědomí v plánovací fázi projektu, musí je řešit intuitivně či použitím pravidel mimo CPM. Pokud zdrojová omezení nejsou předem vůbec odhalena, může v průběhu projektu dojít k problémům kvůli nečekaně velkým nárokům na zdrojové kapacity v určitých obdobích. Obzvláště problematická je tato situace tehdy, pokud se zdrojový konflikt vyskytne na kritické cestě. Další možný problém může nastat v situaci, kdy jeden zdroj přechází z práce na nekritické činnosti na kritickou činnost; pokud se nečekaně prodlouží práce na nekritické činnosti, bude zdroj nedostupný, když má podle plánu nastoupit na následující kritickou činnost (tento konkrétní problém řeší CCM pomocí zdrojových nárazníků, viz 4.2). Takové problémy často mohou vést k velkému zdržení celého projektu. Z obr. 4.5 je zřejmý konflikt činností A a E (zdroj Z1) a činností C a D (zdroj Z3). Dle teorie metody kritického řetězce vyřešíme konflikty posunem činností proti toku času. Při řešení zdrojových konfliktů je třeba dodržet podmínky stanovené precedenčními závislostmi činností. 39
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
Konflikt zdroje Z1 můžeme vyřešit posunem činnosti A nebo posunem činnosti E. Činnosti A a E spolu nemají precedenční vztah, nicméně E je následníkem činnosti B a tedy činnost B musí časově předcházet činnosti E i po vyřešení konfliktu zdrojů posunem činností. Konflikt zdroje Z3 můžeme vyřešit posunem činnosti C nebo posunem činnosti D. Činnosti C a D jsou následníky činnosti A a tedy činnost A musí časově předcházet činnostem C a D i po vyřešení konfliktu zdrojů posunem činností. Budeme postupovat proti směru toku času, jako první tedy budeme řešit konflikt Z3. Je třeba rozhodnout o pořadí provádění činností C a D. Obě tyto činnosti mají předchůdce kritickou činnost A a následníka kritickou činnost F. Vzhledem k těmto vztahům a ke skutečnosti, že C a D nelze provádět současně, je zřejmé, že D bude novou součástí kritického řetězce. Dále vzhledem ke skutečnosti, že činnosti C a D nemají jiné precedenční vztahy, můžeme zvolit pořadí těchto činností libovolně, neboť vždy vytvoří stejně dlouhý blok následující za A a předcházející F. Předsuňme tedy D před C.
Obrázek 4.6: Ganttův diagram se zdroji - řešení
Z 4.6 vidíme, že tímto byl zároveň odstraněn konflikt zdroje Z1. Z diagramu je též zřejmé, že snaha obrátit pořadí činností, na nichž pracuje zdroj Z1 (činnosti A a E), by výrazně prodloužila dobu trvání projektu, neboť A je předchůdcem činností C, D. Dále vidíme, že není třeba aplikovat zdrojové nárazníky, neboť žádný zdroj nepřechází bezprostředně z nekritické činnosti na kritickou. Kritický řetězec je nyní tvořen činnostmi A-D-C-F-G, popř. A-C-D-F-G. Časová délka krit. řetězce je 19 časových jednotek, dle tohoto zvolíme projektový nárazník o délce 10 časových jednotek (50% kritického řetězce, zaokrouhleno). Plánovaná délka projektu je včetně nárazníku 29 časových jednotek.
40
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
4.4
Závěrečné srovnání metod
Závěrem uveďme shrnutí hlavních odlišností metod CPM a CCM (např. [2], [5]). Metoda kritické cesty (CPM)
Metoda kritického řetězce (CCM)
Hlavní omezení projektu (kritické činnosti)
(viz str. 30)
Kritická cesta je časově nejdelší posloupnost čin-
Kritický řetěz je časově nejdelší posloupnost čin-
ností, které jsou na sobě precedenčně závislé.
ností, které jsou na sobě závislé precedenčně nebo zdrojově.
Hodnocení včasnosti, tedy plnění projektového plánu z hlediska času
(viz str. 29)
’Včasnost’ znamená dokončení každé činnosti v
’Včasnost’ znamená čerpání přípojných nárazníků
plánovaném termínu.
a zejména projektového nárazníku v přijatelné míře (Co je nebo není přijatelné čerpání stanovuje vedoucí projektu).
Způsob, jak metoda zajišťuje úspěšné dokončení projektu
(viz str. 29)
Pro úspěšné dokončení projektu je důležité zajistit
Pro úspěšné dokončení projektu je třeba zabránit
včasné dokončení každé činnosti.
zdržení kritického řetězu (vyčerpání projektového nárazníku), jednotlivé činnosti nejsou důležité.
Způsob práce s termíny počátků a konců činností
(viz str. 33)
Plánované termíny dokončení činností jsou stano-
Nejsou stanoveny termíny dokončení jednotlivých
vovány na pevná data.
činností. Vzhledem k odhadu dob trvání s 50% šancí na dokončení se apriori očekává, že takto odhadnuté doby nebudou přesně odpovídat skutečnosti. Termíny se stanovují pouze pro začátky větví činností. Způsob umisťování časových rezev
Časové rezervy pro jednotlivé činnosti nezavádí.
Časové rezervy jsou umístěny tam, kde se nekri-
Časové rezervy jsou přiřazeny každé jednotlivé
tický řetěz napojuje na kritický, a na konci celého
činnosti implicitně jako součást odhadu doby tr-
projektu. V případě potřeby je zařazena časová
vání činnosti tím, že se stanovuje vysoká pravdě-
rezeva pro zdroje (viz str. 29).
podobnost dokončení ve stanoveném čase (90%99%) (viz str. 29). Zohlednění zdrojů s omezenou kapacitou Metoda neposkytuje nástroje pro odhalení a práci
Metoda zohledňuje zdrojová omezení a závislosti
se zdrojovými omezeními a závislostmi.
a poskytuje postupy pro řešení případných konfliktů.
41
KAPITOLA 4. METODA KRITICKÉHO ŘETĚZCE (CRITICAL CHAIN METHOD, CCM)
Metoda kritické cesty (CPM)
Metoda kritického řetězce (CCM)
Způsob řešení konfliktních požadavků na zdroje s omezenou kapacitou Metoda neposkytuje nástroje pro odhalení a práci
Konflikty jsou řešeny posunem konfliktních čin-
se zdrojovými omezeními a závislostmi.
ností proti směru toku času. Toto může vést i k posunu precedenčně závislých činností. Jsou zavedeny časové rezervy (zdrojové nárazníky) pro zdroje tam, kde zdroj přechází z práce na nekritických činnostech na kritické, (viz str. 29).
Způsob hodnocení celkového postupu prací na projektu Různé metody hodnocení postupu prací, které
Kriteriem pro hodnocení postupu prací jsou ná-
často vedou ke zkreslenému nebo nevyhovujícímu
razníky. Míra čerpání projektového nárazníku
obrazu, např. podle vynaložených financí či množ-
vyjadřuje postup prací kritického řetězce, míra
ství dokončených činností. Kritickým činnostem
čerpání podpůrných nárazníků vyjadřuje postup
nebývá přiřazena větší důležitost oproti nekritic-
podpůrných větví. (viz str. 30)
kým. Postoj metody k souběžnému provádění více činností jedním zdrojem Metoda se multitaskingem vůbec nezabývá.
Metoda se snaží odstranit multitasking zdrojů, zdoje se pokud možno vždy soustředí na co nejrychlejší dokončení jedné činnosti. (viz str. 31)
Jak metoda zohledňuje lidskou psychologii Metoda předpokládá, že lidé pracují ’jako stroje’
Metoda bere v úvahu, že lidé reagují různě na
přesně tak, jak a kdy se jim řekne. Neuvažuje psy-
různé podněty. Metoda bere v úvahu motivy, které
chologické vlivy či motivy vedoucí k nižší či vyšší
mohou vést k lepším či horším výkonům. Snaha
produktivitě.
hledat skryté motivy, které mají vliv na rychlost dokončení projektu (snaha odstranit negativní vlivy, posílit pozitivní vlivy) (viz str. 34). Typ řešení, které metoda hledá
Hledá ’deterministické’ optimální řešení.
(viz str. 34)
Hledá ’dostatečně dobré’ řešení.
Přesnost řešení, které metoda poskytuje
(viz str. 34)
Jsou-li splněny všechny předpoklady (v praxi spl-
Hledané ’dostatečně dobré’ řešení se od teoreticky
něny obvykle nejsou), poskytuje metoda skutečně
optimálního liší v závislosti na přirozené nejistotě
optimální řešení.
obsažené v projektu. Metody pro nalezení optimálního řešení
(viz str. 34)
Metody pro nalezení optima jsou známé a po-
Jediný známý způsob nalezení optimálního řešení
měrně jednoduché. Uživatel do algoritmu nezasa-
je exhaustivní metoda, tedy sestrojení a porov-
huje.
nání všech možných variant. Uživatel do algoritmu zasahuje při řešení konfliktů zdrojů.
42
Kapitola 5
Závěr Cílem mé bakalářské práce bylo porovnat metodu kritické cesty a metodu kritického řetězce. Porovnání bylo provedeno z hlediska teoretických předpokladů jednotlivých metod a použitých algoritmů. Vzhledem k tomu, že E. Goldratt vyvinul metodu kritického řetězce za účelem odstranit některé neodstatky metody kritické cesty (zejména časté překračování očekávané doby trvání projektu, stanoveného rozpočtu či kvality výstupu), bylo porovnání metod pojato zejména jako popis myšlenek a cílů, které vedly od metody kritické cesty ke vzniku metody kritického řetězce. Obě metody byly demonstrovány na krátkých ukázkových příkladech. Jako hlavní odlišnosti metody kritického řetězce oproti metodě kritické cesty se ukazují postoj k řízení nejistoty a s tím související management časových rezerv spolu s velkým důrazem na zohlednění zdrojových omezení a jejich management. Zprávy z praxe potvrzují, že metoda kritického řetězce snižuje dobu trvání projektu nebo stanovený rozpočet až o desítky procent. Za možný nedostatek metody kritického řetězce můžeme považovat absenci deterministického algoritmu pro řešení konfliktu zdrojů. Jediný způsob nalezení optimálního řešení je exhaustivní prozkoumání všech možností. V případě rozsáhlého projektu je složitost takovéhoto problému značná a doporučuje se nehledat řešení optimální, nýbrž řešení ”dosti dobré”, tedy řešení splňující zadané parametry (obvykle stanovené podle doby trvání projektu). Dále můžeme za menší nedostatek považovat nejednotné algoritmy v multiprojektovém prostředí, kde mohou nastávat zdrojové konflikty napříč projekty. Je však třeba podotknout, že tyto nedostatky se týkají problémů, které metoda kritické cesty obvykle ani neřeší. Cíl bakalářské práce byl v daném splněn. Jako další směry zkoumání se na-
43
KAPITOLA 5. ZÁVĚR
bízí multiprojektová aplikace metody kritického řetězce, software pro řízení projektů podle metody kritického řetězce, popřípadě průzkum důvodů poměrně nízkého rozšíření této metody v praxi navzdory jejím známým značným úspěchům v porovnání s CPM.
44
Literatura [1] FIALA Petr, Řízení projektů. VŠE v Praze, nakladatelství Oeconomica, 2. vydání, 2008. ISBN 978-80-245-1413-0 [2] FIALA stránky.
Petr,
Metoda
odborný
kritického
článek
v
řetězu časopise
–
silné Automa,
a
slabé 2008/10.
http://www.odbornecasopisy.cz/index.php?id document=28952
čerpáno
30.5.2012 [3] GOLDRATT, E. M., Critical Chain. North River Press, Great Barrington, MA, 1997. ISBN 0-88427-153-6 [4] GOLDRATT, E. M., The Goal. North River Press, Great Barrington, MA, 1984. ISBN 978-0-88427-178-9 [5] LEACH, Lawrence P., Critical Chain Project Management. Artech House Publishers, Boston, 2000. ISBN 1-58053-074-5 [6] webové stránky společnosti Goldratt CZ, s.r.o., http://www.goldratt.cz/teorieomezeni-toc/nastroje-toc/kriticky-retez-critical-chain.html čerpáno 30.5.2012 [7] KATOLICKÝ Arnošt, Critical Chain(CCPM). Odborný článek. 5/2OO1. http://www.systemonline.cz/clanky/critical-chain-ccpm.htm
čerpáno
30.5.2012 [8] Critical
Chain.
Webové
stránky
společnosti
Goldratt
http://www.goldratt.co.uk/resources/critical chain/index.html
UK.
2007. čerpáno
30.5.2012
45