Sviluppo software: focalizzarsi sui requisiti conviene

La creazione di applicazioni in linea con il business al tempo del cloud spiegata da Giuseppe Gigante di Microfocus.

Secondo Giuseppe Gigante, Regional Marketing Manager di Micro Focus, per lo sviluppo software i requisiti sono come i mattoni per una casa: coinvolgono le esigenze del business ma anche le specifiche funzionali e non, utili a descrivere le condizioni da rispettare per raggiungere il risultato.

Dato che il business è sempre più orientato al motto “do more with less” la precisione, l'accuratezza e la qualità della gestione dei requisiti diventano fattori essenziali affinché il "buona la prima" diventi lo standard dello sviluppo applicativo.

La definizione dei requisiti, se non correttamente effettuata, può generare una reazione a catena in termini di riscrittura e revisioni ridondanti e, conseguentemente, di ritardi nei progetti.
Questo avviene in particolare quando i progetti sono dati in outsourcing, per limiti negli investimenti o di competenze; una definizione approssimativa e non strutturata dei parametri può tuttavia generare costi eccessivi e ingiustificati anche in presenza di un team di sviluppo interno.

Approccio iterativo
I requisiti tendono ad accogliere le richieste di diversi stakeholder, che possono essere in conflitto tra loro ed implicano richieste impreviste per analisi, documentazione, validazione e gestione del software.
Affinché un progetto It sia di successo è necessario invece adottare un approccio alla definizione dei requisiti di tipo iterativo, per tenere dinamicamente allineato lo sviluppo alle esigenze del business.
Se le aziende non affrontano il gap esistente tra una gestione dei requisiti di business tradizionale e i processi di sviluppo agile, i problemi attuali si moltiplicheranno.
È essenziale che le esigenze del business siano chiare da subito, in modo che sia del tutto trasparente la fase di delivery in risposta alle stesse.
Quindi, la definizione dei requisiti (RD) dovrebbe costituire la spina dorsale di qualsiasi progetto di sviluppo.

Troppo spesso la definizione dei requisiti risulta approssimativa, generando inefficienza e rendendo complessa la comunicazione tra il business e i team delle tecnologie, generando molte incomprensioni. I progetti di sviluppo software risentono spesso di requisiti modificati in corso d'opera e poco documentati.

Garantendo un efficace RD - per raccolta dati, analisi, specifiche e autorizzazioni - le aziende possono invece ridurre correzioni, velocizzare lo sviluppo e fornitura, riducendo sensibilmente tempo e costi.

I requisiti dinamici

I requisiti spesso cambiano le loro priorità a causa di richieste degli stakeholder o di sopraggiunte urgenze.
È vitale che i team di business e It abbiano una visione chiara dei cambiamenti delle priorità e di come queste potrebbero impattare sul software.
Sia che l'azienda utilizzi team di sviluppo interni o fornitori esterni, tracciare e comunicare i cambiamenti nei requisiti dello sviluppo in tempo reale assume una fondamentale importanza.

A questo scopo quindi, i responsabili di progetto dovrebbero coinvolgere fin dal principio i team di business ed It, per supportare il progetto stesso e definire un modello di lavoro finalizzato agli obiettivi condivisi.
È necessario che tutte le funzioni coinvolte e attive - business analyst, sviluppatori, addetti alla qualità, legali e staff manageriale, utenti, staff di supporto - collaborino per creare un set iniziale dei requisiti.

No rework
L'omissione nel comunicare i cambiamenti dei requisiti causa un continuo smantellare e rimescolare, generando lavoro extra e ritardi; sono molti i casi in cui le app non vedono la luce per carenza di performance e aumento delle spese rispetto a quelle previste.
I costi per correggere i difetti crescono esponenzialmente in funzione dei tempi di individuazione delle problematiche.

Una ricerca di Hp evidenzia che un ipotetico dollaro per risolvere un difetto software individuato in fase di requirement si trasforma in 2 o 3 dollari in fase di design, lievitando a 5 o 6 in fase di codice, 18-20 in fase di testing, per arrivare a 100-110 se la correzione avviene dopo il rilascio dell'applicazione.

Più tempo si impiega a rilasciare il software, per rework o simili, più diventa difficile per il business rispondere al cambiamento delle tecnologie e ai bisogni dei clienti; se l'applicazione deve essere venduta in un app store gli standard richiesti possono inoltre cambiare, aumentando il rischio di perdere mercato e quindi fatturato.

Anche se sono molti i fattori che possono impattare sul processo di sviluppo (riduzione di budget imprevista, pressioni dal senior management, turnover del personale, errori nel codice) le modifiche nei requisiti restano il fenomeno più significativo, problematico e costoso.

Una definizione accurata dei requisiti e la loro costante gestione garantisce alle aziende un risparmio di tempo e denaro in fase di progettazione, durante lo sviluppo, il testing e quality check.
I requisiti corretti dovrebbero guidare le attività di sviluppo: sarebbe il modo migliore per fornire software in linea con le esigenze di business, massimizzando la produttività e minimizzando sprechi.

Le moderne tecniche per la definizione dei requisiti, prevedono l'utilizzo di un'ampia gamma di strumenti di visualizzazione, gestibili attraverso una console a strati, allo scopo di monitorare con facilità ed efficienza il ciclo di vita dello sviluppo; questi tool permettono di definire un obiettivo chiaro, che diverrà il fondamento di tutti i test di accettazione da parte degli utenti e assicurerà che le esigenze del business siano validate durante la fase di test.
Dato poi che i tempi di delivery accelerano continuamente, la collaborazione “real-time” fra i diversi reparti coinvolti diventerà essenziale.

Utilizzando questi approcci collaborativi, per Gigante, le aziende dispongono oggi di procedure di definizione dei requisiti complete, in grado di determinare da subito il successo o il fallimento di un progetto software - indipendentemente dalla sua gestione interna o esterna.

CONDIVIDI

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here