La personalizzazione è da tempo un mantra quando si parla di servizi e applicazioni IT. Permette di indirizzare i consumatori verso l’esperienza d’acquisto più appropriata su Amazon, la serie Netflix o le opzioni di mutuo, ma anche di garantire ai dipendenti accesso a strumenti e informazioni di cui hanno bisogno per svolgere efficacemente il proprio lavoro…
Il concetto di “taglia unica” è ormai ampiamente superato, e lo stesso vale per il team di sviluppatori: la chiave per ottenere il massimo da qualsiasi gruppo di risorse è quella di considerarli individualmente, in modo che ciascuno possa raggiungere il massimo del proprio potenziale.
Un’esperienza individuale
Non esiste un singolo fattore o una ricetta segreta che determini la migliore esperienza per gli sviluppatori. Come in molti altri casi, tutto dipende dalla complessa interazione di una gamma di variabili, tra cui vanno considerati gli sviluppatori stessi.
Ad esempio, l’interfaccia intuitiva richiesta da un utente potrebbe essere la semplificazione eccessiva di un’altra, che elimina il livello di granularità di cui ha bisogno. Il linguaggio di programmazione preferito da una persona potrebbe non essere ideale per un’altra. E la stessa flessibilità del lavoro, che permette di trascorrere più tempo con la famiglia, può essere considerata un invito a procrastinare.
Detto questo, ci sono comunque delle priorità, ad esempio il tempo. Molti sviluppatori sono sovraccarichi di lavoro: in una nostra recente indagine condotta su 533 sviluppatori software, solo il 5% ha dichiarato di avere la capacità di occuparsi di più progetti.
Prendersi del tempo per sé
Liberare il tempo degli sviluppatori migliorerà la loro efficacia, ma consentirà anche di comprendere meglio quale sia il loro ruolo principale e come la personalizzazione possa davvero aiutarli. Anche in questa fase relativamente estesa, è comunque indispensabile adottare l’approccio giusto per il singolo individuo.
Ad esempio, automatizzare le attività ripetitive e di minor valore appare un modo ovvio per liberare il loro tempo, ma sapere nel dettaglio quali esse siano per ciascun team, e persino per ogni sviluppatore, aiuterà a prendere le decisioni corrette su cosa, e come, automatizzare.
Allo stesso modo, gli sviluppatori dovrebbero disporre di strumenti che consentano loro di lavorare facilmente. Questo significa che spesso saranno l’esperienza e la familiarità a prevalere sulla novità: un tool che utilizza il linguaggio SQL ben noto sarà più potente di uno strumento che offre nuove funzioni in un linguaggio sconosciuto.
Infine, bisogna chiedersi se gli sviluppatori debbano ancora essere padroni del loro ruolo. Lo sviluppo low e no-code e il serverless computing facilitano la creazione di applicazioni, ma comportano anche la possibilità per le singole unità di business di acquistare autonomamente applicazioni cloud e persino di sviluppare i propri servizi, almeno quelli più semplici. In questo caso, sottrarre alcune responsabilità agli sviluppatori può accelerare il business e migliorarne l’esperienza, a patto che questi non debbano immediatamente assumersi la nuova responsabilità di correggere gli errori generati da team che non sono stati formati o gestiti correttamente.
Anche queste decisioni relativamente impegnative devono avere una visione personalizzata, ma quando gli sviluppatori sono liberi di concentrarsi il più possibile sulle loro mansioni chiave, la personalizzazione può davvero brillare.
Stare al passo con l’innovazione
Il successo della personalizzazione dell’esperienza dello sviluppatore si basa su questa razionalizzazione. Se l’azienda non è in grado di automatizzare, semplificare e/o delegare le attività, il numero di processi e strumenti in gioco si rivelerà schiacciante, rendendo difficile persino tentare la personalizzazione o, nel migliore dei casi, raggiungendo solo una parte del suo potenziale. Invece, con un minor numero di elementi variabili da considerare, le aziende possono concentrarsi sui fattori che realmente aggiungono o tolgono valore alla loro esperienza. Ad esempio, offrendo informazioni più granulari sugli strumenti e le loro modalità di utilizzo, oppure dedicando più tempo alla collaborazione e alla gestione personalizzata dei progetti, che contribuirà a ridurre ulteriormente la pressione, creando un circolo virtuoso.
Per gli sviluppatori, questo significherà anche avere più tempo libero per imparare a usare nuovi strumenti, invece di dover lottare contro le novità perché imparare a usarle in modo sicuro ed efficace aumenterebbe il loro carico di lavoro. Inoltre, il team nel suo complesso avrà il tempo di valutare con maggiore precisione quali innovazioni – se ce ne fossero – potrebbero rivelarsi più vantaggiose per i singoli membri.
Avanzare d’esperienza con un focus preciso
In definitiva, la personalizzazione richiede attenzione, per evitare che possa sfuggire al controllo. Eliminare ogni distrazione non necessaria contribuirà a focalizzarsi, offrendo dei vantaggi, soprattutto quando tre sviluppatori su quattro dichiarano di occuparsi di attività che esulano dalle mansioni principali del loro campo d’esperienza.
di Perry Krug, head of developer experience, Couchbase