Comprendere il modello di sviluppo rapido delle applicazioni
Pubblicato: 2022-09-11Lo sviluppo rapido di applicazioni, o RAD, è un metodo di sviluppo software che enfatizza la fase di pianificazione e prototipo per ottenere un rapido feedback dagli utenti. Rispetto ai metodi più convenzionali di sviluppo del software, che includono la progettazione preliminare e la successiva implementazione, RAD sottolinea una maggiore flessibilità. I continui cicli di input dell'utente e rapidi miglioramenti incrementali aiutano a ottenere risultati migliori alla fine della giornata.
Negli anni '90, James Martin ha definito lo sviluppo rapido di applicazioni come un'alternativa alle procedure a cascata convenzionali. Il metodo tradizionale a cascata è un'ottima soluzione per l'industria edile e molti altri campi in cui le modifiche all'ambito del lavoro sono rare e costose. È abbastanza improbabile che tu passi alla costruzione di un traghetto a metà della costruzione di un ponte se avessi già iniziato la costruzione del ponte.
Il progresso del software consente un maggiore grado di adattabilità. Una gamma più ampia di approcci può essere utilizzata per affrontare la stessa difficoltà aziendale e le modifiche possono essere apportate a un costo inferiore. Di conseguenza, le aziende sacrificano una progettazione e una pianificazione precise a favore di un processo iterativo che utilizza tentativi ed errori. Inoltre, quando i consumatori osservano un miglioramento, è più probabile che facciano critiche costruttive.
Lo sviluppo rapido di applicazioni è l'approccio giusto per il mio progetto?
Come abbiamo spiegato prima, RAD non opera in contesti rigidi. Non si applica nelle seguenti situazioni:
- È necessario avere una conoscenza preliminare sia dei vincoli finanziari che dei tempi.
- O non hai un accesso coerente agli utenti o non sono motivati a dedicare tempo e sforzi al progetto.
- Per la sua portata, il progetto prevede la partecipazione di un numero considerevole di persone, spesso note come stakeholder.
Queste restrizioni si applicano spesso a grandi aziende e organizzazioni gestite dal governo. D'altra parte, alcuni aspetti del rapido processo di sviluppo dell'applicazione si applicano anche in queste situazioni. Ad esempio, i progetti con un prezzo fisso potrebbero stanziare fondi per la fase di prototipo e un certo numero di revisioni. Se hai a bordo gli utenti appropriati, potresti essere in grado di limitare l'ambito del prototipo alle parti più poco chiare.
D'altra parte, un framework di sviluppo rapido di applicazioni funziona molto bene per organizzazioni di piccole e medie dimensioni e progetti dipartimentali. Questo finché gli utenti aziendali possiedono il denaro e hanno la spinta per ottenere il risultato. Questa è un'ottima illustrazione delle numerose app Line-of-Business (LOB). Una frase generica si riferisce a programmi software che automatizzano e gestiscono in modo più efficace determinati aspetti di un'azienda.
Allo stesso modo, RAD è un approccio efficace durante lo sviluppo di siti Web. Si tratta spesso di progetti modesti con un gruppo limitato di stakeholder, ma è essenziale includerli fin dall'inizio poiché il design è un argomento molto controverso e tutti avranno qualcosa da dire al riguardo!
Fasi e metodologia
La fase di pianificazione, dispendiosa in termini di tempo, viene sostituita dalla fase di prototipazione meno costosa nell'ambito dell'approccio di sviluppo rapido delle applicazioni. Nello specifico, il modello RAD suggerisce di separare il processo nelle seguenti quattro fasi:
Pianificazione dei requisiti
Gli utenti e il team di progetto lavoreranno insieme durante questa fase per determinare gli obiettivi del sistema futuro. Il successo dell'azienda è la preoccupazione principale. Gli standard non sono molto severi. La capacità di modificarli o adattarli mentre il prototipo è ancora in fase di sviluppo è essenziale.
Progettazione dell'utente
La tecnica di sviluppo rapido dell'applicazione si differenzia dal tradizionale modello a cascata enfatizzando il design dell'utente come componente fondamentale del processo. In questa fase, la prima cosa che fanno gli sviluppatori è lavorare su un prototipo. L'obiettivo è mostrare qualcosa al cliente in modo rapido e conveniente, qualunque cosa debba essere dimostrata. Non è un problema se il prototipo può soddisfare solo alcuni dei criteri o può gestire solo un sottoinsieme delle possibili situazioni. È consentito prendere scorciatoie quando si tratta di codifica.
Dopo che il prototipo è stato completato, viene mostrato agli utenti per un feedback. Il team raccoglie più input possibile e, in questa fase, i criteri essenziali sono suscettibili di modifiche inevitabili. Qualcosa che avesse un senso una volta trascritto potrebbe assumere un aspetto diverso quando viene messo in pratica. Quando gli sviluppatori hanno questo input, tornano al processo di prototipo e continuano a farlo fino a quando i consumatori non sono soddisfatti del risultato finale.
Costruzione
A questo punto, siamo pienamente consapevoli dei requisiti che devono essere soddisfatti. È ora di completare lo sviluppo e il test del sistema per prepararlo all'uso in produzione. Non ci saranno più scorciatoie; l'enfasi sarà invece posta su qualità, scalabilità, manutenibilità e altri fattori. Tuttavia, anche a questo punto in ritardo, i consumatori continuano a interagire offrendo commenti quando vengono introdotte nuove funzionalità. A questo punto del processo iterativo di sviluppo di un'applicazione rapida, c'è ancora spazio per ulteriori perfezionamenti.
A seconda dello strumento che finiamo per utilizzare e degli altri fattori coinvolti, il lavoro svolto fino a questo punto nel processo di prototipazione potrebbe non essere nemmeno utilizzabile.
Taglio
Questo è l'ultimo passaggio, che include la formazione degli utenti, i test di accettabilità e l'implementazione del nuovo sistema.
Sviluppo rapido di applicazioni vs. Agile
Il nome "RAD" è stato coniato dieci anni prima della metodologia di sviluppo Agile e, a causa della sua metodologia iterativa, RAD viene talvolta definito un "genitore" di Agile. D'altra parte, questa non è la situazione. Agile è un punto di vista filosofico che comprende molto più del semplice sviluppo di software, in contrasto con RAD, che è una tecnica di sviluppo prescrittiva.
È lecito ritenere che il Rapid Application Development (RAD) sia un membro della stessa famiglia di altri approcci di sviluppo software agile, come Scrum, Kanban e molti altri.
Vantaggi e svantaggi dello sviluppo rapido di applicazioni
L'attenzione si sposta dalla prevedibilità e verso l'adattabilità a causa della RAD, che ha implicazioni sia positive che negative.
Vantaggi :
Spese e pericoli ridotti
Gli utenti possono visualizzare i risultati del metodo e offrire commenti solo dopo che il progetto è stato consegnato loro. Gli inevitabili aggiustamenti che devono essere fatti a questo punto sono sia di tempo che di denaro. La possibilità di dover riscrivere metà della soluzione dopo che è stata implementata è notevolmente ridotta quando si utilizza il processo di sviluppo rapido dell'applicazione.

Superiore in qualità
Il programma finale si applicherà probabilmente meglio alle attività degli utenti se questi partecipano attivamente al processo di prototipazione. Inoltre, indipendentemente dal risultato, sarà all'altezza delle loro aspettative.
Svantaggi:
Design scadente
Quando persegui particolari esigenze aziendali e prendi scorciatoie durante la fase di prototipo, potresti trovarti ad andare troppo oltre. In tal modo, risultando in un design scadente e una soluzione generale.
Incapacità di scalare in modo efficace
Il paradigma RAD presuppone che il team e gli utenti finali collaborino in stretta collaborazione. Il processo del prototipo si muoverà sempre a un ritmo glaciale una volta che il team è troppo grande o c'è un numero eccessivo di parti interessate. Inoltre, diventa difficile spiegare a tutte le parti i frequenti cambiamenti nell'ambito del progetto. Pertanto, si ritiene che RAD funzioni meglio per gruppi di medie o piccole dimensioni.
Impegno da parte dei clienti sul back-end
La tecnica di sviluppo rapido dell'applicazione prevede una notevole quantità di input dell'utente per tutta la durata del progetto. Secondo i rapporti, questo è particolarmente vero per i professionisti più qualificati del settore, che sono anche le persone più impegnate dell'organizzazione.
Incapacità di esercitare il controllo
Prima che la fase di prototipo del progetto sia conclusa, non è possibile prevedere con precisione l'ambito, il budget o la tempistica del progetto per ragioni evidenti. Tuttavia, a seconda dei risultati del processo di pianificazione dei requisiti, sarai comunque in grado di stabilire alcune aspettative generali.
Strumenti per lo sviluppo rapido di applicazioni (RAD)
L'applicazione dell'approccio RAD si basa principalmente sulla prototipazione rapida e su una stretta cooperazione. Quindi, selezionare gli strumenti appropriati per assistere questi sforzi è della massima importanza. Per nostra fortuna, c'è una vasta selezione tra cui scegliere.
Progettazione e Prototipazione
Tecnologie di sviluppo rapido di applicazioni come Figma e InVision consentono ai designer visivi e ai professionisti dell'esperienza utente di creare rapidamente insieme e condividere prototipi cliccabili con gli utenti finali. Questi hanno un design completo in modo che gli sviluppatori possano raccogliere l'input degli utenti. Non appena una delle iterazioni del prototipo riceve il via libera, possono esportare il progetto in formati per il riutilizzo da parte degli sviluppatori front-end. Segnando così il suo passaggio alla fase di costruzione. Sebbene la creazione di siti Web sia di gran lunga l'uso più comune di questi strumenti, la prototipazione dell'esperienza utente di app o portali per utenti finali più complicati è un altro utilizzo.
Gli analisti aziendali utilizzano altre applicazioni, come Balsamiq, molto più spesso. Si stanno concentrando sulla creazione di un prototipo dell'esperienza utente utilizzando wireframe. Quindi, implementano il design finale in un secondo momento. Queste sono opzioni eccellenti per la modellazione preliminare di sistemi più estesi che includono complesse interazioni con l'utente.
Sviluppo
La fase di sviluppo della creazione di un'applicazione richiede spesso la maggior parte del tempo, è la più costosa ed è piena delle incertezze più significative. Pertanto, le attuali piattaforme per lo sviluppo rapido di applicazioni integrano architetture testate. Si tratta di componenti pronti che implementano funzionalità standard e strumenti che semplificano lo sviluppo rapido. Ognuno di essi ti consente di fornire risultati più rapidamente. Che tu sia nella fase di prototipazione del progetto o più avanti nella fase di costruzione.
Società di consulenza come Gartner e Forrester sviluppano costantemente una nuova nomenclatura per differenziare ciascuna di queste piattaforme. Spesso includono quanto segue: piattaforme applicative low-code/no-code (LCAP), piattaforme applicative ad alta produttività come servizio (HPAPaaS) e piattaforme di sviluppo multi-esperienza. Questi sono tutti esempi di diversi tipi di piattaforme applicative (MXDP) che puoi utilizzare. Tuttavia, alla fine, ognuno di loro può essere classificato in base al pubblico previsto.
Piattaforme con codice basso/senza codice
Il concetto fondamentale alla base di queste piattaforme è quello di consentire agli utenti aziendali senza esperienza di codifica (noti anche come utenti esperti o sviluppatori cittadini) di fornire rapidamente applicazioni funzionali. Questa semplicità, ovviamente, è accompagnata da una mancanza di flessibilità e varie restrizioni. In un articolo recente, discuto di questi limiti e dei loro rischi. Di conseguenza, il mercato di riferimento per tali piattaforme consiste nella prototipazione o nelle soluzioni elementari.Piattaforme incentrate sugli sviluppatori
Queste piattaforme sfruttano la rapidità e l'entusiasmo dello sviluppo del software. Principalmente tramite la fornitura di API di livello superiore e la produzione di codice. Pertanto, i programmatori non devono più scrivere ripetutamente codice standard e implementare funzionalità standard.
Embarcadero RAD Studio, precedentemente Borland Delphi, è uno dei pionieri del settore. Sono noti per il design dell'interfaccia utente visiva. Borland Delphi era il suo cognome. Era in circolazione prima dell'avvento del Web e può ancora essere utilizzato per app su computer desktop e dispositivi mobili.
Il Web è l'obiettivo principale degli altri framework di sviluppo rapido di applicazioni. Perché è il metodo più comune per comunicare con i consumatori finali ai giorni nostri. Ad esempio, qui a Jmix, ci sforziamo di combinare la facilità e la rapidità dei modelli di dati visivi e la progettazione dell'interfaccia con l'efficacia della tecnologia open source di oggi. Questa strategia aumenta il ritmo con cui crei i prototipi. Tuttavia, ti dà anche la possibilità di sviluppare il tuo prototipo in un'applicazione aziendale completa con una struttura stabile e scalabile.
Conclusione
Uno degli approcci di sviluppo che aderiscono alla mentalità agile è lo sviluppo rapido di applicazioni (RAD). La partecipazione attiva degli utenti finali e lo sviluppo di prototipi rapidi e iterativi utilizzando l'input di tali utenti sono due principi fondamentali della metodologia RAD. Dopo aver assicurato la soddisfazione degli utenti finali, l'attenzione si sposta poi sulla fornitura di software adeguati per la produzione.
La selezione degli strumenti appropriati è essenziale per garantire una prototipazione rapida. Di conseguenza, l'uso efficace della metodologia RAD all'interno di un determinato progetto. La buona notizia è che esiste una vasta gamma di strumenti e piattaforme da utilizzare. Questi soddisfano vari tipi di applicazioni, fasi di un progetto e set di competenze per i team.
Anche se RAD è una vecchia idea, ora sta attraversando una rinascita. Questo è il risultato diretto delle attuali tendenze della trasformazione digitale e della spinta verso un time to market più rapido. Se utilizzato per i tipi appropriati di progetti e con i tipi appropriati di team, l'approccio RAD può ottenere una maggiore soddisfazione del cliente con meno rischi e in tempi più brevi.