Sponsored Story

Dal Time and Material al Team and Material: come cambia lo sviluppo in azienda

In un mercato ICT ogni giorno più complesso, come si possono sviluppare con successo soluzioni aziendali con un approccio che unisca la flessibilità del ‘Time and Material’ con la possibilità di avere un partner strategico? Lo spiega THUX con il suo approccio ‘Team and Material’.

Pubblicato il 22 Dic 2023

Time and Material

Lo sviluppo di soluzioni aziendali, come la maggior parte delle attività collegate al digitale, aumenta costantemente di complessità: se un tempo era sufficiente ‘programmare’ il software, oggi è necessario rispondere a esigenze sempre più specifiche, dall’usabilità alla compliance, passando per la continuità di servizio. Un ostacolo non da poco che si aggiunge ad altre problematiche legate allo scenario IT nel suo complesso, e che modelli basati esclusivamente sulla flessibilità di tempi e costi come il Time and Material non sono in grado di soddisfare. Serve, infatti, un approccio che non sia solo flessibile, ma anche esaustivo in termini di competenze e professionalità erogate.

Lo sviluppo di soluzioni aziendali soffre la crisi delle professionalità IT

Non è un mistero che le professionalità tecniche, in particolare legate al digitale, scarseggino a livello globale. Secondo una ricerca di Statista, per esempio, emerge come le prime quattro professioni più ricercate globalmente nel panorama IT abbiano tutte a che fare, a vario titolo, con lo sviluppo di applicazioni (sviluppatori e/o ingegneri backend e full-stack, sviluppatori di applicazioni, sviluppatori frontend).

Come si affronta oggi questa scarsità? Come gestiscono il problema le aziende che vogliono vedere sviluppate le loro soluzioni aziendali?

Ne parliamo con Vittorino Parenti, co-fondatore di THUX. L’azienda di Milano, attiva sul mercato da 27 anni, è stata fra le prime in Italia a impiegare il linguaggio Python per lo sviluppo, e da sempre si caratterizza per una forte spinta innovativa, per esempio adottando l’utilizzo del framework Django fin dalle sue prime versioni e utilizzandolo recentemente anche in progetti di AI.

Il Time and Material come primo step per arginare la carenza di competenze

Il bisogno sempre crescente da parte delle aziende di realizzare le proprie soluzioni con un mercato complesso e a forte domanda rappresenta un problema a cui è necessario rispondere attraverso una strategia specifica. “Diverso tempo fa ci siamo resi conto che era necessario cambiare il modo di approcciare i progetti, sia dal punto di vista gestionale e operativo, sia da quello organizzativo” spiega Parenti. “Bisognava creare un offering su misura e ricoprire un ruolo più strategico, da advisor. Una tendenza in cui oggi moltissimi si riconoscono e che noi abbiamo anticipato”.

Fin dai tempi in cui l’approccio Time and Material (in cui era sufficiente fornire ai clienti le ore uomo necessarie per realizzare lo sviluppo) era ampiamente diffuso, THUX ha sempre scelto una strada diversa, considerandolo poco efficace. Anche i progetti più semplici, infatti, richiedono l’intervento di numerose competenze diverse. Pensiamo, per esempio, allo sviluppo di un sito Web in cui è necessario tenere conto di requisiti come esperienza utente (UX), interfaccia utente, deploy e pubblicazione, oltre alla scrittura vera e propria del codice. Non ci si deve confrontare, quindi, con la sola crisi delle competenze, ma anche con il coinvolgimento di numerosi professionisti diversi, che non lavorano mai contemporaneamente. “Non è detto che anche un’azienda specializzata come THUX abbia sempre necessità di utilizzare il 100% del tempo di tutte le professionalità coinvolte – spiega Parenti -. Per gestire tutto al meglio è necessaria una grande capacità di coordinamento”.

Come realizzare progetti custom nel mercato di oggi

Ecco che nasce l’approccio Team and Material, che definisce la gestione dei progetti secondo la logica Agile, fornendo al cliente l’intero stack di competenze necessarie. La metodologia Agile è un modo di gestire progetti complessi basato su cicli brevi e iterativi di lavoro, chiamati sprint e, soprattutto, sulla collaborazione tra sviluppatori e cliente, con l’obiettivo di adattarsi rapidamente ai cambiamenti e alle esigenze del progetto.

Parenti spiega: “Diversamente da metodologie più rigide come il tradizionale waterfall, in Agile bisogna riuscire a modificare requisiti e deliverable in base alle necessità del cliente o degli utenti finali, che nascono in corso d’opera. Il Project Manager deve cercare di spostare le risorse in modo che siano utilizzate in modo ottimale”. Naturalmente senza perdere di vista il progetto che è l’elemento più importante. Il tutto deve svolgersi secondo precisi criteri qualitativi. “Oggi spesso siamo coinvolti su problemi apparentemente irrisolvibili – continua Parenti – proprio perché abbiamo imparato a gestire questa metodologia senza perdere di vista il progetto e senza costringere i professionisti che lavorano con noi a flussi di lavoro troppo frammentari”. Quello che emerge, anche nel campo dello sviluppo di soluzioni aziendali, è che le competenze esterne siano al momento la soluzione più percorribile per le aziende.

Superare i limiti del concetto di ‘software house’

Nella visione più tradizionale del mercato, le software house erano formate da sviluppatori, oppure venditori di prodotti, tipicamente con un certo livello di rigidità e con modalità di lavoro waterfall. “Oggi il mercato cambia così rapidamente che in molti casi, anche fra le aziende di grandi dimensioni – racconta Parenti – è impossibile avere un’idea chiara, definita e uguale nel tempo delle esigenze. Durante lo sviluppo di una soluzione aziendale, possono nascere nuove esigenze: il prodotto viene plasmato secondo le richieste che nascono anche in divenire”. Nell’ottica di una gestione efficiente del lavoro, questo significa sostanzialmente disporre di una grande capacità di adattamento, ottimizzando le risorse.

“Troppa personalizzazione può diventare un onere – afferma Parenti – ma nello stesso tempo le esigenze aziendali non sono praticamente mai ripetibili. È compito del Project Manager, e abilità del Team, guidare il bisogno del cliente e trovare il punto di equilibrio fra personalizzazione e utilizzo degli asset già sviluppati, come librerie e componenti, che hanno il vantaggio di essere più solidi e poter essere integrati più velocemente rispetto alla implementazione di soluzioni totalmente personalizzate. La mediazione e la capacità di ascolto ed efficientamento della soluzione sono un valore aggiunto che riusciamo a fornire grazie alla nostra lunga esperienza sul campo”.

La gestione del progetto: l’approccio ‘Team and Material’

Ma come si sviluppa l’approccio messo a punto da THUX? Lo spiega Parenti: “La prima fase dello sviluppo del progetto è la raccolta di informazioni attraverso una serie di incontri preliminari. Questo conduce al preventivo e a una analisi, che non è rigida, ma è una guida per capire la direzione”.

Una volta che il progetto è avviato, a settimane alterne si avvia una fase di sprint in cui ci si incontra con il cliente, si mostra quello che viene fatto e si raccolgono le richieste per il periodo successivo. Inoltre, ogni giorno il team si incontra 15 minuti per fare il punto del progetto.

“I Daily Up sono brevissime riunioni di allineamento, spesso interne e in alcuni casi con il cliente, che servono a comprendere l’andamento generale e scoprire eventuali dubbi o contrattempi” spiega Parenti. Di fatto questo sistema permette di unire il vantaggio in termini di flessibilità, anche economica, della modalità Time and Material, con una visione progettuale definita e chiara, che si sviluppa grazie alla regia di THUX.

Parallelamente, dopo l’analisi iniziale, si procede alla presentazione dei mockup per quanto riguarda interfaccia grafica e usabilità. Quando si arriva all’accettazione del mockup, si inizia a progettare anche il frontend che viene presentato e testato con una certa frequenza.

“Il software scritto viene depositato su un sistema di versioning (Mercurial SCM nel caso di THUX). Da questo, il Project Manager verifica il codice scritto, lo corregge, lo commenta e così via” spiega Parenti. “Da qui in poi la gestione tecnica: al ramo principale si affiancano i rami creati dagli sviluppatori, che vengono inseriti in quello principale una volta raggiunta la stabilità. Lavoriamo in modalità continuous delivering, automatico o manuale a seconda di quanto concordato con il cliente, verso una piattaforma di staging, e, dopo l’approvazione del cliente, in produzione”. Un flusso di lavoro solido che non lascia nulla al caso e che permette di tracciare tempestivamente anche eventuali malfunzionamenti nella produzione.

“In tutto questo siamo molto aiutati anche dalla scelta del framework Django e di Python come linguaggio di programmazione: è sintetico e molto vicino al linguaggio naturale e permette uno sviluppo efficiente” conclude Parenti.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!


Aziende


Canali

Articoli correlati

Articolo 1 di 2