Simyl
simylflow
Home del Corso
Modulo 1: Fondamenti Agile
Lezione 1 di 3
10 min

Perché Esiste l'Agile

La storia e il contesto che hanno dato vita allo sviluppo software agile.

1Il Problema del Waterfall

Prima dell'agile, la maggior parte del software veniva costruita usando il metodo "waterfall": raccogliere tutti i requisiti in anticipo, progettare tutto, costruire tutto, poi testare alla fine. Questo funzionava per ponti ed edifici, ma il software è diverso.

Il problema? Nel momento in cui consegnavi, i requisiti erano cambiati. Gli utenti non sapevano cosa volevano finché non lo vedevano. E trovare bug alla fine significava costose rilavorazioni.

Le statistiche erano brutali:

  • Il 64% delle funzionalità veniva usato raramente o mai
  • Solo il 32% dei progetti aveva successo (nei tempi, nel budget, con le funzionalità richieste)
  • Il progetto medio superava i tempi del 222%

L'Intuizione Fondamentale

Lo sviluppo software è più simile alla ricerca scientifica che alla costruzione. Impari mentre procedi, e il piano deve adattarsi alle nuove conoscenze.

2La Risposta Agile

Nel 2001, diciassette sviluppatori software si incontrarono in una località sciistica nello Utah. Provenivano da background diversi—Extreme Programming, Scrum, Crystal e altri—ma condividevano una frustrazione comune verso i processi pesanti.

Ciò che crearono non era un nuovo processo. Era un insieme di valori e principi che potevano guidare qualsiasi processo. Il Manifesto Agile era intenzionalmente breve: quattro valori e dodici principi.

L'intuizione chiave: abbracciare il cambiamento come vantaggio competitivo, non combatterlo.

3Empirismo: L'Idea Centrale

L'agile si basa sull'empirismo—l'idea che la conoscenza derivi dall'esperienza e dal prendere decisioni basate su ciò che viene osservato.

Tre pilastri sostengono l'empirismo:

Trasparenza — Tutti possono vedere cosa sta realmente accadendo. Nessuno stato nascosto, nessuna sorpresa.

Ispezione — Esaminare regolarmente il lavoro e come il team sta lavorando insieme.

Adattamento — Quando qualcosa non funziona, cambialo. Non aspettare il permesso.

Questo è fondamentalmente diverso dalla gestione progettuale tradizionale, che presume di poter pianificare tutto in anticipo se ci si impegna abbastanza.

Punti Chiave
  • I metodi tradizionali fallivano perché assumevano prevedibilità in un dominio imprevedibile
  • L'agile abbraccia l'incertezza invece di combatterla
  • L'empirismo (trasparenza, ispezione, adattamento) è il fondamento di tutti i metodi agile
  • Il Manifesto fornisce valori, non regole—il contesto conta

Esercizi Pratici