Ogni cliente è importante
Un principio fondamentale della progettazione della piattaforma è ottimizzare per i clienti. Si pensi agli sviluppatori come al cliente principale e concentrarsi prima sulle proprie esigenze quando si decide quali percorsi di sviluppo si vuole aprire. Tutti gli sviluppatori usano diversi strumenti per svolgere il proprio lavoro. Come primo passaggio, iniziare da piccolo e valutare se è possibile migliorare gli schermi e le superfici esistenti prima di implementare una nuova piattaforma per sviluppatori interna.
Offrire agli sviluppatori una piattaforma interna incentrata sul cliente
Pensare agli sviluppatori come cliente principale per la piattaforma per sviluppatori interna è essenziale per il successo. Questi clienti verranno definiti sviluppatori, ma possono essere membri di qualsiasi membro del modello Topologie team come team allineati al flusso, inclusi ruoli come professionisti di Machine Learning o data scientist.
Una pratica di progettazione della piattaforma di successo consente a sviluppatori e operatori. Gli sviluppatori e gli operatori hanno autonomia per prendere decisioni che offrono valore aziendale, pur rispettando gli standard, la governance e le regole di sicurezza stabiliti. Gli stakeholder critici, l'abilitazione di team ed esperti in sottosistemi specifici (operazioni, sicurezza, conformità e architettura) collaborano con il team che compila questa piattaforma interna per codificare le proprie competenze e le procedure consigliate nei modelli e nelle funzionalità di sistema. Lo spostamento di queste conoscenze in un sistema riduce simultaneamente il carico cognitivo per gli sviluppatori, migliora la sicurezza, la conformità e la qualità e ridimensiona meglio questi altri ruoli per affrontare problemi davvero univoci. Tuttavia, è l'esperienza di sviluppo che garantisce che la piattaforma restituisca il massimo vantaggio per tutti gli utenti coinvolti.
Questo significa seguire un approccio incentrato sul cliente per la pianificazione e la definizione delle priorità delle attività di progettazione della piattaforma.
Identificare percorsi di sviluppo ottimali per semplificare le procedure consigliate
Anche se l'organizzazione potrebbe avere diversi percorsi di sviluppo per la produzione oggi, un passaggio iniziale del percorso di progettazione della piattaforma consiste nel comprendere quali percorsi si vuole che gli sviluppatori usino. Effettuare questa chiamata è importante perché consente di concentrare l'energia sull'attivazione di un percorso efficiente attraverso di essi che soddisfa ancora i requisiti di sviluppo, operazioni e governance.
Questi percorsi pavimentati rappresentano un particolare set di strumenti di sviluppo e osservabilità, linguaggi, SDK e servizi modellati per adattarsi a ciò che lo sviluppo, le operazioni e altri stakeholder accettano di rappresentare le procedure consigliate. I percorsi pavimentati devono includere approcci per semplificare l'onboarding, la moderazione e la difesa per il riutilizzo interno. Non è necessario considerare questi percorsi pavimentati come restrittivi o forzati, ma piuttosto ridurre la fatica dello sviluppatore al punto in cui i team di sviluppo vogliono rimanere all'interno di loro.
Tuttavia, il trucco è capire non solo quali percorsi concentrarsi su, ma quali parti del percorso devono essere prima pavimentate.
Incontrare gli utenti in cui si trovano
Anche se può essere tentabile iniziare con un portale unificato per tutto ciò che si trova nella piattaforma per sviluppatori interna, questo non è il punto di partenza migliore.
I professionisti delle operazioni, gli ingegneri dell'affidabilità del sito e gli sviluppatori usano tutti strumenti diversi per svolgere il proprio lavoro. La codifica avviene in un IDE, sistemi di progettazione come GitHub e Azure DevOps usano interfacce della riga di comando e la collaborazione in tempo reale avviene in Teams e Slack. Spesso questi utenti sono soddisfatti di questi schermi e sono diffidenti di un'altra interfaccia utente di cui preoccuparsi.
Iniziare da piccolo e valutare se è possibile migliorare le schermate e le superfici esistenti, Creare plug-in o estensioni prima di iniziare a creare nuove esperienze personalizzate. Chiediti, le persone reagiscono meglio a un'altra nuova esperienza utente o a una versione migliorata di qualcosa che hai ora? Se si decide di creare un portale da zero per iniziare, tenere conto dell'idea che probabilmente si vuole supportare più interfacce tramite un'API. In questo modo si sbloccano anche opzioni come l'uso di framework a basso codice, in modo da non dover compilare e ospitare un'esperienza del portale da zero.