Per determinare il calendario (schedula) delle attività di progetto si deve costruire il Project Network Diagram, da cui si deriverà il Gantt Chart. Il network è il calcolo; il Gantt è la rappresentazione.
La schedulazione basata sulla rete si presenta in due formati: Task on the Arrow (le attività sulle frecce, i nodi sono gli eventi) e Task on the node (le attività nei nodi, le frecce sono le dipendenze). Il corso lavora sul formato task on the node, ed è quello che useremo in questo capitolo.
Ogni attività del network (in formato task on the node) è rappresentata da un nodo che riporta sei valori:
Le attività del network sono collegate da relazioni di dipendenza, che il corso definisce con le convenzioni FS, FF, SS, SF:
| Relazione | Regola | Esempio del corso |
|---|---|---|
| Finish-to-Start (FS) | Un'attività può partire solo quando le precedenti hanno terminato. | La catena classica di attività. |
| Finish-to-Finish (FF) | B non può finire prima che sia finita anche A. | Il data entry non può finire prima della fine della raccolta dei dati. |
| Start-to-Start (SS) | B non può iniziare prima che inizi anche A. | Il data entry non può iniziare prima dell'inizio della raccolta dei dati. |
| Start-to-Finish (SF) | B non può finire prima che A sia partita. | L'impiego di un sistema sostitutivo non può terminare prima che il nuovo sistema sia disponibile. |
Le relazioni di dipendenza possono prevedere anche ritardi prestabiliti: per esempio il data entry deve iniziare due giorni dopo l'inizio della raccolta dei dati. Il lag si rappresenta aggiungendo alla dipendenza il valore del ritardo — es. SS-2.
Cinque situazioni. Per ciascuna scegli la relazione FS, FF, SS o SF (una prevede anche un lag).
Le dipendenze non sono gli unici vincoli che governano la schedula. Il corso li classifica così:
| Famiglia | Tipi |
|---|---|
| Technical constraints | Discretionary (aggiunti per ridurre i rischi); logical (per imporre una sequenza specifica di task); best practice (basati su esperienze passate); unique requirements (es. una risorsa singola per più task). |
| Management constraints | Per esempio, per comprimere la schedula. |
| Inter-project constraints | Attesa di risultati da un altro progetto. |
| Date constraints | No earlier than; no later than; on this date. |
| Lag variables | Ritardi e attese tra task (visti nella sezione 3). |
Notate la differenza tra i tipi di vincoli tecnici: i discretionary li aggiunge il team «per prudenza» (e quindi si possono rimuovere), i logical derivano dalla natura del lavoro (e non si rimuovono senza cambiare il lavoro). Nel capitolo 9, la compressione della schedula (sezione 9) agirà proprio su questo confine.
Il corso dà una procedura in sei passi per costruire il diagramma delle dipendenze partendo dai Post-It della WBS:
Esegui la procedura del corso su quattro task. I Post-It si spostano da destra verso sinistra, come sulla lavagna della JPPS.
Una volta costruito il network, i valori del task node si calcolano con due passate:
| Passata | Direzione | Che cosa determina | Formula |
|---|---|---|---|
| Forward Pass — Early Schedule | Da sinistra a destra (start to finish) | Early Start e Early Finish | ES + duration − 1 = EF |
| Backward Pass — Late Schedule | Da destra a sinistra (finish to start) | Late Start e Late Finish | LF − duration + 1 = LS |
Il «−1» nelle formule esiste perché ES ed EF si contano in giorni inclusi: un task di durata 3 che inizia al giorno 1 finisce al giorno 3 (1 + 3 − 1), non al giorno 4. È una convenzione, ma va applicata con coerenza in tutto il network.
Quattro task con le durate indicate. A e B non hanno predecessori; C dipende da A e B (FS); D dipende da C (FS). Prima calcola il forward pass, poi il backward pass, poi scopri il critical path.
Il critical path identifica quei task che determinano la durata del progetto. Ogni ritardo subito dall'esecuzione di un task nel critical path si ripercuote immediatamente sulla durata dell'intero progetto.
Nel network dell'esempio guidato della sezione 6, il percorso critico è A → C → D (3 + 4 + 5 = 12 giorni): B ha un giorno di slack, quindi un giorno di ritardo su B non sposta la fine del progetto — lo stesso ritardo su A, C o D la sposterebbe subito.
«Ogni ritardo… si ripercuote immediatamente»: il critical path non è «il percorso più importante» in senso qualitativo — è il percorso più lungo, quello che decide la data di fine. Un task banale ma critico fa ritardare il progetto esattamente come il task più complesso.
La differenza tra i tempi Early Finish e Late Finish definisce uno slack (anche detto float): il massimo ritardo che può subire il task senza avere impatto sull'inizio del task successivo e/o sulla durata dell'intero progetto. Si distinguono due casi:
| Tipo | Definizione |
|---|---|
| Total Slack (Total Float) | Ritardo che può subire un task senza avere un impatto sull'early schedule del progetto. |
| Free Slack (Free Float) | Ritardo che può subire un task senza avere un impatto sull'early schedule del task successivo. |
Se la data di fine calcolata non va bene, la schedula può essere compressa applicando una delle seguenti azioni:
Comprimere la schedula non riduce il quantitativo di lavoro da svolgere; modificare le precedenze può implicare un aumento del lavoro, dei costi, dei rischi e della complessità. E la compressione si fa per iterazioni: si comprime, si ricalcola il critical path, si verifica, si ricomincia.
Quattro situazioni. Per ciascuna scegli la tecnica di compressione indicata dal corso, poi verifica.
Per prevenire i ritardi, il corso suggerisce:
Questa riserva è nota anche come Scope Bank. «Perché?» — è la domanda che il corso lascia aperta. La risposta che ci si aspetta: perché è un deposito di tempo (e quindi di scope) da cui si attinge con decisioni esplicite, esattamente come da un conto corrente — e va tenuto visibile, non nascosto nelle stime gonfiate.
Il corso chiude la parte sul network con un esempio che attraversa tutte le tappe viste finora: la WBS iniziale, la WBS con i predecessori, il network diagram, la WBS con le date, la WBS con le risorse allocate e infine il Gantt.
Tra i deliverable della JPPS c'è la project proposal (capitolo 8). Il corso ne definisce il contenuto in sette parti — cliccate per la spiegazione:
La struttura della proposta è pensata per chi deve decidere: l'executive summary da solo deve bastare a chi non leggerà altro; il detailed statement of work contiene il piano per chi lo eseguirà. È la stessa separazione tra POS e PDS vista nei capitoli 7 e 8.
Ottenuta la pianificazione, si chiede l'approvazione per procedere alla fase di esecuzione (launch). L'approvazione può essere negata se:
«Come possono essere evitate queste situazioni?» La risposta è il filo rosso di tutto il Planning Process Group: con stime solide (capitoli 9 e 10), una schedula onesta con riserve visibili (sezioni 8–10 di questo capitolo) e una proposta scritta per chi decide (sezione 12). Il piano è anche il documento che vende la pianificazione.
Nel capitolo 7 l'approvazione del POS dava il via libera a pianificare; qui l'approvazione del piano dà il via libera a eseguire. Sono due porte diverse, con due documenti diversi — e la seconda è più difficile da aprire di quanto sembri: la proposta arriva con numeri, e i numeri si possono contestare.
Si costruisce il Project Network Diagram, da cui si deriva il Gantt. I formati sono task on the arrow (attività sulle frecce) e task on the node (attività nei nodi, dipendenze nelle frecce) — il formato su cui lavora il corso.
ID (identificativo), E (expected duration), ES (earliest start), EF (earliest finish), LS (latest start), LF (latest finish) e Slack (ritardo massimo che non causa un ritardo nel completamento del progetto). ID ed E sono dati; gli altri si calcolano.
FS Finish-to-Start: B parte quando A è finita (la classica). FF Finish-to-Finish: B non finisce prima di A (il data entry non finisce prima della raccolta dati). SS Start-to-Start: B non inizia prima di A (il data entry non inizia prima della raccolta dati). SF Start-to-Finish: B non finisce prima che A inizi (il sistema sostitutivo non termina prima che il nuovo sia disponibile).
È un ritardo prestabilito su una relazione di dipendenza: per esempio il data entry deve iniziare due giorni dopo l'inizio della raccolta dati. Si rappresenta aggiungendo il valore alla dipendenza, es. SS-2.
Technical constraints (discretionary, logical, best practice, unique requirements); management constraints (es. per comprimere la schedula); inter-project constraints (attesa di risultati da altri progetti); date constraints (no earlier than, no later than, on this date); lag variables.
1) Scrivere su ogni Post-It ID, nome e durata; 2) posizionarli a destra; 3) mettere lo start node a sinistra; 4) spostare a sinistra i task senza predecessori e collegarli allo start; 5) spostare a sinistra i task con tutti i predecessori già a sinistra, collegandoli con una singola linea; 6) ripetere finché tutti i task sono a sinistra.
Il forward pass va da sinistra a destra (start to finish) e determina Early Start ed Early Finish: ES + duration − 1 = EF. Il backward pass va da destra a sinistra (finish to start) e determina Late Start e Late Finish: LF − duration + 1 = LS. Il «−1»/«+1» deriva dal conteggio a giorni inclusi.
È l'insieme dei task che determinano la durata del progetto — il percorso più lungo della rete. Ogni ritardo su un task del critical path si ripercuote immediatamente sulla durata dell'intero progetto, perché quei task non hanno slack.
Il total slack è il ritardo che un task può subire senza impatto sull'early schedule del progetto; il free slack è il ritardo senza impatto sull'early schedule del task successivo. E il corso ammonisce: «Do Not Plan to Use Slack to Bail Out the Project!»
Sostituire dipendenze FS con SS; sostituire un membro del team con uno più esperto; aggiungere risorse spostandole dai task non critici al critical path (o da altri progetti, verso task critici, ad alto rischio o ad alta varianza). Non è gratis perché non riduce il lavoro e può aumentare lavoro, costi, rischi e complessità — e si procede per iterazioni, ricalcolando il critical path.
Non si gonfiano le durate dei task; si prevede una riserva del 5–10% della durata complessiva, gestita come task dummy finale da cui si sottraggono i ritardi che si ripercuotono sul progetto. Deve essere visibile e gestita correttamente. Si chiama anche Scope Bank perché è un deposito di tempo/scope da cui si attinge con decisioni esplicite.
Executive Summary, Background, Objective, Overview of the approach to be taken, Detailed statement of work, Time and cost summary, Appendices.
Se i costi/benefici non sono ritenuti sufficienti; se i rischi di fallimento sono troppo alti; se i costi totali previsti superano i fondi disponibili; se altri progetti competono per le stesse risorse. La domanda aperta del corso: come evitare queste situazioni — con stime solide, schedula onesta con riserve visibili e una proposta scritta per chi decide.