Il modello di sviluppo rapido delle applicazioni (Rad) è un modello di sviluppo che promuove la prototipazione rapida e il feedback immediato rispetto a cicli di sviluppo e test lunghi e prolungati. Con l'aiuto dei modelli di sviluppo rapido delle applicazioni, i programmatori possono apportare diverse iterazioni e modifiche al software in un breve lasso di tempo, senza dover ricominciare ogni volta dall'inizio. Ciò contribuisce a garantire che il risultato finale sia più incentrato sulla qualità e sia in sintonia con le esigenze degli utenti finali.
Il modello Waterfall era in passato la tecnica più comune per lo sviluppo del software. Il tipico approccio a cascata allo sviluppo del software enfatizza fortemente la pianificazione meticolosa. Tuttavia, fornisce una flessibilità relativamente limitata per l'incorporazione di input da parte dei clienti in varie fasi del processo di sviluppo. Questo porta spesso il cliente a formulare idee, che a loro volta fanno sì che la fase di sviluppo debba essere rifatta dall'inizio. Il modello di sviluppo rapido delle applicazioni corregge tutti i difetti insiti nell'approccio a cascata.
Modello di sviluppo rapido delle applicazioni
All'inizio, Barry Boehm, James Martin e molti altri hanno riconosciuto che le pratiche ingegneristiche convenzionali non erano necessarie per sviluppare il software. Non si trattava di una risorsa solitaria che richiedeva una disposizione predeterminata dei componenti. Può essere modellato in modo da soddisfare al meglio le esigenze dell'utente.
All'inizio, il modello di sviluppo rapido delle applicazioni era organizzato secondo il modello a spirale, in cui uno o più modelli di sviluppo venivano utilizzati per lavorare su un progetto specifico o sullo sviluppo di un software. È diverso dagli altri modelli.
Lo sviluppo rapido di applicazioni (Rad) si è evoluto nel corso del tempo. Il termine Rad sta per rapid application development model (modello di sviluppo rapido di applicazioni), un modello che è in grado di produrre prototipi a un ritmo rapido. Il termine Rad, acronimo di rapid application development model, è un modello in grado di produrre prototipi a una velocità elevata, dopo di che il consumatore offre il proprio contributo ai prototipi, che vengono analizzati e utilizzati per modificarli in modo da soddisfare al meglio le esigenze del consumatore.
Fasi principali dello sviluppo rapido di un'applicazione
Il modello di sviluppo rapido delle applicazioni o Rad può essere suddiviso in quattro parti distinte. Di seguito è riportato uno schema di queste fasi:
Specificare i requisiti necessari
I membri del team di progetto, tra cui il manager, i membri dello staff IT e gli utenti, si riuniscono per definire gli obiettivi, che comprendono la necessità del progetto, la portata del progetto, le potenziali difficoltà che potrebbero svilupparsi, nonché gli obiettivi e le esigenze del progetto. Per mantenere l'adattabilità del progetto, il processo di sviluppo assicura che i confini dei requisiti rimangano ampi.
- Input dell'utente
Durante la seconda fase del processo di sviluppo, i prototipi vengono creati in base alle specifiche fornite da un team che comprende sia gli sviluppatori che gli utenti finali. Ci si aspetta che questa fase avvenga continuamente, durante la quale l'utente utilizzerà il software per offrire un feedback allo sviluppatore. Altri modelli spesso ricevono il contributo degli utenti solo all'inizio e alla fine del ciclo di sviluppo.
- Costruzione
La fase di costruzione e l'input dell'utente lavorano insieme per creare il prodotto finale dello sviluppo dell'applicazioneo modello rad. Durante la fase di costruzione, si tiene conto del feedback fornito dall'utente durante la fase di input dell'utente. La codifica e i test sono gli approcci tipici adottati per raggiungere questo obiettivo. Sia la fase di costruzione che quella di input dell'utente continueranno fino a quando l'utente non sarà soddisfatto dei risultati ottenuti.
- Finalizzazione
Una volta terminata la fase di input dell'utente e il periodo di costruzione, e supponendo che l'utente sia pienamente soddisfatto del prodotto finito, la fase successiva è quella della finalizzazione. Il prodotto riceve gli ultimi ritocchi da attività come il collaudo e la formazione. Dopo che il prodotto è stato consegnato al consumatore, viene sottoposto a test per verificarne la durata e la stabilità.
Quando utilizzare i modelli Rad (Rapid Application Development)
- Quando il tempo a disposizione per la creazione del prodotto è ridotto, ad esempio nell'arco di pochi giorni, si utilizza il modello di sviluppo rapido delle applicazioni (Rad).
- Si utilizza quando è già stata presa una decisione sui deliverable e sui requisiti.
- I modelli di sviluppo rapido di applicazioni (Rad) possono essere utilizzati quando all'utente finale o al cliente viene data la possibilità di partecipare a tutte le fasi del ciclo di vita del prodotto; questo è noto come "coinvolgimento del cliente o dell'utente".
- Può essere utilizzato nel caso in cui il budget sia sufficientemente ampio; sarà possibile assumere dei progettisti. Per sviluppare codici con strumenti automatizzati, che richiedono un budget maggiore, è necessario disporre di un budget più elevato.
Progetti per i quali è meglio utilizzare il modello RAD
Il modello Rad (Rapid Application Development) è particolarmente utile per la progettazione di software guidati da esigenze di interfaccia utente, anche se non è l'unica applicazione per cui può essere utilizzato. Gli strumenti utilizzati per creare interfacce grafiche sono spesso definiti strumenti di sviluppo rapido di applicazioni (Rad).
In cosa si differenzia il RAD?
Il processo di sviluppo del software utilizzando il modello di sviluppo rapido delle applicazioni differisce in modo significativo dagli approcci utilizzati da altri modelli di sviluppo del software. Il tempo dedicato allo sviluppo in un progetto RAD è significativamente inferiore a quello impiegato in progetti che utilizzano altri modelli.
Vantaggi del modello di sviluppo rapido delle applicazioni (Rad)
Di seguito sono elencati i principali vantaggi di questa metodologia di sviluppo delle applicazioni:
- Miglioramento della gestione del rischio.
- Riduzione del tempo dedicato allo sviluppo e aumento della velocità di consegna.
- Miglioramento dell'adattabilità e del grado di flessibilità.
- Input costanti da parte dell'utente, pertinenti e in tempo reale.
- La necessità di codifica manuale sarà minore e i test richiederanno meno tempo.
- I requisiti sono suscettibili di revisione in qualsiasi momento.
- Livelli di produttività più elevati con una forza lavoro ridotta.
- Il tempo che intercorre tra i prototipi e le revisioni è minimo.