Concetti fondamentali

Gantt

Dipendenze, critical path, slack.

Diagramma di Gantt

Il diagramma di Gantt è la rappresentazione grafica e temporale delle attività di un progetto: ogni task è una barra orizzontale la cui lunghezza indica la durata e la posizione indica quando si svolge.

Storia

Sviluppato nei primi del '900 da Henry Gantt (ingegnere americano), originariamente per la gestione della produzione industriale. È diventato lo strumento simbolo del project management waterfall.

Anatomia

Attività                Set       Ott       Nov       Dic
─────────────────────────────────────────────────────────────
Strategy & Discovery   ████░░    ░░░░░░    ░░░░░░    ░░░░░░
Design                 ░░░░██    ██████    ░░░░░░    ░░░░░░
Sviluppo Frontend      ░░░░░░    ░░██████  ████████  ████░░
Sviluppo Backend       ░░░░░░    ░░████░░  ████████  ████░░
QA                     ░░░░░░    ░░░░░░    ░░░░████  ████░░
Go-live                ░░░░░░    ░░░░░░    ░░░░░░    ░░░░░◆
                                                          ↑
                                                      Milestone

Componenti

ElementoSignificato
BarraDurata di un'attività
Posizione orizzontaleInizio e fine nel tempo
Posizione verticaleAttività distinta
Milestone (◆)Evento chiave a durata zero (es. go-live)
Freccia tra barreDipendenza tra attività
% completamentoAvanzamento (barra parzialmente piena)
Lane / SwimlaneRaggruppamento per team, fase, work package

Tipi di dipendenza

SiglaNomeSignificato
FSFinish-to-StartB inizia quando A finisce (più comune)
SSStart-to-StartB inizia quando A inizia
FFFinish-to-FinishB finisce quando A finisce
SFStart-to-FinishB finisce quando A inizia (raro)

Critical Path Method (CPM)

Il percorso critico è la sequenza di attività che determina la durata totale del progetto: qualsiasi ritardo su queste attività ritarda l'intero progetto.

Come identificarlo

  1. Mappa tutte le attività con durate e dipendenze
  2. Calcola earliest start e earliest finish di ogni attività (forward pass)
  3. Calcola latest start e latest finish (backward pass)
  4. Le attività con slack = 0 (nessun margine) formano il percorso critico

Slack / Float

  • Slack = quanto un'attività può ritardare senza impattare il progetto
  • Slack = 0 → attività critica, va monitorata strettamente
  • Slack > 0 → c'è margine, ma non sprecarlo

Quando usare il Gantt

Adatto a:

  • Progetti con dipendenze forti tra attività
  • Scadenze fisse e contrattuali
  • Stakeholder che hanno bisogno di una vista temporale chiara
  • Team distribuiti su più discipline (design, dev, marketing) che devono coordinarsi
  • Reporting verso management non tecnico

Poco adatto a:

  • Flussi di lavoro continui senza inizio/fine (operations) → meglio Kanban
  • Progetti ad alta incertezza dove lo scope evolve rapidamente
  • Team agile in pieno flow Scrum (Scrum board è meglio)
  • Progetti molto piccoli (overhead > beneficio)

Limiti e critiche

  • Illusione di certezza: un Gantt bello e dettagliato sembra "il vero piano". È una previsione, non un destino.
  • Manutenzione: aggiornare un Gantt complesso costa tempo — se non lo aggiorni, mente.
  • Nascondere il rischio: le barre piene non dicono nulla sui rischi sottostanti.
  • Falsa precisione: stimare task in giorni precisi a 6 mesi di distanza è cargo cult.
  • Non comunica priorità: tutto è "in progress", ma cosa è davvero importante? (vedi Eisenhower)

Buone pratiche

  • Costruiscilo dalla WBS, non dal nulla — l'ordine logico è: scope → WBS → stime → dipendenze → Gantt
  • Aggiungi buffer espliciti (10-20% sul percorso critico) invece di gonfiare le singole stime
  • Identifica e marca il percorso critico: è dove va il tuo focus
  • Mostra le milestone in modo prominente: sono i checkpoint con gli stakeholder
  • Rivedi il Gantt almeno settimanalmente — non è un quadro da appendere
  • Per progetti lunghi: livello di dettaglio variabile — settimane vicino, mesi lontano (rolling wave planning)

Strumenti

StrumentoQuando
MS ProjectStandard "classico", progetti grandi, dipendenze complesse
Smartsheet / Asana / ClickUp / MondayTeam mid-size, integrazione con task management
GanttProject / TeamGanttAlternative leggere
Excel / Google SheetsProgetti piccoli, prototipazione, full control
Mermaid / PlantUML (in markdown)Documentazione tecnica, versionamento git

Esempio in Mermaid

Gantt vs Kanban

GanttKanban
VistaTemporale (asse X = tempo)Flusso (colonne = stati)
Domanda chiaveQuando finisce?Cosa sta succedendo ora?
Adatto aProgetti finiti con deadlineFlussi continui
ScopeFisso, pianificatoEvolutivo, pull-based
DipendenzeEspliciteImplicite o gestite con tag

Spesso si combinano: Gantt per la vista di alto livello, Kanban/Scrum board per l'esecuzione settimanale.

Collegamenti