Mirko Gubian, Global Demand Senior Manager di Axiante spiega quale sia l’approccio corretto e i requisiti per creare una app aziendale moderna e di successo.
Cosa serve per creare un’applicazione aziendale di successo? È la domanda che si pone oggi la gran parte delle organizzazioni, chiamata a ripensare e modernizzare il proprio approccio ai processi e agli strumenti per realizzarli. Cosa serve, quindi, per stare sul mercato con applicazioni veloci, facili da utilizzare e capaci di dialogare con i partner esterni? La tecnologia non è l’unico driver per garantire il successo di un’applicazione. Si tratta piuttosto di un prerequisito, ma non è questa a guidarne la realizzazione.
Realizzare una app aziendale di successo
Il vero punto di partenza è rappresentato dai processi e l’elemento chiave è costituito dalle persone che li realizzano. A tutti sarà capitato di iniziare le prime fasi di analisi di un processo partendo dal cosiddetto as is, ovvero dalla situazione attuale. A livello teorico, è un percorso semplice. Si mappano i processi in atto, fotografando l’oggi, e se ne disegnano di nuovi sulla base delle esigenze avvertite dell’azienda per costruire l’applicazione che li supporterà. Questa prima mappatura generalmente evidenzia subito delle distorsioni. I diversi attori del processo hanno spesso una visione differente di ciò che avviene e delle persone che sono coinvolte nelle varie fasi.
Quali problemi si presentano
Questi problemi non nascono dall’utilizzo di una determinata tecnologia o da particolari competenze tecniche. Spesso sono il frutto di un’impostazione sbagliata. Ci si concentra solo sugli aspetti tecnologici, senza coinvolgere le persone che dovranno usare quelle tecnologie. Ma come possiamo, allora, essere certi che le soluzioni disegnate soddisfano i bisogni del processo e delle persone che vi prendono parte?
Mettere le persone al centro: il design thinking
La qualità di una soluzione digitale non dipende unicamente dalla tecnologia su cui è basata, ma soprattutto da quanto sia utile per gli utenti. È il motivo che ha reso il design thinking essenziale nello sviluppo delle applicazioni. Si tratta di un processo capace di ampliare le prospettive e aiutare a ideare soluzioni più efficienti, sulla base delle necessità specifiche delle persone coinvolte. Grazie a questa metodologia, le persone sono incoraggiate a esplorare alternative e opzioni nuove. Analizzando il contesto e allargando la visione a tutti gli attori coinvolti nel processo. Adottare le tecniche del design thinking senza la supervisione di un consulente esperto della metodologia può comportare, però, anche dei rischi. Il pericolo è quello di rimanere bloccati all’interno della cosiddetta ‘fase divergente’, quella cioè in cui si esplorano soluzioni nuove e alternative, senza mai venire a capo di una decisione.
Convergere verso la soluzione ottimale: l’agile management
Le tecniche di design thinking possono essere adattate alla realizzazione di qualsiasi processo, ma il loro impiego nel mondo delle applicazioni va invece affiancato a una corretta metodologia di gestione dei progetti e della pipeline di sviluppo dell’applicazione stessa. Negli ultimi anni l’agile management si è ampiamente diffuso nell’ambito dello sviluppo software.
App aziendale di successo, partire bene
Questo grazie agli indubbi vantaggi che porta alla realizzazione di una soluzione in linea con le aspettative e le esigenze dell’organizzazione. I team lavorano in modo più performante, potenziando la collaborazione e aumentando la qualità. Inoltre, i principi agile incrementano la flessibilità e la suddivisione del lavoro in più fasi. Ciò si traduce in una maggiore pianificazione, una migliore esecuzione e una crescente visibilità sull’intero processo, riducendo i tempi di sviluppo. Per chi conosce sia le tecniche di design thinking sia le metodologie agile, appare quindi naturale integrarle con l’obiettivo di creare soluzioni migliori. Resta però una variabile: come arrivare velocemente al prototipo della soluzione per rendere tangibili i processi?
I fattori tecnologici abilitanti: DevOps & Cloud Native
DevOps, microservizi, container sono termini ormai abusati. Spesso sembrano avere un significato solo per architetti software e sviluppatori. In realtà, si tratta di strumenti abilitanti. In fase di design e di sviluppo consentono di creare intere infrastrutture, anche solo temporanee, a partire dal codice. Permettendo la prototipazione di soluzioni complesse, abbattendo le barriere economiche e garantendo un livello di flessibilità elevatissimo. Inoltre, la corretta gestione della pipe di rilascio consente di avere on line sempre l’ultima versione testata e funzionante.
Ora che abbiamo stabilito quali sono i tre ingredienti – funzionale, gestionale e tecnologico – necessari alla creazione di un’applicazione di successo, resta da chiedersi quale sia la migliore ricetta per metterli insieme.
Governare l’intero ciclo: un approccio a tre livelli per lo sviluppo dell’applicazione
Lavorando da anni al fianco di colleghi e clienti in team multidisciplinari, in Axiante abbiamo perfezionato un approccio che definiamo a tre livelli. Immaginiamo di avere tre stream di progetto. Stream e non team perché è possibile, anzi auspicabile, che le stesse persone appartengano a stream differenti. Di questi tre, uno sarà dedicato all’analisi, un altro alla prototipazione e il terzo alla realizzazione della soluzione.
Solo la tecnologia non basta per un’applicazione aziendale di successo
Il compito di ogni stream è alimentare il successivo, non in una logica waterfall, ma in un’ottica di sprint. Uno sprint di analisi ne alimenta uno di prototipazione che, a sua volta, alimenta quello di solution delivery. Al termine di ogni sprint si alimenta quello del team successivo. Adottando questo approccio il secondo e il terzo stream saranno “in ritardo” rispetto al primo. Ma, in caso di progetti a media o alta complessità la scelta di approcciare l’integrazione in parallelo produce una pipeline che può accorciare il time to delivery fino al 50%.
Forewords: e la tecnologia?
Lo abbiamo detto all’inizio: la tecnologia è un prerequisito. Ciò non la rende meno importante e neppure ne facilita l’implementazione dal punto di vista tecnico. È un prerequisito nel senso che, per far sì che un team tecnologico resti aggiornato, è sempre necessario mantenere elevato il livello di formazione e di confronto tra il team tecnico e il team funzionale. Tra i due ruoli non dev’esserci una scollatura, ma entrambi devono percepirsi come complementari senza che l’uno sia considerato preminente sull’altro. L’obiettivo finale, d’altronde, è comune: l’ottenimento del miglior risultato possibile.