ICT services, Supply Chain, Emergency Management – Scopri di più sul blog di Beta 80

Scrum framework: i vantaggi per l'app modernization

Scritto da ICT SERVICES | 21 ottobre 2020

Lo scrum framework è una metodologia agile che permette di snellire e accelerare la pipeline dei progetti e può rivelarsi particolarmente utile nelle attività di app modernization.

 

Cosa si intende per app modernization

La modernizzazione delle applicazioni è un’operazione sempre più necessaria per garantire alle aziende servizi digitali performanti, in grado di restituire i giusti livelli di competitività.

Il cloud, infatti, si rivela attualmente la scelta architetturale vincente perché permette di recuperare flessibilità e ridurre gli sprechi (si paga a consumo), fornendo tecnologie all’avanguardia, maggiore sicurezza e performance scalabili all’occorrenza. Tuttavia i software tradizionali, progettati per girare in ambienti It con struttura client-server, possono mostrare limitazioni anche importanti se inseriti nei moderni ecosistemi ibridi, aperti e distribuiti su più nuvole.

Come uscire dall’impasse? In alcuni casi, il metodo Lift & Shift (ovvero la semplice migrazione degli applicativi dai datacenter locali al cloud, senza modifiche) può non funzionare. Per garantire l’efficacia dei programmi nei nuovi ambienti si rendono, quindi, necessari interventi meno o più profondi, con riscrittura minima (replatforming) o massiccia (refactoring) del codice. L’applicazione può addirittura essere riprogettata nella sua stessa struttura, adottando tecniche di sviluppo più moderne e in particolare con il ricorso a microservizi e container (rebuilding). Ovviamente, si può seguire anche l’opzione del replacement, andando a sostituire la vecchia applicazione con un’altra analoga, già progettata in chiave cloud-native.

 

Come funziona lo scrum framework

Nei casi di replatforming e refactoring, ma soprattutto quando la scelta ricade sul rebuilding, lo scrum framework può servire da elemento facilitatore. Si tratta, infatti, di un approccio alla realizzazione di progetti complessi che permette di raggiungere l’obiettivo finale procedendo step-by-step.

Il processo di development viene suddiviso in sprint, ovvero cicli di attività brevi (2-4 settimane), iterativi (seguono una stessa sequenza predefinita) e finalizzati allo sviluppo di un incremento (una miglioria come la correzione di un baco o l’aggiunta di una nuova funzionalità). Ogni modifica viene rilasciata e testata direttamente dall’esperienza degli utenti, così da identificare subito eventuali errori, prima di passare allo sprint successivo.

Lo scrum framework permette quindi, attraverso la raccolta dei feedback e la stretta collaborazione tra developers e utilizzatori, di accelerare il time-to-market delle applicazioni (sia in caso di sviluppo ex-novo sia per l’apporto di modifiche), ottenendo un codice di qualità superiore e mitigando il rischio di fallimento.

 

Lo scrum framework per le applicazioni moderne

I vantaggi consentiti dallo scrum framework si prestano, quindi, agli scenari di application modernization, dove diventa necessario migrare rapidamente i software sulla nuvola, verificando che tutte le funzionalità performino al meglio e siano allineate alle richieste degli utenti.

Lo scrum framework si rivela particolarmente efficace quando si opta per una riscrittura delle applicazioni in ottica cloud-native. L’architettura a microservizi, infatti, permette di progettare le applicazioni come insieme di unità funzionali indipendenti, che possono essere modificate singolarmente senza che, durante l’operazione, venga compromesso il funzionamento complessivo del software.

Ecco, quindi, che si possono circoscrivere più facilmente le aree di intervento e organizzare le attività di sviluppo in sprint incrementali, ciascuno indirizzato a una precisa componente dell’applicazione. I developers possono, quindi, operare in sicurezza, garantendo la continuità operativa del software, e gli utenti hanno modo di fornire riscontro immediato sulla bontà e sull’utilità delle modifiche effettuate, contribuendo a migliorare la qualità dell’applicazione.