Agile manifesto
Nel febbraio 2001, in una stazione sciistica in Utah, si sono riuniti 17 programmatori software di punta, fra cui i creatori di Wiki, Scrum, XP (extreme programming) e RAD (rapid application development), ed hanno stilato il Manifesto for Agile Software Development, a cui è seguita la fondazione dell’Agile Alliance.
Ecco il testo:
“Stiamo scoprendo modi migliori di creare software, sviluppandolo e aiutando gli altri a fare lo stesso. Grazie a questa attività siamo arrivati a considerare importanti:
- individui e interazioni più che processi e strumenti,
- software funzionante più che documentazione esaustiva,
- collaborazione col cliente più che negoziazione dei contratti,
- rispondere al cambiamento più che seguire un piano.
Ovvero, fermo restando il valore delle voci a destra, consideriamo più importanti le voci a sinistra.”
Seguono le 17 firme.
I quattro valori della programmazione agile sono diventati il fondamento dell’agile project management e della gestione agile dell’impresa. Ad essi sono stati aggiunti 12 principi:
- La nostra massima priorità è soddisfare il cliente rilasciando software di valore, fin da subito e in maniera continua.
- Accogliamo i cambiamenti nei requisiti, anche a stadi avanzati dello sviluppo. I processi agili sfruttano il cambiamento a favore del vantaggio competitivo del cliente.
- Consegniamo frequentemente software funzionante, con cadenza variabile da un paio di settimane a un paio di mesi, preferendo i periodi brevi.
- Committenti e sviluppatori devono lavorare insieme quotidianamente per tutta la durata del progetto.
- Fondiamo i progetti su individui motivati. Diamo loro l’ambiente e il supporto di cui hanno bisogno e confidiamo nella loro capacità di portare il lavoro a termine.
- Una conversazione faccia a faccia è il modo più efficiente e più efficace per comunicare con il team ed all’interno del team.
- Il software funzionante è il principale metro di misura di progresso.
- I processi agili promuovono uno sviluppo sostenibile. Gli sponsor, gli sviluppatori e gli utenti dovrebbero essere in grado di mantenere indefinitamente un ritmo costante.
- La continua attenzione all’eccellenza tecnica e alla buona progettazione esaltano l’agilità.
- La semplicità – l’arte di massimizzare la quantità di lavoro non svolto – è essenziale.
- Le architetture, i requisiti e la progettazione migliori emergono da team che si auto-organizzano.
- A intervalli regolari il team riflette su come diventare più efficace, dopodiché regola e adatta il proprio comportamento di conseguenza.