Tra gli obiettivi del Piano Nazionale di Ripresa e Resilienza (PNRR) c’è sicuramente quello di favorire la transizione digitale e l’innovazione del sistema produttivo al fine di incentivare gli investimenti in tecnologie, ricerca e innovazione. È evidente come questo piano possa risultare una notevole opportunità per tutte le aziende che vogliono fare il salto di qualità e ottimizzare i processi aziendali. Ma come farlo quando le tecnologie di base sono vecchie e obsolete? È possibile predisporre una modernizzazione dei progetti affidandosi a esperti della progettazione software in grado di evolvere prodotti e software preesistenti per renderli efficienti, scalabili e aggiornati con le nuove potenzialità tecnologiche.
“L’importanza di una corretta progettazione è fondamentale per gli edifici così come per i software. Quando però gli edifici sono vecchi, abbandonati e con impalcature traballanti la sfida non è semplice. In questi casi, infatti, è necessario dare una forma ai software obsoleti, cercando di gettare le basi di una nuova struttura che sia più moderna e che sappia adattarsi alle nuove tecnologie”, afferma Claudio Sorbi, Socio e Sales Manager di Giuneco. “In Giuneco, la modalità di lavoro che applichiamo è attenta alle esigenze del cliente e dell’utente finale, ma anche a un mercato rapido e in continuo cambiamento come lo è quello attuale”.
Ecco i consigli che secondo Giuneco, l’innovation hub fiorentina, sono da tenere a mente nella modernizzazione dei progetti:
- Predisporre fasi di analisi e workshop: Ogni idea ha il potenziale per essere una grande idea, occorre però validarla e plasmarla tramite una fase di workshop e di analisi, così da ottimizzarla al meglio. Questo momento di brainstorming, condiviso con il cliente e con esperti interni all’azienda, dai responsabili del progetto agli sviluppatori che avranno poi modo di lavorare sul prodotto, è importante perché fa emergere i desideri e i vincoli del progetto.
- Definire le prime funzionalità essenziali: anche chiamato MVP, “minimum viable pack product”, si tratta del pacchetto minimo di funzionalità da implementare al progetto, utili per dare valore e velocizzare il processo di costruzione. Definite e concordate le prime funzionalità, queste sono le basi che serviranno per la creazione di un prototipo.
- Creare un prototipo: la creazione di un prototipo è essenziale per mostrare al cliente come il progetto appare a livello visivo. È in questa fase che si inizia a delineare la struttura e le caratteristiche del software: l’utilizzo dei colori, il font dei testi e tutte quelle funzionalità dedicate all’accessibilità nei confronti degli utenti. Questa fase è fondamentale perché permette al cliente di verificare in modo diretto la realizzazione del progetto, ma anche la più complicata perché è in questa sede che le aspettative possono scontrarsi con la realtà e venire segnalate le eventuali prime modifiche da implementare a livello grafico.
- Organizzare roadmap: definire una roadmap chiara e condivisa con tutti gli operatori che prendono parte alla modernizzazione dei progetti è necessario per tenere le fila del piano di sviluppo. È possibile inserire questo step in qualsiasi momento della creazione di un progetto, in modo tale che le funzionalità emerse nella fase precedente vengano suddivise per macro funzionalità e ordinate a seconda delle priorità.
- Prevedere l’automazione dei processi: durante la creazione di un progetto, il rapporto umano con il cliente è fondamentale per riuscire a comprendere e far emergere la sua storia e ciò che si desidera raccontare. Altrettanto importante è seguire uno standard votato all’automatizzazione di ogni processo, dalla fase di configurazione a quella di pubblicazione, e all’utilizzo di testing automatici per garantire manutenibilità ed evoluzione. Questo garantisce un beneficio sia in termini di tempo che economico, riducendo problemi legati a bug ed errori umani.
La differenza e il vantaggio di dare nuova vita a un progetto seguendo questi semplici passi è la possibilità di monitorare ogni evoluzione, avendo modo di confrontarsi in ogni fase con il cliente e gli sviluppatori interni. Inoltre, nel corso di una fase di progettazione organizzata seguendo questi step è più semplice intervenire con rapidità in caso di bug, problemi legati al sistema o modifiche richieste dal cliente, invece che a prodotto finito, quando il processo di modifica sarebbe molto più lento e difficoltoso.