Platform Engineering e InnerSource: Costruire Comunità di Sviluppatori su Larga Scala

Il Momento Backstage: Quando Inizia il Vero Lavoro #

La vostra organizzazione ce l’ha fatta. Avete implementato con successo Backstage. Avete tenuto conferenze sulla vostra trasformazione del platform engineering. Avete mostrato come il vostro portale per sviluppatori fornisce visibilità su tutto nell’organizzazione di ingegneria. Avete spuntato tutte le caselle.

Ma ecco la scomoda verità: implementare Backstage non significa aver “completato” il platform engineering—significa aver finalmente raggiunto la linea di partenza.

Il platform engineering non equivale a Backstage, così come non equivale a nessuno strumento o soluzione specifica. Tutti lo sanno intellettualmente, eppure le organizzazioni cadono costantemente nella stessa trappola: si concentrano sulla tecnologia e dimenticano la cultura.


Il Modello Ricorrente di Fallimento delle Piattaforme Condivise #

Prima di approfondire cosa richiede realmente il platform engineering, riconosciamo l’elefante nella stanza: la maggior parte delle piattaforme condivise e delle librerie comuni sono storicamente fallite. Questo non è un segreto—è un modello ben documentato che il platform engineering dovrebbe risolvere.

Ma perché falliscono? La risposta segue sempre uno di due modelli prevedibili:

Modello 1: La Trappola del Service Desk Il vostro team di piattaforma diventa un service desk, annegando in richieste di funzionalità, requisiti comuni e gestione delle dipendenze da ogni team nell’organizzazione. Arrivano requisiti contrastanti, costringendovi a diventare un negozio di sviluppo personalizzato per ogni caso d’uso o a guardare la vostra piattaforma dividersi in rami non mantenibili. I cicli di manutenzione a lungo termine aggravano il problema—non state solo costruendo funzionalità, state mantenendo uno zoo di implementazioni personalizzate che diventano sempre più complesse nel tempo.

Modello 2: La Torre d’Avorio Quando il flusso di richieste diventa travolgente, i team di piattaforma iniziano a dire “no”. Rifiutano i requisiti degli utenti, si rifiutano di accomodare casi limite, e insistono che i team usino la piattaforma così com’è. Il risultato? I team costruiscono le proprie soluzioni. La piattaforma condivisa diventa irrilevante. Game over.

Questi fallimenti non sono strutturali—sono culturali. Avere portali sofisticati e strumenti avanzati non risolve il problema fondamentale: come create relazioni collaborative e sostenibili tra fornitori di piattaforma e consumatori di piattaforma?


L’Implementazione Culturale Mancante #

Pensate alla vostra attuale configurazione GitHub. Probabilmente serve come “portale” predefinito della vostra organizzazione—un posto unico dove potete scoprire repository, collaborare attraverso issue, e accedere alla documentazione. Quando avevate 100 repository, non avevate bisogno di Backstage. GitHub era sufficiente. Ma mentre scalavate a migliaia di repository, avevate bisogno di quel livello aggiuntivo di organizzazione e scoperta.

Lo stesso principio si applica al platform engineering. L’infrastruttura e gli strumenti sono solo le fondamenta. Quello che state realmente costruendo è una comunità di sviluppatori—e le comunità richiedono pratiche culturali intenzionali, non solo strumenti migliori.

Qui è dove il platform engineering si interseca potentemente con i principi dell’Infrastructure as Code. Il platform engineering coinvolge generazione di template, deployment standardizzati, e provisioning automatizzato—tutti concetti che si allineano con il trattare l’infrastruttura come software. Ma a differenza dell’IaC tradizionale, il platform engineering deve anche affrontare gli elementi umani: come scoprono gli sviluppatori cosa è disponibile? Come richiedono cambiamenti? Come contribuiscono miglioramenti?


Imparare dai Fornitori Cloud: Il Playbook della Comunità di Sviluppatori #

Ecco un cambio di prospettiva che cambia tutto: come team di piattaforma, state essenzialmente gestendo un fornitore cloud interno. State prendendo la complessità di AWS, Azure, e GCP—con le loro centinaia o migliaia di servizi—e distillandola in una piattaforma semplificata, di livello enterprise che i vostri sviluppatori possono facilmente deployare.

E come comunicano i fornitori cloud con gli sviluppatori? Attraverso GitHub. Attraverso repository di documentazione. Attraverso GitHub Discussions. Attraverso componenti open source e tracciamento trasparente delle issue. Attraverso conversazioni a thread che sono preservate e ricercabili. Attraverso meccanismi di voto dove il feedback della comunità guida le decisioni di prodotto.

Ho visto questo in prima persona durante il mio tempo come cloud architect in Microsoft. Alla fine, la voce del cliente guida tutto. I team di prodotto vogliono disperatamente capire i punti di dolore degli utenti, validare se le issue colpiscono molti utenti, e misurare l’impatto business. A volte questo coinvolge raccolta manuale di informazioni e processi di nomina dei clienti, ma sempre più spesso, assomiglia al modello di forum aperto dove grandi numeri di utenti votano su funzionalità e i team di prodotto si impegnano direttamente in discussioni pubbliche.

Questo non è casuale—è il modello provato per prodotti focalizzati sugli sviluppatori su larga scala.


InnerSource: Il Ponte Culturale #

InnerSource fornisce il framework culturale mancante per il successo del platform engineering. Non si tratta di aprire tutto il vostro codice interno o aspettarsi contributi magici dalla vostra organizzazione. Si tratta di trasformarsi gradualmente verso un ambiente più aperto, trasparente, collaborativo.

InnerSource abilita la cultura collaborativa che il platform engineering richiede. Rende le pull request e le discussioni trasparenti la norma piuttosto che l’eccezione. Più importante, crea un ambiente dove gli ingegneri possono prosperare sia come contributori che come consumatori.

Ecco perché questo è importante per i team di piattaforma: i vostri clienti sono sviluppatori interni—ingegneri che parlano il linguaggio del codice, capiscono i workflow GitHub, e possono contribuire significativamente allo sviluppo della piattaforma. Le metodologie per comunicare con comunità di sviluppatori interni sono fondamentalmente diverse dagli approcci Agile progettati per prodotti per utenti finali.

I vostri utenti di piattaforma comunicano attraverso sistemi di gestione del codice sorgente. Sono tecnici. Possono contribuire codice, documentazione, e miglioramenti significativi. InnerSource fornisce i modelli provati per sfruttare questa capacità.


Team Topologies e Modelli di Collaborazione #

Team Topologies, il libro bestseller che tutti citano quando discutono di platform engineering, delinea vari modelli di collaborazione tra team. Ma ecco un insight cruciale: non tutti i tipi di team beneficiano ugualmente dagli approcci InnerSource.

Team di Piattaforma e InnerSource: Un Match Perfetto I team di piattaforma hanno le relazioni di dipendenza più alte nella maggior parte delle organizzazioni. Quando una libreria è usata da 100 persone, lo sviluppo collaborativo beneficia tutti i 100 utenti. Previene la reinvenzione, riduce il carico di review, e crea economie di scala. Questo modello di alta dipendenza e alto riuso rende InnerSource incredibilmente prezioso per i team di piattaforma.

Team Stream-Aligned: Fit Meno Naturale I team stream-aligned, per design, hanno conoscenza di dominio completamente separata e dipendenze cross-team minime. La collaborazione tra team stream-aligned è naturalmente limitata perché sono ottimizzati per l’indipendenza. Quando esistono dipendenze, è più probabile che siano relazioni consumatore-fornitore piuttosto che relazioni di sviluppo collaborativo.

Questa distinzione è importante. I team di piattaforma beneficiano naturalmente da InnerSource perché rispecchiano le dinamiche di progetti open source di successo: alto riuso, contributori diversi, e benefici di manutenzione condivisa.


L’Era AI: Amplificare il Platform Engineering Attraverso una Migliore Architettura dell’Informazione #

Mentre entriamo nell’era AI, il platform engineering diventa ancora più critico—e i principi InnerSource diventano ancora più preziosi. Ecco perché:

Sviluppo di Piattaforma Assistito da AI Invece di avere umani che rispondono immediatamente alle issue degli utenti, le piattaforme possono assegnare triage iniziale e tentativi di soluzione ai sistemi AI. Ma questo richiede un’architettura dell’informazione che l’AI può capire: informazioni consolidate in repository GitHub, documentazione chiara, cronologie complete delle issue, e template standardizzati.

Il journey utente ideale diventa: scoprire le capacità della piattaforma attraverso il vostro portale → incontrare un’issue → creare una GitHub issue → il team di piattaforma assegna l’issue all’AI per analisi iniziale → review umana e implementazione. Questo flusso funziona solo quando tutte le informazioni rilevanti—documentazione, cronologia delle conversazioni, ticket correlati—vivono in formati accessibili all’AI.

La Sfida del Consolidamento delle Informazioni Capisco i vincoli. Non tutti hanno licenze GitHub Enterprise. Il codice sorgente potrebbe essere ospitato su blog interni o AWS CodeCommit. La documentazione correlata potrebbe vivere in Google Docs. Vari canali di comunicazione potrebbero essere sparsi tra Slack, Discord, e altre piattaforme.

Ma ecco l’insight critico: ogni workaround che implementate per accomodare questi vincoli aumenta il carico operativo del vostro team di piattaforma. Canali di comunicazione multipli creano conversazioni frammentate. Informazioni distribuite riducono la tracciabilità. Workflow inconsistenti portano a duplicazione e confusione.

Mentre l’AI non cambia fondamentalmente quello che i team di piattaforma devono fare, rende la qualità della vostra architettura dell’informazione più critica che mai. L’AI può ridurre significativamente lo sforzo richiesto per risolvere issue comuni di piattaforma—ma solo se avete strutturato le vostre informazioni per il consumo AI.


Implementazione Pratica: I Quattro Principi di InnerSource per i Team di Piattaforma #

1. Apertura: Rendere i Progetti Scopribili e Contributibili #

I vostri componenti di piattaforma devono essere più che solo disponibili—devono essere accessibili per il contributo. Semplicemente registrare repository in Backstage non è sufficiente. Ogni repository ha bisogno di documentazione chiara su chi lo mantiene, come contribuire, dove riportare bug, e come richiedere funzionalità.

Senza questa trasparenza, i team non possono impegnarsi significativamente con i vostri componenti di piattaforma. Diventano consumatori piuttosto che collaboratori, ricreando la dinamica insostenibile del service desk.

2. Trasparenza: Decision-Making Visibile #

Trasparenza significa documentare non solo cosa fornisce la vostra piattaforma, ma perché sono state prese decisioni di design. Quando fornite un template GitHub Actions o una pipeline di deployment, gli utenti devono capire il ragionamento dietro il suo design, se è appropriato per il loro caso d’uso, e se dovrebbero contribuire miglioramenti o creare versioni personalizzate.

Il decision-making chiuso porta a forking non informato, soluzioni duplicate, e caos nel vostro ecosistema di piattaforma.

3. Mentorship Prioritizzato: Onboarding di Sviluppatori su Larga Scala #

I team di piattaforma servono comunità di sviluppatori. I vostri “clienti” hanno bisogno di processi di onboarding, linee guida per il contributo, e percorsi chiari per l’engagement. Questo non riguarda la gestione di contributori esterni—riguarda la creazione di modi sostenibili per i team interni di impegnarsi con e migliorare la vostra piattaforma.

4. Contributo Volontario di Codice: Evoluzione della Piattaforma Guidata dalla Comunità #

L’obiettivo non è che i team di piattaforma gestiscano ogni richiesta. È creare condizioni dove gli utenti possono contribuire miglioramenti di ritorno alla piattaforma. Questo richiede cambiamento culturale: i componenti di piattaforma devono essere progettati per contributo esterno, non solo consumo.


Oltre gli Strumenti: Creare Comunità di Sviluppatori Sostenibili #

Usare GitHub non crea automaticamente InnerSource. Condividere codice non crea automaticamente comunità. Quello che conta è il contributo bidirezionale e la cultura collaborativa.

Il platform engineering senza comunità diventa solo un altro modo di fornire soluzioni agli sviluppatori piuttosto che costruire con loro. I team di piattaforma di maggior successo creano ecosistemi dove:

  • Gli utenti contribuiscono template e strumenti di ritorno alla piattaforma
  • Le richieste di funzionalità diventano opportunità di sviluppo collaborativo
  • La condivisione della conoscenza avviene naturalmente attraverso processi trasparenti
  • L’evoluzione della piattaforma è guidata da bisogni reali degli utenti, non da assunzioni del team di piattaforma

Il Percorso Avanti: Iniziare Piccolo, Costruire Comunità #

Non dovete trasformare la vostra intera organizzazione durante la notte. Iniziate con un componente di piattaforma. Rendetelo veramente aperto per il contributo. Documentate non solo come usarlo, ma come migliorarlo. Create percorsi chiari per feedback e contributo degli utenti.

Costruite la vostra base di fan core—gli sviluppatori che diventano veri sostenitori del vostro approccio di piattaforma. Abilitateli a contribuire significativamente all’evoluzione della piattaforma.

Il platform engineering su larga scala non riguarda la costruzione di strumenti migliori—riguarda la costruzione di comunità migliori attorno a quegli strumenti. InnerSource fornisce i modelli provati per creare queste comunità dentro i vincoli enterprise.

I team di piattaforma di maggior successo capiscono che non sono solo fornitori di infrastruttura—sono costruttori di comunità, facilitando la collaborazione tra sviluppatori che condividono bisogni comuni e possono contribuire a soluzioni comuni.

Il vostro journey di platform engineering non finisce quando deployate Backstage. Inizia quando cominciate a costruire la cultura collaborativa che sosterrà e farà evolvere la vostra piattaforma nel tempo.

Yuki Hattori

Yuki Hattori

President of the InnerSource Commons Foundation
Sr. Architect at GitHub
Open Source Technical Advisor at IPA (Japanese government administration)
Author of two books on AI and GitHub
O’Reilly books translator for Prompt Enginnering for LLMs and two InnerSource books[1][2]
 
Opinions expressed here are my own and do not represent any organization I am affiliated with.