Graficul Gantt — vizualizarea unui proiect pe o axa a timpului
De-a lungul acestei lectii lucram pe acelasi proiect mic, realist pentru un liceu tehnologic: amenajarea unui colt verde cu o pergola din lemn in curtea scolii. Proiectul are sase activitati:
| Cod | Activitate | Durata (zile) |
|---|---|---|
| A | Masurarea terenului si proiectarea pergolei | 3 |
| B | Comanda si transportul materialului lemnos | 4 |
| C | Pregatirea terenului (sapat, nivelat) | 2 |
| D | Debitarea si tratarea lemnului (ignifugare, biocid) | 3 |
| E | Montajul structurii pergolei | 5 |
| F | Plantarea vegetatiei si finisajele | 2 |
Barele nu incep toate din ziua 0. O activitate care depinde de alta (de exemplu, lemnul nu poate fi tratat inainte sa fie adus) incepe abia dupa ce activitatea de care depinde s-a terminat. Aceasta legatura dintre activitati — cine trebuie sa se termine inainte ca alta sa poata incepe — se numeste dependinta sau relatie de precedenta si este exact subiectul urmatorului atom.
Predecesori si dependinte intre activitati
| Cod | Activitate | Predecesor | Durata (zile) |
|---|---|---|---|
| A | Masurarea terenului si proiectarea | — | 3 |
| B | Comanda si transportul lemnului | A | 4 |
| C | Pregatirea terenului | A | 2 |
| D | Debitarea si tratarea lemnului | B | 3 |
| E | Montajul structurii pergolei | C, D | 5 |
| F | Plantarea si finisajele | E | 2 |
Activitatea A nu are predecesor — poate incepe imediat, in ziua 0. Activitatile B si C depind AMBELE de A, dar nu depind una de cealalta — pot fi lucrate in paralel, de doua echipe diferite, imediat ce A s-a terminat. Activitatea E depinde de DOUA activitati simultan (C si D) — nu poate incepe pana nu se termina AMBELE, chiar daca una dintre ele s-a terminat de mult mai devreme. Succesorii unei activitati se gasesc cautand-o in coloana Predecesor a celorlalte randuri: succesorii lui A sunt B si C (fiindca A apare acolo la randurile lui B si C); singurul succesor al lui C este E (fiindca doar randul lui E are C in coloana Predecesor).
Pasul inainte: cel mai devreme inceput si sfarsit (ES si EF)
| Activitate | ES | Durata | EF = ES + durata | Explicatie |
|---|---|---|---|---|
| A | 0 | 3 | 3 | fara predecesor, incepe in ziua 0 |
| B | 3 | 4 | 7 | ES = EF(A) = 3 |
| C | 3 | 2 | 5 | ES = EF(A) = 3 |
| D | 7 | 3 | 10 | ES = EF(B) = 7 |
| E | 10 | 5 | 15 | ES = max(EF(C)=5, EF(D)=10) = 10 |
| F | 15 | 2 | 17 | ES = EF(E) = 15 |
EF-ul cel mai mare dintre toate activitatile (aici, EF(F) = 17) este durata minima posibila a intregului proiect: 17 zile. Proiectul nu poate fi terminat mai repede de atat, oricat de bine ar fi organizata munca — pentru ca fiecare activitate depinde de cele dinaintea ei.
Pasul inapoi: cel mai tarziu sfarsit si rezerva de timp
| Activitate | LF | Durata | LS = LF − durata | Rezerva = LS − ES |
|---|---|---|---|---|
| F | 17 | 2 | 15 | 15 − 15 = 0 |
| E | 15 | 5 | 10 | 10 − 10 = 0 |
| D | 10 | 3 | 7 | 7 − 7 = 0 |
| C | 10 | 2 | 8 | 8 − 3 = 5 |
| B | 7 | 4 | 3 | 3 − 3 = 0 |
| A | 3 | 3 | 0 | 0 − 0 = 0 |
Rezerva de timp arata cu cate zile poate intarzia o activitate fata de inceputul ei cel mai devreme, FARA sa afecteze data finala a proiectului. Activitatea C are rezerva 5: poate incepe oricand intre ziua 3 (cel mai devreme) si ziua 8 (cel mai tarziu, adica 3+5) fara sa schimbe cu nimic data de finalizare din ziua 17. Toate celelalte activitati (A, B, D, E, F) au rezerva 0 — nu au nicio zi de intarziere permisa.
Traiectoria critica — drumul care decide data finala
Din tabelul de rezerve de la atomul anterior, activitatile cu rezerva 0 sunt A, B, D, E, F. Ele formeaza traiectoria critica: A → B → D → E → F, cu durata 3+4+3+5+2 = 17 zile — exact durata totala a proiectului calculata la pasul inainte. Activitatea C NU face parte din traiectoria critica; ea este pe un drum secundar, A → C → E → F, cu durata 3+2+5+2 = 12 zile — mai scurt cu 5 zile decat drumul critic (17 − 12 = 5).
Pornesti de la activitatea (activitatile) fara predecesor si urmezi, pas cu pas, toate ramificatiile posibile — de fiecare data cand o activitate are mai multi succesori, se deschide un drum nou pentru fiecare — pana ajungi la activitatea (activitatile) fara succesor. Aduni duratele activitatilor de pe fiecare drum obtinut. In proiectul cu pergola exista exact doua drumuri posibile, pentru ca A are doi succesori (B si C) care se reunesc din nou in E: A → B → D → E → F (3+4+3+5+2 = 17 zile) si A → C → E → F (3+2+5+2 = 12 zile). Drumul de 17 zile este mai lung, deci el este traiectoria critica — exact rezultatul la care ai ajuns si prin calculul ES/EF/LS/LF de la Atomii 3 si 4. Cele doua metode trebuie sa dea mereu acelasi raspuns; daca nu coincid, ai gresit undeva calculul.
Multi elevi cred ca activitatea "critica" este cea cu durata individuala cea mai mare. Este gresit — iata de ce, cu un exemplu clar: imagineaza-ti o activitate G, cu durata 6 zile dar rezerva 4 zile — desi e lunga, mai are 4 zile de marja inainte sa afecteze data finala, deci NU e critica. In schimb, o activitate H, cu durata de doar 1 zi dar rezerva 0, ESTE critica: orice intarziere a ei, fie si de o singura zi, intarzie tot proiectul. Lungimea barei din grafic nu spune nimic despre cat de critica e o activitate — doar rezerva (float), calculata complet cu ES/EF/LS/LF, o arata cu certitudine. Chiar si in proiectul cu pergola, nu presupune ca E e critica doar pentru ca e cea mai lunga (5 zile): verifica in tabelul de rezerve — rezerva ei este 0, la fel ca a lui A, B, D si F, si tocmai asta o face critica, nu durata.
Activitatea B (comanda si transportul lemnului) este pe traiectoria critica — rezerva ei este 0, deci orice intarziere a ei se transmite direct in intarzierea proiectului, zi cu zi. Activitatea de sapat fundatia (C) are 5 zile rezerva — poate intarzia cu una-doua zile fara ca proiectul sa se termine mai tarziu, pentru ca rezerva absoarbe intarzierea inainte sa ajunga din urma traiectoria critica.
De la tabelul de calcul la graficul Gantt in Excel
ES si EF calculate la Atomii 3 si 4 folosesc conventia 0-based: ziua 0 este chiar inceputul proiectului, deci activitatea A are ES=0. Tabelul de mai jos, ca orice calendar real, numeroteaza zilele calendaristic incepand de la 1. Asadar, ES=3 (adica "dupa ce au trecut 3 zile intregi") corespunde cu inceputul zilei calendaristice a 4-a: de aceea activitatea B, cu Start=3, ocupa efectiv coloanele 4-7 din tabel, nu 3-6. Retine aceasta diferenta de 1 cand transformi ES/EF in date de calendar reale, altfel gresesti cu o zi la fiecare activitate.
| Activitate | Start | Durata | Ziua 1 → 17 |
|---|---|---|---|
| A | 0 | 3 | ▬▬▬·············· |
| B | 3 | 4 | ···▬▬▬▬·········· |
| C | 3 | 2 | ···▬▬············ |
| D | 7 | 3 | ·······▬▬▬······· |
| E | 10 | 5 | ··········▬▬▬▬▬·· |
| F | 15 | 2 | ···············▬▬ |
- Introdu datele in trei coloane. Cap de tabel:
Activitate,Start,Durata. In coloana Start pui valoarea ES calculata la Atomul 3 (nu EF); in coloana Durata pui durata activitatii, exact ca in tabelul de mai sus. - Selecteaza cele trei coloane, cu antet. Cu mouse-ul, selecteaza intervalul complet, inclusiv randul cu titlurile coloanelor — ele devin automat legenda graficului.
- Insereaza graficul. Din fila Insert (Inserare), grupul Charts (Diagrame), alege tipul Bar Chart (grafic cu bare orizontale) si varianta Stacked Bar (Bara stivuita) 2-D. Excel deseneaza pe fiecare rand doua bucati de bara suprapuse: Start si Durata.
- Fa invizibila portiunea Start. Click-dreapta pe portiunea colorata a seriei Start → Format Data Series (Formatare serie de date) → Fill (Umplere) → No Fill (Fara umplere). Seria Start devine invizibila; ramane vizibila doar seria Durata, incepand exact din ziua Start — acesta este efectul clasic de grafic Gantt.
- Corecteaza ordinea activitatilor. Excel deseneaza implicit prima activitate din tabel jos de tot pe grafic, nu sus. Click-dreapta pe axa verticala (lista activitatilor) → Format Axis (Formatare axa) → bifeaza Categories in reverse order (Categorii in ordine inversa), ca activitatea A sa apara sus.
Graficul Gantt construit in Excel cu pasii de mai sus arata DOAR bare de timp (cand incepe si cand se termina fiecare activitate) — Excel nu deseneaza automat sageti de dependinta intre activitati. Ca sa afli cine depinde de cine te uiti in continuare la tabelul cu coloana Predecesor de la Atomul 2, nu la grafic — graficul si tabelul se citesc IMPREUNA, nu unul in locul celuilalt.
Constructia unui grafic pornind de la un tabel de date — selectarea corecta a intervalului, alegerea tipului de grafic, formatarea unei serii — este exact tipul de sarcina de lucru cu foaie de calcul care poate aparea la proba de evaluare a competentelor digitale de la bacalaureat. Exerseaza pasii de mai sus direct in Excel, pe propriile tale date, nu doar citindu-i.
Recapitulare si legatura cu monitorizarea proiectului
Tabel activitati + predecesori + durate
↓ pasul inainte
ES si EF (cel mai devreme inceput / sfarsit)
↓ pasul inapoi, plecand de la durata totala
LS si LF (cel mai tarziu inceput / sfarsit)
↓ rezerva = LS − ES
Traiectoria critica — activitatile cu rezerva 0
Graficul Gantt cu traiectoria critica pe care tocmai l-ai construit nu este un desen static — este planul fata de care se compara executia reala a proiectului. In lectia urmatoare vei invata cum se monitorizeaza un proiect in timpul executiei, ce se face cand o activitate reala intarzie fata de plan si cum se evalueaza rezultatul final.
EF = ES + durata; ES = maximul EF-urilor predecesorilor.
LS = LF − durata; LF = minimul LS-urilor succesorilor.
Rezerva = LS − ES; rezerva 0 inseamna activitate critica.
Traiectoria critica = cel mai lung drum prin retea = durata minima a proiectului.
In Excel: Stacked Bar cu seria Start pe Fara umplere = grafic Gantt.