Integrazione continua, così il finance accelera lo sviluppo software: un caso pratico di successo

Integrazione continua, così il finance accelera lo sviluppo software: un caso pratico di successo

Pur confermandosi come uno dei settori di business più conservatori in termini di politiche di sviluppo e distribuzione del software, anche il mondo bancario sta progressivamente abbracciando modelli maggiormente evoluti di creazione del codice, su cui sono basati gli applicativi utilizzati quotidianamente. È il caso di un noto gruppo bancario italiano, che ha adottato con il supporto di Sorint.lab la pratica di integrazione continua (CI – continuous integration) in un progetto per la realizzazione di applicazioni di trading proprietarie ad uso interno, indirizzate agli operatori finanziari dell’istituto.   

 

Sviluppare e aggiornare il software più velocemente 

Nella banca questi applicativi di trading sono sviluppati ‘su misura’ per gli utenti, con funzionalità personalizzate che rispecchiano fedelmente il loro abituale modo di lavorare: permettono di gestire efficacemente svariate operazioni finanziarie, come pricing e quotazione di beni, o attività di valutazione del rischio. Sono quindi strumenti strategici per rafforzare l’efficienza delle attività core. L’esigenza, però, era svilupparli da zero, in quanto, all’epoca, nel 2015, questi tool non esistevano ancora. L’altra necessità fondamentale della banca era creare e aggiornare il software più facilmente e velocemente, adottando un ciclo di sviluppo che permettesse di rilasciare il codice anche con elevata frequenza. Così, verso fine 2015, l’istituto ha deciso di attivare un progetto di creazione degli applicativi di trading, con il supporto di vari partner, tra i quali Sorint.lab ha fornito un contributo preponderante, a livello tecnologico e consulenziale.  

 

Pipeline di integrazione continua 

Ad oggi, le piattaforme di trading sviluppate sono in tutto sette, sono classificabili come web app, e hanno funzionalità specializzate per coprire la gestione dei differenti prodotti finanziari commercializzati dalla banca. Dovendo implementare da zero le applicazioni, Sorint.lab, in accordo con il committente, ha fin da subito adottato una strategia di “modern application development” (MAD), indirizzata a sfruttare, caso per caso, le tecnologie più adatte: quindi microservizi, miniservizi o application server, a seconda degli specifici requisiti di business da soddisfare. A livello di metodo di sviluppo, come accennato, per rispondere alle necessità di fornire velocemente ai trader software aggiornato di frequente e con funzionalità sempre nuove, il progetto ha previsto l’implementazione completa di una pipeline di integrazione continua (CI). Attualmente, la pipeline CI amministra in toto l’automazione del ciclo di sviluppo e aggiornamento delle sette piattaforme di trading.  

WP - modernizzare le applicazioni

 

Codice affidabile e di qualità  

Per assicurare ai trader un’agile e rapida fornitura degli applicativi con funzionalità sempre aggiornate, si è rivelato di fondamentale importanza anche garantire la produzione di software affidabile e di elevata qualità, sia a livello sintattico, sia semantico: a tal fine, nella pipeline CI, la toolchain è stata arricchita con l’introduzione di strumenti open source che verificano la qualità del software, e standardizzano il formato del codice. In aggiunta, sono attivi anche test di verifica della presenza di eventuali vulnerabilità nelle librerie utilizzate.  

 

Integrazione continua e ritmi di rilascio accelerati 

La soddisfazione dell’istituto per il progetto è stata confermata dalla crescita nel tempo degli applicativi di trading sviluppati. Gli utenti apprezzano molto la capacità degli strumenti di conformarsi alla loro modalità di operare, ma anche la velocità e l’affidabilità fornita dal software. Soprattutto, l’introduzione di nuove funzionalità nelle differenti piattaforme di trading è resa estremamente rapida dall’esistenza della pipeline di integrazione continua, che, per ciascuna applicazione, rende possibile rilasciare nuovi aggiornamenti all’incirca ogni quindici giorni.  

 

Prospettive di continua innovazione 

Naturalmente, per il fatto stesso di essere improntato sul paradigma DevOps, il progetto è suscettibile di continui miglioramenti. In particolare, una volta consolidata l’implementazione, a livello tecnologico e organizzativo, di una completa pipeline CI/CD, l’obiettivo, in futuro, è rafforzare ulteriormente il controllo degli aspetti di sicurezza del codice, operando la transizione verso il paradigma DevSecOps. In questo modo sarebbe infatti possibile eseguire, fin dalle prime fasi del ciclo di sviluppo, i test di sicurezza che permettono di verificare eventuali criticità e vulnerabilità del codice.