La Metodologia di sviluppo software agile, chiamata più semplicemente Metodologia agile (AG), riducono il ciclo di vita del software (accelerando così lo sviluppo) creando in primis una versione prototipo, poi integrano delle funzionalità su una base iterativa rispondendo ai requisiti del cliente effettuando test durante tutto il ciclo di sviluppo. Continua a leggere per scoprire cos’è la Metodologia agile e come funziona.
La Metodologia agile ha origine dall’instabilità dell’ambiente tecnico e dal fatto che spesso il cliente non è capace di definire ogni requisito dall’inizio del progetto. Il termine agile si riferisce all’abilità di adattarsi ai cambiamenti contestuali e alle modifiche che bisogna effettuare durante il processo di sviluppo. Quindi nel 2001 è stato ideato il Manifesto per lo Sviluppo Agile di Software, il quale prevede alcuni punti fondamentali:
Grazie all’aiuto della Metodologia agile, il cliente ha il totale controllo del suo progetto e può ottenere una rapida implementazione del software. Ciò permette quindi il coinvolgimento del cliente dall’inizio alla fine del progetto.
La Metodologia di sviluppo software agile è un framework utilizzato per strutturare, pianificare e controllare il processo di sviluppo di sistemi informatici.
SCRUM
SCRUM è un metodo usato dai team per gestire progetti complessi e puntare alla loro consegna in un breve periodo. Si basa su tre pilastri: “trasparenza”, “ispezione” e “adattamento”. È utilizzato soprattutto nella gestione di progetti di sviluppo per software, ma anche in contesti business.
Kanban
Il principale scopo di Kankan è quello della gestione del completamento delle attività. Consiste in un metodo visivo che permette di conoscere velocemente lo status dei progetti e assegnare efficacemente nuove attività. Per applicarlo è necessario una “task board” (lavagna delle attività) in modo da migliorare il lavoro ed avere un ritmo sostenuto.
XP - Extreme Programming
Il metodo XP (EXtreme Programming) definisce un set di bes practices per lo sviluppo di applicazioni in condizioni ottimali, ponendo il cliente al centro del processo di sviluppo, mantenendo uno stretto rapporto con esso. Il metodo Extreme Programming si basa sui seguenti punti:
Crystal
La metodologia Crystal si focalizza in primis sulle persone e sulle loro interazioni mentre lavorano sullo sviluppo di un progetto software. All’inizio del progetto, i processi e gli strumenti non sono fissi, ma sono decisi basandosi sui requisiti aziendali e alle esigenze tecniche.
DSDM
Il DSDM (Dynamic Software Development Method) è stato sviluppato per colmare alcune lacune del metodo RAD, fornendo un framework che tiene conto dell’intero ciclo di sviluppo. Le principali caratteristiche della metodologia DSDM sono:
UP - Unified Process
Il metodo Unified Process (UP) è un processo di sviluppo iterativo ed incrementale. Il progetto è diviso in fasi molto brevi. Alla fine di ogni fase viene consegnata una nuova versione migliorata.
Questo approccio si basa sullo schema “UML” (Unified Modeling Language), per la descrizione dell’architettura del software (funzionale, applicativa e fisica) e per lo sviluppo dei casi utenti che sottolinea i requisiti e le richieste dei clienti.
RAD - Rapid Application Development
Il Rapid Application Development (o RAD) è stato definito da James Martin all’inizio degli anni Ottanta e consiste in un breve ciclo di sviluppo basato su 3 fasi (requisiti, design e costruzione) con un tempo di consegna ideale tra i 90 e i 120 giorni massimo.
RUP - Rational Unified Process
Il RUP (Rational Unified Process) consiste in un metodo di sviluppo iterativo promosso dalla Rational Software company, acquisita ora da IBM. Il metodo RUP specifica principalmente la composizione del team e le scale temporali, ma anche i diversi modelli di documenti.
Foto: © Unsplash.