LA STORIA IN BREVE

Un’azienda di servizi richiede un assessment della qualità del codice per rafforzare e far evolvere la sua principale app mobile

Il cliente ci richiesto un’analisi della loro principale app mobile (Android), funzionante e ben strutturata, ma non più correttamente evoluta e mantenuta negli ultimi anni. Attraverso un Mobile App Quality Check abbiamo attivato un assessment a 360° sulla qualità del codice per valutarne solidità e sicurezza e identificare le criticità presenti.

Il valore di questo progetto è stato

  • fornire al cliente la piena consapevolezza dello stato del suo prodotto;
  • fare ordine di tutti gli elementi e interventi sedimentati;
  • far emergere criticità o vulnerabilità latenti a fronte di un prodotto di per sé performante,

identificando gli interventi migliorativi in ordine di priorità, per favorire il continuous improvement dell’applicazione.

IL CLIENTE

Azienda di servizi digitali di communication and collaboration

Il cliente è un’azienda B2B che sviluppa e commercializza soluzioni innovative di collaborazione e comunicazione digitale, con un focus su software open-source, sulla sovranità dei dati e forte attenzione alla privacy. Propongono una suite di strumenti integrati per aziende e pubbliche amministrazioni che include email, calendari, chat, videochiamate, condivisione file e editing di documenti. L’applicazione mobile analizzata rappresenta il prodotto core dei i servizi erogati alle aziende clienti.

L’OBIETTIVO

Una Code Quality Analysis per progettare l’evoluzione dell’app

L’azienda ci ha contattati perché intenzionata a strutturare un piano di aggiornamento della loro principale app mobile. Essendo un prodotto sviluppato da alcuni anni e manutenuto da persone diverse nel corso del tempo, risultava allo stato attuale non facilmente mantenibile, benché non presentasse problemi di funzionamento. Il cliente ci ha chiesto di valutare, attraverso un assessment complessivo, lo stato del progetto per poter pianificare come fare evolvere l’applicazione sulla base di una fotografia dettagliata dello stato del codice e migliorarne prestazioni e sicurezza, in previsione di una release da sviluppare nel 2026. È stata quindi avviata un’analisi sulla qualità tecnica e la manutenibilità del codice sorgente.

SOLUZIONE

Impostazione dell’analisi e modalità di lavoro

Abbiamo attivato per il cliente il servizio professionale Intesys di analisi e valutazione delle applicazioni mobile live, yAppCheck. La maggior parte dell’attività ha riguardato il modulo Code Quality Audit, estendendosi anche ad aspetti di privacy, accessibilità e UI strettamente collegate agli elementi di codice.

L’analisi del codice sorgente del progetto dell’app ha prodotto un documento riassuntivo delle attività, una serie di valutazioni degli analisti che hanno avuto modo di esaminare il materiale e una proposta di intervento.

Un alto livello di affidabilità è stato garantito da una modalità collaborativa a 3 fasi: è stata svolta una prima analisi tecnica approfondita, e i risultati sono stati poi sottoposti a una peer review da parte di un secondo analista esperto. La stesura finale è stata infine revisionata dal project manager, che ne ha validato completezza e allineamento con gli obiettivi del progetto.

I NUMERI DEL PROGETTO

58.698
linee di codice (337 file)
997
elementi di codice da ottimizzare
3
vulnerabilità a priorità alta

FASI DEL PROGETTO

Una fotografia approfondita di tutti gli elementi e i livelli del codice, per governarne le performance

L’app, sviluppata per piattaforma Android, è funzionante e sostanzialmente ben strutturata (diversi moduli), ma in parte disomogenea: la codebase soffre della presenza di codice sviluppato in momenti diversi e con tecnologie differenti, causando confusione e ostacolando la manutenibilità.

Code Quality Analysis

L’analisi approfondita attraverso l’uso di SonarQube e Detekt ha evidenziato un buon livello di manutenibilità, segnalando tuttavia la necessità di uniformare lo stile della codebase (il codice è stato sviluppato in momenti diversi e con tecnologie differenti) e applicare i principi SOLID. La copertura dei test automatici è risultata limitata, aumentando il rischio di possibili regressioni in fase di manutenzione ed evoluzione futura del codice. Contestualmente, l’architettura MVVM è risultata già correttamente impostata, pur richiedendo una serie di interventi per uniformare il codice. Grazie a questa analisi, è stato possibile definire una roadmap chiara di intervento, con lo scopo di aggiornare le librerie, migliorare la qualità del codice creando le basi per un prodotto più solido e facilmente evolvibile nel tempo.

I RISULTATI

I 5 principali punti d’azione su cui intervenire

L’analisi ha identificato un piano di intervento che individua cinque principali azioni per aumentare la qualità del codice e del progetto in generale. Fra queste: 

Interventi mirati sul codice per aumentare il livello di sicurezza del progetto per adeguarlo agli standard più moderni. Nel documento di analisi consegnato al cliente, è stato incluso un piano di attività a corollario, che riporta per ogni voce descrizione, priorità e impatto atteso.

Aggiornamento di librerie datate legate all’uso dell’interfaccia grafica per migliorare le performance. Eliminazione delle librerie non più manutenute e sostituzione con soluzioni più moderne e aggiornabili nel tempo.

Integrazione di un numero maggiore di Unit Test per rendere la soluzione più solida e meno esposta a regressioni in fase di sviluppo.

Refactoring di una parte del codice per adeguarlo completamente al design pattern MVVM.

Competenze e know-how

Code Quality Audit Mobile Security Sviluppo App Mobile

Sei interessato a questo progetto e vuoi saperne di più?

CONTATTACI