Metodologie ALM

Completato

Application Lifecycle Management (ALM) ha una prospettiva ampia che continua fino alla cessazione dell'uso dell'applicazione. Le metodologie per la gestione ALM possono variare, quindi la scelta della metodologia corretta per le proprie esigenze è fondamentale per lo sviluppo. L'obiettivo di questo modulo e di ALM è aiutare a incrementare la produttività degli sviluppatori, migliorare la collaborazione tra i team e fornire trasparenza per gli elementi di lavoro.

Questa unità esplora le metodologie per ALM e aiuta a determinare quale metodologia usare in base alle esigenze di sviluppo del software.

Esistono diversi approcci per ALM. Ogni metodologia presenta vantaggi e svantaggi, a seconda del tipo di progetto e del software usato.

Le tre metodologie comuni sono a cascata, a spirale e Agile.

Metodologia a cascata

Diagramma che mostra le cinque fasi della metodologia a cascata: requisiti, progettazione del sistema, implementazione, integrazione e test e manutenzione.

La metodologia a cascata è un approccio sequenziale. Il progetto è suddiviso in diverse fasi che vanno dalla fase precedente alla fase successiva fino al completamento del progetto. Ogni fase è accuratamente documentata con risultati finali, revisioni e approvazioni chiari. In genere, la fase successiva della metodologia a cascata inizia solo al termine della fase precedente. Ad esempio, se si dovessero implementare app per la finanza e le operazioni, sarebbe necessario definire tutti i requisiti di ogni integrazione prima che gli sviluppatori possano iniziare l'attività.

Si dovrebbe prendere in considerazione la metodologia a cascata quando il progetto è semplice, i requisiti sono noti e ben definiti, l'intero ambito del progetto non è destinato a cambiare e il progetto viene implementato tutto in una volta.

Metodologia Agile

Diagramma ciclico che mostra i sei passaggi della metodologia Agile: pianificazione, progettazione, sviluppo, test, rilascio e feedback.

La metodologia Agile è iterativa e si concentra sul feedback continuo per modificare e aggiungere risultati finali al progetto. A differenza della metodologia a cascata, le fasi Agile possono ricollegarsi l'una all'altra. Ciò significa che diverse fasi possono essere attive contemporaneamente. Ad esempio, se si definiscono i requisiti per un'integrazione, gli sviluppatori possono iniziare a lavorare su quell'integrazione anche se altre integrazioni sono ancora in una fase di raccolta dei requisiti. In genere, i progetti Agile sono suddivisi in sprint con una durata definita (di solito una o due settimane). Questi sprint hanno un elenco di risultati finali da completare durante lo sprint.

L'approccio Agile è utile in mancanza di requisiti chiari a inizio progetto, quando sono previsti requisiti aggiuntivi o i risultati finali sono attesi al termine del ciclo di vita dell'applicazione o nel caso in cui il progetto non debba essere rilasciato tutto in una volta. Agile è ottimo anche per i progetti guidati dall'utente, soprattutto se il team di progetto è completamente dedicato al progetto. Poiché l'approccio Agile coinvolge molti attori che stanno collaborando su diverse parti del progetto contemporaneamente, la comunicazione e il coordinamento del progetto possono essere difficili. Pertanto, è vantaggioso che il team di progetto si trovi nella stessa ubicazione.

A causa della natura iterativa di Agile, questo metodo può essere complesso da monitorare. Spesso si ridefinisce la priorità del lavoro quando i risultati finali superano lo sprint originale o se è necessario aggiungere nuovi sprint in un secondo momento.

Metodologia a spirale

La metodologia a spirale combina aspetti delle metodologie a cascata e Agile. Si concentra sulla valutazione del rischio suddividendo il progetto in segmenti o cicli più piccoli. All'inizio di ogni ciclo si identificano i requisiti e gli obiettivi per realizzare un prototipo e a ogni ciclo si ripropongono gli stessi passaggi. Alla fine di un ciclo si revisiona il prototipo e si pianifica il ciclo successivo.

Diagramma delle quattro aree della metodologia a spirale: determinazione degli obiettivi, individuazione e risoluzione dei rischi, sviluppo e test e pianificazione della successiva iterazione.

La metodologia a spirale funziona bene per i sistemi complessi su larga scala. È necessaria una corretta valutazione del rischio per individuare le aree problematiche. Senza una valutazione del rischio è possibile che si verifichino problemi nel software che potrebbero aumentare i costi.