Per Iniziare
Comincia dalle basi e scopri come utilizzare Mia-Platform a piccoli passi.
Comincia dalle basi e scopri come utilizzare Mia-Platform a piccoli passi.
Inizia ora
Diventa Partner certificato e scopri tutti i benefici del Partner Program.
Scopri il nostro programma
Ogni organizzazione è alla costante ricerca di modi per semplificare le proprie operazioni, migliorare la produttività dei team di sviluppo e offrire loro un’ottima Developer Experience. L’efficienza dell’infrastruttura tecnologica dell’azienda è un fattore cruciale, tanto da poter vanificare tutti questi sforzi, se non implementata correttamente. Per questo motivo negli ultimi anni è diventato sempre più importante il Platform Engineering.
In questo articolo si parlerà innanzitutto dei golden path, di cosa sono, dei loro vantaggi e delle loro sfide e del ruolo del Platform Engineering. Inoltre, illustreremo anche le best practice da seguire per l’implementazione dei golden path.
Nell’ambito dello sviluppo software il termine golden path è stato utilizzato fin dal 2009 e descrive un percorso prestabilito e ben supportato per “costruire qualcosa”. Vediamo meglio cosa si intende:
I golden path spesso sono creati basandosi su best practice, standard relativi al settore di appartenenza e la conoscenza e l’esperienza accumulata dai team di sviluppo di un’organizzazione. Sono progettati per ridurre i rischi, garantire risultati uniformi e ottimizzare il processo di sviluppo software.
Seguire un golden path porta generalmente a migliorare la qualità, la manutenibilità, le prestazioni del software e la Developer Experience. I vantaggi dei golden path nello sviluppo del software sono i seguenti:
I golden path nello sviluppo del software offrono diversi vantaggi, ma comportano anche alcune sfide che è bene tenere a mente:
Considerando le sfide associate ai golden path, ci si può chiedere: “Come posso progettare un golden path senza che diventi un collo di bottiglia nel prossimo futuro?”. La risposta è progettare golden path con il Platform Engineering.
Secondo la definizione formulata da Gartner, il Platform Engineering è “la disciplina della costruzione e gestione di Internal Developer Platform (IDP) self‑service per il rilascio di software e la gestione del suo ciclo di vita”. Dunque, i Platform Engineer costruiscono e forniscono un prodotto integrato, spesso chiamato “Internal Developer Platform”, che copre la toolchain DevOps e le necessità operative dell’intero ciclo di vita del software.
L’Internal Developer Platform (IDP) comprende un insieme completo di strumenti, servizi e infrastrutture integrati in un’unica piattaforma, in modo da ridurre il carico cognitivo dei team di sviluppo, pur mantenendo il contesto essenziale e le tecnologie sottostanti.
L’IDP riduce il carico cognitivo degli sviluppatori astraendo dalle complessità dell’infrastruttura, fornendo flussi di lavoro standardizzati e automatizzando le attività ripetitive. In questo modo i team di sviluppo possono concentrarsi maggiormente sulla scrittura di codice, sulla realizzazione di funzionalità e sul miglioramento della qualità del software, anziché occuparsi degli strumenti e delle sfide legate all’infrastruttura.
Oltre a ridurre il carico cognitivo degli sviluppatori, il platform engineering, se fatto bene, fornisce golden path che corrispondono al livello di astrazione preferito dal singolo sviluppatore che interagisce con il livello IDP. Allo stesso tempo, migliora la collaborazione e accelera il processo di sviluppo del software.
Il Platform Engineering, se fatto bene, significa che l’IDP dovrebbe essere l’unico punto di accesso dove gli sviluppatori possono trovare tutti gli strumenti, i modelli e la documentazione di cui hanno bisogno, con una grande enfasi sui seguenti aspetti:
Molte aziende stanno adottando il Platform Engineering per implementare golden path nelle loro organizzazioni. Tra i primi che hanno iniziato questo percorso, merita di essere menzionata Spotify. Prima del 2016, quando Spotify è cresciuta fino a diventare una grande startup, la sua cultura agile con team autonomi è diventata un collo di bottiglia che ha causato la frammentazione del suo ecosistema di strumenti per gli sviluppatori: questo ha portato alla creazione di Backstage, una piattaforma open-source per la costruzione di Internal Developer Portal.
Sempre nel 2016, Mia-Platform è stata fondata ed è diventata una delle primissime società di prodotto dedicate al Platform Engineering. Mia-Platform si è ora evoluta in un’azienda internazionale incentrata sulla creazione di Internal Developer Platform personalizzate e enterprise-ready.
L’implementazione dei golden path con il Platform Engineering e l’evoluzione in una Platform Company richiedono un approccio deliberato e strategico. Inoltre, si tratta di un processo graduale che richiede una riorganizzazione a più livelli.
Le seguenti best practice garantiscono un’adozione e un utilizzo di successo. Ecco alcune pratiche consigliate per l’implementazione dei golden path:
Implementazione graduale
Conviene implementare i golden path in modo graduale piuttosto che tentare una trasformazione completa in una sola volta. Questo approccio permette una migliore comprensione, un miglior adattamento e un’integrazione graduale nei flussi di lavoro esistenti. Procedendo per piccoli passi è possibile misurare l’impatto e apportare le modifiche necessarie.
È importante notare che un’implementazione incrementale non implica necessariamente un processo lungo e lento. Il passo che determina l’implementazione dipenderà dalle circostanze specifiche e dagli obiettivi dell’organizzazione. Alcune organizzazioni potrebbero scegliere di applicare i cambiamenti in modo graduale su un periodo più lungo, mentre altre potrebbero optare per un processo più rapido. La chiave è trovare un equilibrio che consenta un’implementazione efficace, tenendo conto della capacità di cambiamento dell’organizzazione.
Cultura e comunicazione
È importante sensibilizzare i team di sviluppo sulle motivazioni, i benefici e le migliori pratiche associate ai golden path. Una comunicazione chiara e una documentazione esaustiva sono essenziali per garantire che tutti comprendano lo scopo e le linee guida. Fornire formazione, documentazione e organizzare dei workshop che spieghino i principi e le tecniche utilizzate favorisce una comprensione condivisa e incoraggia l’adesione ai golden path.
Documentazione esaustiva
La documentazione ha un ruolo fondamentale. È importante creare linee guida, tutorial e knowledge base che siano chiare, concise e puntuali, in modo da evidenziare le best practice e le procedure associate ai golden path. La documentazione deve essere facilmente accessibile ai team di sviluppo e aggiornata regolarmente man mano che emergono nuovi miglioramenti.
Feedback e test
Incoraggiare i team di sviluppo e gli stakeholder a fornire feedback lungo l’intero processo di implementazione è fondamentale. Bisogna sollecitare regolarmente a fornire contributi e ascoltare le esperienze e i suggerimenti di coloro che seguono i golden path. Raccogliere i feedback aiuta a identificare i pain point, le aree di miglioramento e potenziali ostacoli. Inoltre, è bene eseguire test rigorosi di quality assurance per validare l’efficacia l’idoneità del golden path in ambienti di produzione.
Continuo miglioramento
Bisogna entrare in un’ottica di continuo miglioramento ed evoluzione dei golden path, cercando proattivamente opportunità di perfezionamento e ottimizzando le pratiche prestabilite sulla base di feedback, novità del settore e trend emergenti. Perciò, è necessario rivedere e aggiornare regolarmente le linee guida per garantirne la pertinenza e l’efficacia nel tempo. I membri dei team devono quindi essere incoraggiati a contribuire con le loro idee ed esperienze per rivedere e migliorare i golden path.
Approccio user-centrico
I golden path non devono compromettere l’esperienza degli utenti/clienti. Nel concentrarsi sulla standardizzazione e l’efficienza, è fondamentale dare la priorità agli utenti finali e ai loro bisogni. Bisogna dunque valutare l’impatto del golden path sull’esperienza utente e apportare le dovute modifiche per evitare che abbia conseguenze negative sull’utilizzo, l’accessibilità o la soddisfazione generale.
Seguendo queste best practice è possibile implementare correttamente i golden path, garantendo allo stesso tempo un’adozione efficace, in continuo miglioramento e allineata con le necessità dell’utente. Questo approccio promuove un processo di sviluppo virtuoso e collaborativo che porta benefici sia ai team di sviluppo, sia agli utenti finali del software.
Per poter sfruttare appieno il potenziale del platform engineering, le organizzazioni devono investire in architetture affidabili, tecnologie cloud-native e collaborazione tra le diverse funzioni. Da un punto di vista dell’architettura, è essenziale passare attraverso un processo di disaccoppiamento che renda indipendenti gli elementi fondamentali che caratterizzano l’infrastruttura a servizio di una Platform Company.
Per scoprire di più, scarica gratuitamente il white paper su Perché e come evolvere in una Platform Company.
Questo articolo è stato scritto da Michel Murabito, Developer Advocate di Mia‑Platform.