Sinapsi: Il nostro assessment dell'applicazione Logica

assessment javascript

www.snps.it/

Sinapsi: Il nostro assessment dell'applicazione Logica

assessment javascript

www.snps.it/

Collaborazione con Sinapsi, azienda IT specializzata in software per aziende edili, nata come costola di Imola Gru. Da un paio d'anni è in corso un processo di trasformazione digitale molto importante. Il loro gestionale di punta chiamato "Logica" si sta trasformando da applicazione desktop ad un software web chiamato "Logica Web". 

Il software è stato riscritto completamente from scratch, passando da un'applicazione Visual Basic ad un backend basato su J2EE ed un frontend AngularJS.

2018

La nostra collaborazione è iniziata con un assessment sullo stato di salute della loro applicazione AngularJS. Una intera giornata con il loro team, analizzando le parti più critiche. Per poter prendere decisioni tecnologiche mirate a bisogni reali, abbiamo disegnato il nostro assessment in modo da rendere evidente qual è il valore che il progetto porta all'azienda, e come il processo di sviluppo del software si lega al business dell'azienda stessa.

Oltre a proporre soluzioni e consigli prettamente tecnici, ci siamo concentrati sul tirare fuori dei principi attorno ai quali far ruotare le loro scelte tecnologiche. Per farlo abbiamo utilizzato il gioco delle leve e abbiamo stilato insieme un Framework Compass Radar.

Framework Compass Radar

Il Framework Compass Radar ha fatto evincere che la manutenibilità è un fattore critico che deve guidare le scelte tecnologiche del team, dato il forte impatto che questo nuovo software web ha per l'azienda. Come conseguenza abbiamo deciso di abbracciare un approccio difensivo rispetto ad AngularJS, utilizzare cioè solo le parti davvero utili al progetto, riscrivendosi in casa invece quelle su cui il team ha deciso di mantenere il massimo controllo.

Training on the job

Dopo il nostro assessment, abbiamo proposto al cliente un pacchetto di giornate di training on the job. Durante queste giornate abbiamo aiutato il cliente nel suo processo di refactoring. Abbiamo operato su due fronti, uno relativo al codice JavaScript e l'altra relativo all'organizzazione del CSS.

Lato CSS abbiamo introdotto un organizzazione del codice secondo le specifiche BEM e un pre processore SCSS con uso organico delle varibili. Abbiamo riscritto gran parte dei componenti UI e documentato il loro uso in design pattern. Abbiamo razionalizzato le dipendenze e automatizzato tutto in task automatici.

Per quanto riguarda JavaScript abbiamo continuato il nostro lavoro di difesa da Angular, eliminando il framework dalle parti più importanti dell'applicazione. Ma cosa ancora più importante abbiamo aiutato il team del cliente a prendere confidenza con alcune buone pratiche come il Test Driven Development ed il testing End-to-end. In questo modo abbiamo reso il cliente autonomo negli sviluppi futuri.

Team