Cos'è l'esperienza sviluppatore e perché è importante?

L'esperienza sviluppatore (DX o DevEx) si concentra sulle esperienze vissute dagli sviluppatori: i punti di attrito che incontrano nel lavoro quotidiano e il modo in cui si rapportano emotivamente al proprio lavoro.

In questo articolo viene spiegato perché l'esperienza sviluppatore è importante e come un'esperienza ottimizzata porti a risultati migliori per sviluppatori e organizzazioni. Sono inoltre riportati consigli per apportare cambiamenti significativi nel team.

Comprendere l'esperienza sviluppatore

L'esperienza sviluppatore è un argomento molto discusso da quando la produttività degli sviluppatori è diventata l'obiettivo principale della maggior parte dei team di ingegneria. Negli ultimi anni si è avvertita una crescente pressione di capitalizzare gli investimenti nei talenti dello sviluppo e nelle tecnologie, pertanto i leader hanno investito risorse significative nel tentativo di dimostrare che stanno creando team altamente performanti e produttivi.

Tuttavia, i team di sviluppo valutati in base alle metriche sbagliate, come le ore di lavoro svolto o le righe di codice, diventano sempre meno produttivi nel tentativo di soddisfare requisiti arbitrari. Il report State of Developer Experience di Atlassian ha rilevato che più della metà dei leader di ingegneria che usano metriche di produttività le ritiene inefficaci come misura della produttività degli sviluppatori. Non c'è da stupirsi, considerando che il 38% delle organizzazioni misura la produttività degli sviluppatori in base alle ore di lavoro svolto ma il 69% degli sviluppatori perde 8 o più ore alla settimana a causa delle inefficienze lavorative.

Perché l'esperienza sviluppatore è importante?

Quando le organizzazioni migliorano i componenti fondamentali dell'esperienza sviluppatore, i team di sviluppo hanno più tempo da dedicare a ciò che conta davvero, ovvero il rilascio di software di alta qualità. Gli sviluppatori che possono concentrarsi su ciò che amano fare sono molto più produttivi di quelli che vengono spinti a fare di più mentre affrontano ostacoli.

Un'esperienza sviluppatore ottimizzata non solo aumenta la produttività degli sviluppatori, ma li rende molto più soddisfatti del proprio ruolo, di conseguenza è meno probabile che abbandonino il team.

Attrarre e trattenere i talenti è un altro motivo per cui l'esperienza sviluppatore è fondamentale. Dal nostro report emerge che il 63% degli sviluppatori considera l'esperienza sviluppatore importante o molto importante quando decide se rimanere nel posto di lavoro attuale. Non solo, perché l'86% dei leader ritiene che attrarre e trattenere i migliori talenti di sviluppo sarà quasi impossibile senza migliorare l'esperienza sviluppatore.

Componenti dell'esperienza sviluppatore

La ricerca indica che un'esperienza sviluppatore positiva presenta tre componenti fondamentali:

  1. Cicli di feedback che consentono un miglioramento continuo attraverso apprendimento e adeguamenti

  2. Carico cognitivo gestibile grazie a un codice ben organizzato e a una documentazione facilmente accessibile

  3. Capacità di entrare in uno "stato di flusso" in cui gli sviluppatori si muovono con fluidità tra i task e sono completamente assorbiti nel proprio lavoro

Fattori che influenzano l'esperienza sviluppatore

L'esperienza sviluppatore è fortemente influenzata dalla qualità degli strumenti e dall'efficienza dello sviluppo software. Quando strumenti e processi garantiscono tutti e tre questi componenti giorno dopo giorno, l'esperienza sviluppatore migliora notevolmente a vantaggio dei team di sviluppo , con software di qualità più elevata e personale più soddisfatto.

Anche la cultura del team influisce sull'esperienza sviluppatore. Un team che non promuove cicli di feedback, non garantisce il tempo di attenzione al lavoro o non aiuta gli sviluppatori con le loro esigenze non offrirà un'esperienza eccellente. In definitiva, una combinazione di strumenti e cambiamenti culturali ti aiuterà a fornire un'esperienza sviluppatore migliore.

Strategie per migliorare l'esperienza sviluppatore

Le organizzazioni hanno il controllo diretto sull'esperienza dei team di sviluppo, perciò puoi e dovresti migliorare intenzionalmente l'esperienza sviluppatore.

Sebbene ogni team e organizzazione abbia esigenze e sfide diverse, queste strategie sono un ottimo punto di partenza per migliorare l'esperienza sviluppatore. Se implementate, le modifiche possono avere un impatto significativo sulla soddisfazione degli sviluppatori e incrementare la produttività.

Strumenti e tecnologie

La tua toolchain DevOps offre una grande quantità di punti dati eterogenei, quindi assicurati che i tuoi team li sfruttino al massimo. Aggiungi moduli con i quali è possibile visualizzare i task in corso, il conteggio dei bug, il tempo di risoluzione, la conformità agli SLA, la prontezza per il rilascio, il grafico burn-down dello sprint e lo stato della build. Tutto ciò offre ai tuoi sviluppatori una visione olistica delle attività, in modo da monitorare il loro avanzamento e creare cicli di feedback costanti.

Per una visualizzazione più dettagliata dei microservizi e degli altri componenti a disposizione del tuo team, dai un'occhiata al catalogo dei componenti e alle scorecard di sistema in Compass, la piattaforma di sviluppo interna (IDP) di Atlassian. Grazie a questo strumento, gli sviluppatori possono accedere rapidamente alle informazioni di cui hanno bisogno per lavorare con i componenti, ad esempio chi ne è responsabile e come interagiscono con altri sistemi. Nel frattempo, i leader possono utilizzare le scorecard per monitorare lo stato del software e del team, in modo da identificare eventuali colli di bottiglia e bloccanti.

Documentazione

Nel nostro Report sullo stato dell'esperienza degli sviluppatori, abbiamo rilevato che il 41% di loro segnala la documentazione inefficiente come un ostacolo importante. Tuttavia, chi sviluppa non ha sempre il tempo, o la voglia, di scrivere la documentazione di cui ha bisogno. L'IA può creare codice ed elaborare rapidamente la documentazione senza difficoltà, consentendo agli sviluppatori di concentrarsi su task a maggiore impatto che contribuiscono a migliorare l’esperienza di sviluppo.

Non è solo la creazione della documentazione a influire sull'esperienza di chi sviluppa: secondo l’ultimo Developer Survey di Stack Overflow, oltre un quarto degli sviluppatori dedica ogni giorno un'ora o più alla ricerca di informazioni. Strumenti basati sull'IA come Atlassian Rovo sono in grado di raccogliere e riepilogare la documentazione interna e gli strumenti di gestione del progetto esistenti per ridurre il tempo sottratto allo sviluppo del software per dedicarsi a noiose ricerche.

Processo di onboarding

Un processo di onboarding scadente è il punto di partenza per un’esperienza di sviluppo altrettanto scadente. Un'adeguata preparazione al successo fa sentire gli sviluppatori più soddisfatti nel nuovo ruolo e li aiuta a diventare operativi più rapidamente. Un'esperienza di onboarding solida è anche un punto di riferimento per i membri del team, man mano che acquisiscono familiarità con diversi aspetti del loro ruolo e con i nuovi componenti software.

Grazie al suo catalogo completo di componenti software, Compass offre tutto ciò di cui i tuoi sviluppatori hanno bisogno in un'unica posizione standardizzata. In questo modo, le persone appena assunte non sono costrette a consultare una gran mole di documentazione o chiedere costantemente indicazioni ad altri membri del team nelle prime settimane. Inoltre, poiché tutto si trova in un unico spazio centralizzato, non è necessario memorizzare o aggiungere ai preferiti nulla per un eventuale utilizzo futuro. La consultazione del catalogo dei componenti permette di trovare facilmente e velocemente ciò che si cerca, dai repository e dalle raccolte alle API.

Per altre idee per l'onboarding, dai un'occhiata ai passaggi di onboarding per i dipendenti di Atlassian.

Supporto e community

L'esperienza degli sviluppatori rappresenta l'opinione degli sviluppatori stessi sugli strumenti e sui processi che utilizzano per creare software: sono quindi proprio loro le uniche persone che sanno come funziona nella tua organizzazione. Ascoltare l'opinione del tuo team di sviluppo ti permette di creare un senso di community tra i tuoi team e dimostrare il tuo supporto all'esperienza degli sviluppatori.

In un'organizzazione di dimensioni ridotte, hai probabilmente la possibilità di riuscire a parlare con tutto il team di sviluppo, ma per creare un processo scalabile e uno spazio sicuro per il feedback, ti consigliamo i sondaggi sull'esperienza degli sviluppatori. Puoi sfruttare le informazioni ricavate dai sondaggi per monitorare i miglioramenti in un'area di interesse specifica. Ricorda solo di prendere atto del feedback che ricevi e di agire di conseguenza, in modo che il tuo team veda che investi nell'esperienza degli sviluppatori.

La conduzione di regolari analisi retrospettive del team danno a sviluppatori e leader la possibilità di riflettere insieme su ciò che sta andando bene e di creare i cicli di feedback necessari per un'esperienza di sviluppo positiva. Le discussioni possono spaziare da temi relativi alla cultura aziendale, come carichi di lavoro e scadenze, a questioni tecniche, come la progettazione delle API. La nostra strategia della retrospettiva fornisce istruzioni e modelli di base per le analisi retrospettive, oltre a varianti adatte alla gestione di situazioni specifiche, per aiutarti a iniziare.

Cultura aziendale e ambiente di lavoro

Per gli sviluppatori, restare nel flusso è impossibile senza avere a disposizione consistenti periodi di tempo per concentrarsi senza interruzioni. Questo significa evitare una cultura fatta di riunioni e ping continui. L'utilizzo di uno strumento centralizzato come Compass, che integra tutte le informazioni e gli approfondimenti che i tuoi sviluppatori ricavano dall'intero set di strumenti, può anche ridurre il cambio di contesto.

Alcuni team designano uno o due giorni alla settimana come "giorni senza riunioni". Per un approccio ancora più mirato, incoraggia i membri del team a bloccare nei loro calendari alcune fasce ricorrenti di 90-120 minuti, nell'orario che preferiscono. Dai un’occhiata al Report Atlassian sulle riunioni del 2023 per trovare altri spunti.

In ogni caso, dai ai membri del team di sviluppo la possibilità di silenziare il telefono e disattivare le notifiche della chat, in modo da creare un ambiente di lavoro che permetta ai team di concentrarsi.

Come migliorare l'esperienza degli sviluppatori con Compass

Compass è l'IDP che soddisfa tutti i requisiti dell'esperienza degli sviluppatori:

  • Mantenimento dello stato di flusso: gli sviluppatori non sono costretti a cercare negli archivi o disturbare i membri del team per trovare risposte. Compass rende tutto disponibile in un'unica posizione e in un formato standardizzato, tramite un catalogo completo dei componenti software.

  • Riduzione del carico cognitivo: dato che gli sviluppatori possono accedere alle informazioni in un unico spazio centralizzato, non hanno bisogno di ricordare i dettagli di tutte le integrazioni.

  • Creazione di cicli di feedback: i team possono verificare insieme l'integrità operativa attraverso retrospettive settimanali basate sui dati e pratiche di CheckOps, per migliorare continuamente le prestazioni.

Questi miglioramenti rendono più facile e piacevole la conduzione delle attività, creando una migliore esperienza degli sviluppatori all'interno dell'organizzazione.

Esperienza degli sviluppatori: domande frequenti

Che caratteristiche ha una positiva esperienza degli sviluppatori?

Una positiva esperienza degli sviluppatori permette loro di concentrarsi su ciò che conta di più e li mette in condizione di distribuire più spesso software di alta qualità. Consente inoltre agli sviluppatori di restare nel flusso, riduce il loro carico cognitivo e fornisce cicli di feedback. Di conseguenza, chi sviluppa software è soddisfatto del proprio ruolo, può effettuare l'onboarding e concentrarsi sulla creazione di software in modo più efficiente, senza mettersi già alla ricerca di un'altra posizione.

Come si misura l'esperienza degli sviluppatori?

Non esiste una metrica o un insieme di metriche universali per misurare l'esperienza degli sviluppatori, perché questa esperienza è fortemente influenzata dal contesto, che varia notevolmente tra i team e le organizzazioni. Questo significa che, anche se tutte le aziende utilizzassero gli stessi strumenti e le stesse metriche per migliorare l'esperienza degli sviluppatori, i risultati varierebbero comunque in modo significativo da un team all'altro e da un'azienda all'altra.

Per comprendere l'esperienza degli sviluppatori nella tua organizzazione, ti serve una visione olistica della realtà che il loro team vive quotidianamente. Puoi iniziare da una stella polare significativa in una di queste tre aree principali:

  • Percezioni: che sensazioni hanno i tuoi sviluppatori riguardo alla loro attività e al loro ambiente di lavoro?

  • Flussi di lavoro: quanto sono efficienti e affidabili i tuoi sistemi e processi?

  • Indicatori di prestazione chiave (KPI): su quali misure si concentrano i tuoi team? Potresti prendere in considerazione la soddisfazione del personale, la facilità d'uso percepita del software di distribuzione o la produttività percepita del team.

Ti consigliamo di utilizzare i sondaggi sull'esperienza degli sviluppatori per tutte queste aree. Per iniziare, prova la strategia dei sondaggi sull'esperienza degli sviluppatori.

Quali sono i pilastri dell'esperienza degli sviluppatori?

I tre componenti principali di una positiva esperienza degli sviluppatori sono i seguenti:

  1. Cicli di feedback che consentono un miglioramento continuo attraverso apprendimento e adeguamenti

  2. Carico cognitivo gestibile grazie a un codice ben organizzato e a una documentazione facilmente accessibile

  3. Capacità di entrare in uno "stato di flusso" in cui gli sviluppatori si muovono con fluidità tra i task e sono completamente assorbiti nel proprio lavoro