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
| Elemento | Significato |
|---|---|
| Barra | Durata di un'attività |
| Posizione orizzontale | Inizio e fine nel tempo |
| Posizione verticale | Attività distinta |
| Milestone (◆) | Evento chiave a durata zero (es. go-live) |
| Freccia tra barre | Dipendenza tra attività |
| % completamento | Avanzamento (barra parzialmente piena) |
| Lane / Swimlane | Raggruppamento per team, fase, work package |
Tipi di dipendenza
| Sigla | Nome | Significato |
|---|---|---|
| FS | Finish-to-Start | B inizia quando A finisce (più comune) |
| SS | Start-to-Start | B inizia quando A inizia |
| FF | Finish-to-Finish | B finisce quando A finisce |
| SF | Start-to-Finish | B 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
- Mappa tutte le attività con durate e dipendenze
- Calcola earliest start e earliest finish di ogni attività (forward pass)
- Calcola latest start e latest finish (backward pass)
- 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
| Strumento | Quando |
|---|---|
| MS Project | Standard "classico", progetti grandi, dipendenze complesse |
| Smartsheet / Asana / ClickUp / Monday | Team mid-size, integrazione con task management |
| GanttProject / TeamGantt | Alternative leggere |
| Excel / Google Sheets | Progetti piccoli, prototipazione, full control |
| Mermaid / PlantUML (in markdown) | Documentazione tecnica, versionamento git |
Esempio in Mermaid
Gantt vs Kanban
| Gantt | Kanban | |
|---|---|---|
| Vista | Temporale (asse X = tempo) | Flusso (colonne = stati) |
| Domanda chiave | Quando finisce? | Cosa sta succedendo ora? |
| Adatto a | Progetti finiti con deadline | Flussi continui |
| Scope | Fisso, pianificato | Evolutivo, pull-based |
| Dipendenze | Esplicite | Implicite o gestite con tag |
Spesso si combinano: Gantt per la vista di alto livello, Kanban/Scrum board per l'esecuzione settimanale.
Collegamenti
- WBS — il Gantt parte dalla WBS
- Task — i task sono le barre del Gantt
- Kanban — vista alternativa per l'esecuzione
- Pianificazione — fase di costruzione
- Monitoraggio e controllo — fase di aggiornamento e analisi