Condividi tramite


Comporre il team

A livello aziendale, l'ingegneria della piattaforma è un'evoluzione lontano dalla cultura reattiva. In una cultura reattiva, gli sviluppatori solitari creano strumenti in silos. Quando uno sviluppatore lascia, con lui/lei se ne va anche la conoscenza del funzionamento dello strumento, il che può portare a processi interrotti e fasi di inattività.

In una cultura più matura, gli strumenti vengono creati in modo proattivo e gestito dal team di progettazione della piattaforma. È disponibile un'autonomia gestita per gli sviluppatori e gli sviluppatori possono iniziare rapidamente a usare nuovi progetti.

Affinché i team di progettazione della piattaforma abbiano successo, le organizzazioni devono avere culture proattive con acquisti esecutivi e sviluppatori con le competenze appropriate.

La cultura proattiva e il supporto degli esecutivi si allineano con la capacità di investimento nel Modello di Capacità di Ingegneria della Piattaforma. Ai livelli più elevati, la leadership aziendale promuove l'autonomia e la responsabilità del team, promuovendo al contempo l'innovazione e l'implementazione di misure di governance.

Ruolo della cultura

Le organizzazioni con maturità di ingegneria della piattaforma hanno una forte leadership. La progettazione della piattaforma all'interno di un'azienda è un atto di bilanciamento che richiede una rivalutazione continua. Le organizzazioni devono supportare il team di progettazione della piattaforma nei suoi sforzi per comprendere l'utilizzo delle risorse corrente ed eseguire il mapping di un percorso in avanti.

Nelle prime fasi dell'adozione della progettazione della piattaforma, i team di prodotto hanno ognuno un proprio set unico di strumenti, operazioni e processi di distribuzione. In un'organizzazione di ingegneria della piattaforma matura, la progettazione centralizzata della piattaforma è considerata il modo migliore per lavorare sia dai responsabili che dagli sviluppatori. Le organizzazioni mature riconoscono che i problemi del team di prodotto sono problemi dell'organizzazione.

..quando abbiamo seguito percorsi diversi, i costi del cloud, i costi dell'infrastruttura, i costi di progettazione, altri costi, si sono rivelati essere un problema organizzativo e un problema comune a 20.000 sviluppatori o 30.000 dipendenti dell'organizzazione. – Senior engineering leader presso una società di software aziendale

La cultura dell'organizzazione deve supportare l'uso di un percorso di individuazione costante nella progettazione della piattaforma. I dirigenti dovrebbero concentrarsi sul dare potere al team di ingegneria della piattaforma per innovare.

L'obiettivo dell'organizzazione deve essere quello di passare a una cultura di ottimizzazione in cui i dirigenti:

  • Consentire ai team di affrontare i casi perimetrali in modo efficace e promuovere l'innovazione.
  • Promuovere autonomia e responsabilità all'interno dei team per incoraggiare l'innovazione e la sperimentazione.
  • Garantire una rilevanza e un'efficacia continui in base alle esigenze aziendali in continua evoluzione e alle esigenze degli utenti.

Nel corso del tempo, le organizzazioni passano dal provvisorio all'ottimizzazione dei livelli di supporto dei cambiamenti culturali con l'ingegneria della piattaforma. A ogni livello, il ruolo della leadership si evolve per guidare i cambiamenti culturali necessari per adottare la visione dell'ingegneria della piattaforma.

Dati provvisori Operativo Scalabile Ottimizzazione
Promuovere una cultura del processo decisionale basato sui dati e adattabilità. Promuovere una cultura di collaborazione, apprendimento continuo e miglioramento. Promuovere una cultura di empatia e crescita. ​ Incoraggiare l'innovazione e consentire ai team di guidare il cambiamento e i progressi. ​

Le motivazioni organizzative si evolvono anche a ogni livello per supportare il cambiamento culturale dell'ingegneria della piattaforma.

Dati provvisori Operativo Scalabile Ottimizzazione
  • Riconoscere l'imperativo per implementare una soluzione a livello di organizzazione.
  • Classificare in ordine di priorità l'acquisizione di informazioni dettagliate sull'inefficacibilità usando metriche e misurazioni per individuare in modo efficace i colli di bottiglia del sistema.
  • Migliorare la struttura organizzativa per abilitare e supportare le iniziative di cambiamento.
  • Coltivare una mentalità collaborativa nell'organizzazione per promuovere la risoluzione collettiva dei problemi.
  • Classificare in ordine di priorità la creazione di meccanismi di feedback affidabili per favorire il miglioramento continuo.
  • Promuovere una cultura dell'affidabilità.
  • Promuovere un approccio di crescita guidato dal prodotto per ottenere un successo sostenibile.
  • Promuovere una cultura di empatia e una mentalità orientata alla crescita tra i team.
  • Elevare l'importanza della ricerca degli utenti del prodotto nei processi decisionali.
  • Consentire ai team di affrontare i casi perimetrali in modo efficace e promuovere l'innovazione.
  • Promuovere autonomia e responsabilità all'interno dei team per incoraggiare l'innovazione e la sperimentazione.
  • Garantire una rilevanza e un'efficacia continui in base alle esigenze aziendali in continua evoluzione e alle esigenze degli utenti.

Struttura dell'organizzazione

I tecnici della piattaforma sono la colla tra sviluppo e operazioni. In termini di struttura organizzativa specifica, il Modello Team Topologies è un buon approccio per pensare a ciò che devi fare. Ad esempio, si potrebbe scegliere di avere un team della piattaforma evoluto, con specialisti distinti che sono più focalizzati sugli aspetti rivolti agli sviluppatori della piattaforma.

Per avere esito positivo, identificare:

  • Sponsor per il team (in genere dirigenti) che aiutano a classificare in ordine di priorità gli obiettivi di alto livello e a promuovere l'uso della piattaforma nell'intera organizzazione.
  • Gli stakeholder delle operazioni, della sicurezza, della conformità e dell'architettura collaborano per garantire che la piattaforma possa soddisfare le loro linee guida e esigenze.
  • Qualcuno che agisce come product manager (indipendentemente dal titolo effettivo) per comprendere e aiutare a classificare in ordine di priorità le esigenze di tutti gli elettori.

Superare il divario tra i talenti: requisiti del tecnico della piattaforma

I tecnici della piattaforma devono avere una mentalità orientata al prodotto e comprendere anche le operazioni. Che abbiano iniziato come sviluppatori o nel team delle operazioni è meno importante del loro set di competenze. Un team che crea una piattaforma per sviluppatori interna può ottenere forza dall'introduzione di vari membri del team con background diversi: sviluppo, operazioni IT, amministratori Kubernetes, ingegneri dell'affidabilità del sito (SRE) ed esperti dell'infrastruttura come codice (IaC).

Puoi anche rafforzare le conoscenze e le competenze del tuo team nello sviluppo di strumenti, coinvolgendo sviluppatori adeguati provenienti dai team di applicazioni esistenti nella tua organizzazione. Questi sviluppatori sono in un buon posto per rappresentare la voce del cliente mentre si pensa agli investimenti.

Trovare tecnici della piattaforma può essere una sfida.

È molto difficile assumere ingegneri davvero bravi specializzati in infrastrutture e piattaforme. Molte delle persone che assumiamo oggi sono super appassionate delle applicazioni rivolte direttamente ai clienti, giusto? Ma non abbiamo un grande pubblico o candidati nell'intero settore tecnologico che sono appassionati di infra engineering e che è sempre una sfida... Per infra, questo tipo di competenza è raro. - VP of engineering presso una società di vendita di medie dimensioni

I tecnici della piattaforma devono essere in grado di:

  • Creare e ridimensionare prodotti per sviluppatori interni con particolare attenzione all'efficienza, all'affidabilità e alla sicurezza.
  • Contribuire all'architettura e alla progettazione dei prodotti di ingegneria della piattaforma.
  • Usare correttamente l'orchestrazione dei contenitori (ad esempio, Kubernetes), l'integrazione continua e la distribuzione continua (ad esempio, GitHub Actions, Azure Pipelines) e gli strumenti di monitoraggio e registrazione (ad esempio Prometheus, Grafana, Elasticsearch).
  • Creare modelli con infrastruttura come codice e strumenti associati ( ad esempio Terraform e Azure Resource Manager).
  • Scrivere codice in almeno un linguaggio di scripting( ad esempio Python, PowerShell e Bash).

La creazione di un team di progettazione della piattaforma ottimale richiede un'ampia gamma di competenze tecniche e un approccio incentrato sul prodotto. Nonostante le sfide di assunzione, la creazione di un team con diversi background porta a piattaforme interne migliori che migliorano l'efficienza, l'affidabilità e la sicurezza. Questo approccio olistico non solo risolve le esigenze tecniche immediate dell'organizzazione, ma promuove anche una cultura dell'innovazione e del miglioramento continuo.

Passo successivo