Il Manifesto Agile sono state le dichiarazioni pubbliche rese l’11 febbraio 2001 da 17 dei più visionari ingegneri del software sul tema del processo di sviluppo del software agile. Al momento di questo incontro, lo sviluppo software agile era un concetto nuovo, con molte opzioni tra cui scegliere per gli sviluppatori. Il Manifesto Agile è stato uno sforzo per riunire tutte le menti brillanti dell’elaborazione agile in un unico luogo, nel tentativo di concordare i principi e le idee di base di tutti i processi agili in futuro.
Alcuni buoni esempi del processo di sviluppo agile includono la programmazione estrema, la mischia, lo sviluppo di software adattivo e il metodo di sviluppo dei sistemi dinamici (DSDM). Ciascuno di questi processi tenta di creare metodi migliori per l’implementazione del software per computer. Il miglioramento chiave di tutti questi metodi è che lo sviluppo del software dovrebbe essere prodotto in modo da supportare i cambiamenti nei requisiti aziendali e non richiedere processi che chiudono il ciclo di feedback al cliente.
Prima della creazione del processo di sviluppo agile, tutto lo sviluppo del software veniva completato con un metodo a cascata. Il termine “cascata” viene utilizzato per definire il processo del modello di lavoro rettilineo che richiede che tutti i requisiti in anticipo siano completati e definiti con un finale che includerà tutte le funzionalità definite. Proprio come una cascata, c’è un inizio e una fine chiari per lo sviluppo di tutti i sistemi. Questo processo di sviluppo non consente la modifica dei requisiti prima del completamento di un’intera applicazione software.
Un incontro pubblico si è tenuto in una baita a Snowbird, nello Utah, sotto il coordinamento di Robert Martin. L’elenco dei partecipanti include Kent Beck, Dave Tomas, Mike Beedle, Jeff Sutherland, Arie van Bennekum, Ken Schwaber, Alistiar Cockburn, Steve Mellor, Ward Cunningham, Robert C. Martin, Martin Fowler, Brian Marick, James Grenning, John Kern, Jim Highsmith, Ron Jeffries e Andrew Hunt. Sebbene tutti questi individui fossero sostenitori di metodologie di sviluppo agili e leggere, ognuno aveva le proprie preferenze su come implementare la metodologia.
Quattro valori chiave sono stati definiti e condivisi dalle parti firmatarie del Manifesto Agile. Il primo è stato quello di valorizzare gli individui e le interazioni rispetto a strumenti e processi. In secondo luogo, il software che funzionava veniva valutato su documenti completi. La collaborazione con il cliente è stata considerata più importante delle negoziazioni di vincoli. Infine, il gruppo si è impegnato a dare valore alla risposta ai cambiamenti nel seguire un piano.
L’essenza di questo team e del Manifesto Agile era creare un processo di ambiente di sviluppo che comprendesse l’importanza del cliente. Questo si poteva fare, credevano, collaborando apertamente e continuamente con il cliente. La comunicazione aiuterebbe a garantire che il lavoro svolto produca effettivamente valore aziendale e consenta il feedback del cliente.
Oltre ai valori chiave, il Manifesto Agile include anche diversi principi chiave che hanno rafforzato la convinzione che il coinvolgimento del cliente precoce e spesso fornisca migliori applicazioni software complessive. Creando un processo software iterativo, il cliente ha la possibilità di modificare il prodotto finale consentendo modifiche ai requisiti. La percezione dell’applicazione è migliore perché un sistema funzionante è una misura primaria dei progressi compiuti sul sistema.