Parte II — Processi e avvio · Capitolo 11

Network diagram, critical path e approvazione

~45 min di lettura6 widget interattivi5 tavole

In questo capitolo

  1. Dal network diagram al Gantt
  2. Il task node
  3. Le relazioni di dipendenza
  4. I vincoli sulla schedula
  5. Costruire l'initial dependency diagram
  6. Forward pass e backward pass
  7. Il critical path
  8. Slack: totale e libero
  9. La compressione della schedula
  10. La management reserve
  11. L'esempio completo: dalla WBS al Gantt
  12. Scrivere una proposta di progetto efficace
  13. Ottenere l'approvazione
  14. Verifica le tue conoscenze

1. Dal network diagram al Gantt

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.

Network-based scheduling

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.

Due formati per la stessa schedula Task on the arrow A (durata) evento evento Task on the node A durata B durata dipendenza Le attività nei nodi, le dipendenze nelle frecce: è il formato che useremo per i calcoli ES, EF, LS, LF.
Tavola 11.1 — Task on the arrow e task on the node. La scelta del formato non cambia la logica, cambia dove si legge l'attività.

2. Il task node

Ogni attività del network (in formato task on the node) è rappresentata da un nodo che riporta sei valori:

Task Node ES EF ID SLACK E LS LF ID · Task ID E · Expected duration ES · Earliest Start — il primo tempo utile LS · Latest Start — l'ultimo tempo utile EF · Earliest Finish — il primo tempo utile per finire LF · Latest Finish — l'ultimo tempo utile per finire Slack · ritardo massimo che non causa un ritardo nel completamento del progetto ES ed EF si scrivono dall'alto, LS e LF dal basso: è la lettura del forward pass e del backward pass (sezione 6).
Tavola 11.2 — L'anatomia del task node. ID ed E (durata attesa) sono dati; ES, EF, LS, LF e Slack sono calcolati.

3. Le relazioni di dipendenza

Le attività del network sono collegate da relazioni di dipendenza, che il corso definisce con le convenzioni FS, FF, SS, SF:

Dependency Relationships FS · Finish-to-Start A B A finisce → B può iniziare FF · Finish-to-Finish A B B non finisce prima di A SS · Start-to-Start A B B non inizia prima di A SF · Start-to-Finish A B B non finisce prima che A inizi
Tavola 11.3 — Le quattro relazioni di dipendenza. FS è «la classica»: in una prima pianificazione è consigliabile usare solo FS.
RelazioneRegolaEsempio 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.

Il lag

Definizione — Lag

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.

Riconosci la relazione di dipendenza

Cinque situazioni. Per ciascuna scegli la relazione FS, FF, SS o SF (una prevede anche un lag).

4. I vincoli sulla schedula

Le dipendenze non sono gli unici vincoli che governano la schedula. Il corso li classifica così:

FamigliaTipi
Technical constraintsDiscretionary (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 constraintsPer esempio, per comprimere la schedula.
Inter-project constraintsAttesa di risultati da un altro progetto.
Date constraintsNo earlier than; no later than; on this date.
Lag variablesRitardi e attese tra task (visti nella sezione 3).
Nota del redattore

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.

5. Costruire l'initial dependency diagram

Il corso dà una procedura in sei passi per costruire il diagramma delle dipendenze partendo dai Post-It della WBS:

  1. Per ogni task, scrivere sul Post-It il suo ID, il nome e la durata.
  2. Posizionare il Post-It sulla parte destra della lavagna.
  3. Posizionare lo start node sulla parte sinistra della lavagna.
  4. Muovere tutti i task senza un predecessore sulla parte sinistra e collegarli allo start node.
  5. Muovere a sinistra tutti i task che hanno tutti i predecessori già a sinistra, collegandoli con una singola linea ai predecessori.
  6. Ripetere il passo 5 finché tutti i task sono stati spostati a sinistra.

Il diagramma delle dipendenze, passo per passo

Esegui la procedura del corso su quattro task. I Post-It si spostano da destra verso sinistra, come sulla lavagna della JPPS.

6. Forward pass e backward pass

Una volta costruito il network, i valori del task node si calcolano con due passate:

PassataDirezioneChe cosa determinaFormula
Forward Pass — Early ScheduleDa sinistra a destra (start to finish)Early Start e Early FinishES + duration − 1 = EF
Backward Pass — Late ScheduleDa destra a sinistra (finish to start)Late Start e Late FinishLF − duration + 1 = LS
Attenzione — le convenzioni

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.

Calcola il network: esempio guidato

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.

ES EF A · 3g LS LF ES EF B · 2g LS LF ES EF C · 4g LS LF ES EF D · 5g LS LF
durata progetto
task critici
slack di B

7. Il critical path

Definizione — 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.

Attenzione

«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.

8. Slack: totale e libero

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:

TipoDefinizione
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.
Early Start to Late Finish Window Task ES LF Slack Tra ES e LF il task ha una «finestra»: dentro la finestra si può spostare senza conseguenze, fuori no. «Do Not Plan to Use Slack to Bail Out the Project!»
Tavola 11.4 — La finestra ES–LF e lo slack. Il monito del corso è chiaro: «Do Not Plan to Use Slack to Bail Out the Project!» — lo slack non è una riserva progettuale.

9. La compressione della schedula

Se la data di fine calcolata non va bene, la schedula può essere compressa applicando una delle seguenti azioni:

  1. Sostituire delle dipendenze FS con dipendenze SS;
  2. Sostituire un membro del team con uno più esperto;
  3. Aggiungere risorse spostandole:
    • dai task non contenuti nel critical path a task nel critical path;
    • da altri progetti, per assegnarle a task nel critical path, a task ad alto rischio o a task con grande varianza nella durata.
La compressione non è mai gratis!!!

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.

Quale tecnica di compressione?

Quattro situazioni. Per ciascuna scegli la tecnica di compressione indicata dal corso, poi verifica.

10. La management reserve

Per prevenire i ritardi, il corso suggerisce:

Per l'esame — la domanda aperta

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.

11. L'esempio completo: dalla WBS al Gantt

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.

Dalla WBS al Gantt: l'evoluzione del piano 1 · WBS iniziale 2 · Predecessori definiti 3 · Network diagram 4 · Date sulla WBS 5 · Risorse allocate 6 · Gantt chart La WBS con i predecessori è il ponte tra la scomposizione del lavoro (capitolo 9) e il network: ogni task della WBS riceve i suoi predecessori, il network calcola le date, le risorse vengono allocate, e il Gantt rende tutto leggibile. I valori numerici dell'esempio sono nelle slide del corso.
Tavola 11.5 — Le sei tappe dell'esempio completo: è il flusso di lavoro che il planning team esegue nella working session della JPPS (capitolo 8).

12. Scrivere una proposta di progetto efficace

Tra i deliverable della JPPS c'è la project proposal (capitolo 8). Il corso ne definisce il contenuto in sette parti — cliccate per la spiegazione:

Nota del redattore

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.

13. Ottenere l'approvazione

Ottenuta la pianificazione, si chiede l'approvazione per procedere alla fase di esecuzione (launch). L'approvazione può essere negata se:

La domanda aperta del corso

«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.

Collegamento con il capitolo 7

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.

Verifica le tue conoscenze

Che cosa si costruisce prima della schedula, e in che formati?

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.

Quali valori contiene il task node?

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.

Quali sono le quattro relazioni di dipendenza e i loro esempi?

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).

Che cos'è il lag e come si rappresenta?

È 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.

Come si classificano i vincoli sulla schedula?

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.

Come si costruisce l'initial dependency diagram?

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.

Come funzionano forward pass e backward pass?

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.

Che cos'è il critical path e perché ogni ritardo su di esso conta subito?

È 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.

Che differenza c'è tra total slack e free 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!»

Quali sono le tecniche di compressione della schedula e perché «non è mai gratis»?

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.

Come funziona la management reserve e perché si chiama anche Scope Bank?

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.

Quali sono le sette parti di una proposta di progetto efficace?

Executive Summary, Background, Objective, Overview of the approach to be taken, Detailed statement of work, Time and cost summary, Appendices.

Per quali ragioni l'approvazione della pianificazione può essere negata?

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.