Per le telco la continua produzione di software di alta qualità è essenziale nell’ottica di accelerare l’automazione della rete. Riuscire a farlo in modo efficiente, del resto, è cruciale per restare competitivi in un mercato sempre più sfidante. In questo scenario, gli approcci developer experience (Dx) e platform engineering ricoprono un ruolo fondamentale.
A dirlo è Ericsson, che nella ricerca intitolata “Enhancing developer experience to accelerate network automation”, raccomanda ai fornitori di servizi di comunicazione di porre al centro le esigenze degli sviluppatori nell’implementazione delle funzionalità di rete e delle applicazioni di controllo intelligente della Ran, denominate rApp.
Indice degli argomenti
Come si è evoluto lo scenario che affrontano gli sviluppatori
In particolare, l‘Open Radio Access Network (O-Ran) Alliance e la piattaforma di gestione e orchestrazione dei servizi consentono oggi agli operatori di sfruttare l’approccio Dx per lo sviluppo di rApp che accelereranno l’automazione della rete nel settore delle telecomunicazioni.
I processi di creazione e gestione del software si sono evoluti in modo significativo rispetto a 20 anni fa, quando i team di sviluppo si concentravano sulla codifica e un amministratore di sistema si occupava degli aspetti di distribuzione e manutenzione. Nel giro di poco tempo è diventato chiaro che questo modo di lavorare a blocchi aveva conseguenze negative sia per gli sviluppatori che per gli amministratori di sistema, il che ha portato alla nascita della metodologia di sviluppo e operazioni (DevOps).
L’approccio DevOps, più integrato, ha migliorato il Dx garantendo che i team di sviluppo avessero le competenze necessarie sia per sviluppare che per distribuire il software, il che lo ha reso rapidamente lo standard del settore.
Nello stesso periodo è emerso il concetto di cloud-native, che ha portato a miglioramenti significativi in termini di scalabilità, disponibilità e operatività, ma ha anche reso le configurazioni molto più complesse. Di conseguenza, la semplicità di distribuire un’applicazione single-tier che interagisce con un database tramite un semplice script è diventata un ricordo del passato.
Gli analisti di Ericsson sottolineano come il cloud-native abbia aumentato il carico su un panorama di sviluppatori già complesso che comprende diversi linguaggi di programmazione, una varietà di ambienti di sviluppo integrati, sistemi di controllo di versione e strumenti di integrazione continua/dispiegamento continuo estremamente variegati.
Il ruolo dello sviluppatore è diventato estremamente complesso, e l’onere di gestire compiti non direttamente legati all’implementazione delle funzionalità ha portato a inefficienze nella consegna del software.
Adottare gli approcci developer experience e platform engineering
L’approccio Dx è emerso come una soluzione promettente con l’obiettivo di sfruttare gli aspetti positivi dell’approccio DevOps, affrontando al contempo la complessità del panorama cloud-native. Piuttosto che richiedere a ogni sviluppatore di comprendere e utilizzare tutti i componenti della catena di strumenti end-to-end, la platform engineering mira a snellire la developer experience scaricando i compiti che non sono di diretta pertinenza dello sviluppatore.
Come parte della transizione verso questa filosofia, Ericsson per esempio sta utilizzando il design thinking per migliorare l’esperienza degli sviluppatori. Questo approccio incentrato sull’uomo garantisce che i developer siano al centro di qualsiasi soluzione necessaria per automatizzare le loro attività di sviluppo non legate alle funzionalità, mentre costruiscono e consegnano il software.
A differenza dei metodi tradizionali di ricerca sugli utenti, come i test di usabilità, i test A/B e gli studi sul campo, concentrarsi sugli sviluppatori richiede spesso un approccio diverso. Le attività possono essere lunghe, coinvolgere più team e utilizzare diversi strumenti, rendendo alcuni metodi tradizionali meno efficaci. Per questo motivo, Ericsson utilizza un mix di tecniche qualitative e quantitative, tra cui focus group, interviste e sondaggi, per raccogliere dati attitudinali. Questa strategia va dal generale allo specifico per minimizzare i pregiudizi ed evitare di influenzare il comportamento o le percezioni degli sviluppatori.
L’unico modo affidabile per migliorare la Dx, dunque, è ascoltare attivamente gli sviluppatori per conoscere le loro esigenze e i loro punti dolenti e poi rispondere ai loro feedback. L’utilizzo di metodologie di design-thinking e di principi user experience garantisce che le soluzioni fornite siano intuitive ed efficaci, riducendo gli attriti e migliorando la produttività complessiva.
Questo approccio collaborativo responsabilizza gli sviluppatori, aumenta la soddisfazione e promuove una cultura di miglioramento e innovazione continui. I dati raccolti dagli sviluppatori di piattaforme e rApp hanno rivelato che, sebbene ogni team sia unico e abbia competenze specifiche, tutti devono affrontare sfide simili. Alcuni team hanno bisogno di maggiore supporto rispetto ad altri per costruire e fornire le loro funzionalità.
Su una scala più ampia, tuttavia, sono tre le sfide da affrontare: difficoltà di reperibilità di documentazione aggiornata; configurazioni errate dell’ambiente con pipeline di distribuzione fragili; mancanza di percorsi self-service. Affrontare queste tre criticità è la premessa per sprigionare tutto il potenziale dell’approccio developer experience.