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, la conoscenza di come funziona lo strumento lascia, che può portare a processi interrotti e tempi di inattività.
In una cultura più matura, gli strumenti vengono creati in modo proattivo e gestito dal team di progettazione della piattaforma. L'autonomia gestita per sviluppatori e sviluppatori può 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 l'acquisto esecutivo si allineano alla funzionalità di investimento nel modello di capacità di progettazione 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.
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 ci siamo inseguiti in percorsi diversi, il costo del cloud, il costo dell'infrastruttura, i costi di progettazione, vari aspetti, si è rivelato un problema organizzativo e il problema di tutti di 20.000 sviluppatori o 30.000 dipendenti del problema 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 devono concentrarsi sul supporto del team di progettazione della piattaforma per innovare.
L'obiettivo per l'organizzazione deve essere quello di ottimizzazione della cultura 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 nel guidare i cambiamenti culturali necessari per adottare la visione dell'ingegneria della piattaforma si evolve.
Provvisorio | Operativo | Scalabile | Ottimizzazione |
---|---|---|---|
Promuovere una cultura del processo decisionale basato sui dati e dell'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 promuovere il cambiamento e il progresso |
Le motivazioni organizzative si evolvono anche a ogni livello di supporto del cambiamento culturale dell'ingegneria della piattaforma.
Provvisorio | Operativo | Scalabile | Ottimizzazione |
---|---|---|---|
|
|
|
|
I tecnici della piattaforma sono la colla tra sviluppo e operazioni. In termini di struttura organizzativa specifica, il modello Topologie team è un buon approccio per considerare le operazioni da eseguire. Ad esempio, si potrebbe scegliere di avere un team di piattaforma evoluto, con specialisti distinti che sono più incentrati sugli aspetti dello sviluppatore che affrontano gli aspetti 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 consentono di garantire che la piattaforma possa soddisfare le proprie linee guida e le proprie 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.
I tecnici della piattaforma devono avere una mentalità orientata al prodotto e comprendere anche le operazioni. Indipendentemente dal fatto che siano stati avviati come sviluppatori o nel team operativo sia meno importante del 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 K8s, ingegneri di affidabilità del sito (SRE) ed esperti dell'infrastruttura come codice (IaC).
È anche possibile rafforzare le conoscenze e le competenze del team per lo sviluppo di strumenti offrendo agli sviluppatori adatti i team di applicazioni esistenti nell'organizzazione. Questi sviluppatori sono in un buon posto aiutano a rappresentare la voce del cliente come si pensa agli investimenti.
Trovare tecnici della piattaforma può essere una sfida.
È molto difficile assumere infrastrutture e ingegneri della piattaforma davvero buoni. 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 progettazione della piattaforma
- Lavorare correttamente con l'orchestrazione dei contenitori (ad esempio: Kubernetes), l'integrazione continua/la distribuzione continua (esempi: GitHub Actions, Azure Pipelines) e strumenti di monitoraggio e registrazione (esempi: Prometheus, Grafana, Elasticsearch)
- Creare modelli con Infrastruttura come codice (IaC) e strumenti associati (esempi: Terraform, Azure Resource Manager)
- Scrivere codice in almeno un linguaggio di scripting (esempi: Python, PowerShell, 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.