Varje kund är viktig
En viktig princip för plattformsutveckling är att optimera för dina kunder. Tänk på utvecklare som din primära kund och fokusera på deras behov först när du bestämmer vilka utvecklingsvägar du vill bana. Utvecklare använder alla olika verktyg för att få sitt arbete gjort. Börja som ett första steg och utvärdera om du kan förbättra befintliga skärmar och ytor innan du implementerar en helt ny intern utvecklarplattform.
Tänk på utvecklare som din primära kund
Att tänka på utvecklare som primär kund för din interna utvecklarplattform är viktigt för dess framgång. Vi kallar dessa kunder för utvecklare för enkelhetens skull, men de kan vara medlemmar i vad Team Topologies-modellen kallar stream-aligned teams – inklusive roller som maskininlärningspersonal eller dataexperter.
En framgångsrik plattformsteknik gör det möjligt för utvecklare och operatörer att fatta beslut som gör det möjligt för utvecklare att fokusera på att leverera affärsvärde, samtidigt som de följer etablerade standarder, styrning och säkerhetsregler. Viktiga intressenter, som gör det möjligt för team och experter i specifika undersystem (åtgärder, säkerhet, efterlevnad och arkitektur) arbetar med teamet som skapar den här interna plattformen för att kodifiera deras expertis och bästa praxis i mallar och systemfunktioner. Att flytta den här kunskapen till ett system samtidigt minskar den kognitiva belastningen för utvecklare, förbättrar säkerhet, efterlevnad och kvalitet och skalar dessa andra roller bättre för att hantera verkligt unika problem. Det är dock utvecklarupplevelsen som säkerställer att din plattform ger mest nytta för alla inblandade.
Det innebär att du följer en kundcentrerad metod för att planera och prioritera dina plattformstekniska insatser.
Läs mer om planering och prioritering.
Förstå vilka utvecklingsvägar du vill bana
Din organisation kan ha olika utvecklingsvägar till produktion idag, men ett tidigt steg i din plattformsteknikresa är att förstå vilka vägar du vill att utvecklare ska använda. Att göra det här anropet är viktigt eftersom det gör att du kan fokusera din energi på att bana en effektiv väg genom dem som fortfarande uppfyller kraven för utveckling, drift och styrning.
Dessa banade vägar (och alla helt asfalterade gyllene vägar) representerar en viss uppsättning utvecklingsverktyg och observerbarhetsverktyg, språk, SDK:er och tjänster som är utformade för att passa vad utveckling, verksamhet och andra intressenter är överens om som representerar deras bästa praxis. Banade vägar bör omfatta metoder för att effektivisera ombordstigning, måttlighet och påverkansarbete för intern återanvändning. Du behöver inte tänka på dessa banade vägar som restriktiva eller framtvingade, utan snarare minska utvecklararbetet till den punkt som utvecklingsteamen vill hålla sig inom dem.
Tricket är dock att förstå inte bara vilka vägar som ska fokuseras på, utan vilka delar av vägen som måste banas först.
Träffa användare där de är
Även om det kan vara frestande att börja med en enhetlig portal för allt i din interna utvecklarplattform är detta ofta inte den bästa utgångspunkten.
Dina driftstekniker, platstillförlitlighetstekniker (SRE) och utvecklare använder alla olika verktyg för att få sitt arbete gjort. Kodning sker i en IDE, tekniksystem som GitHub och Azure DevOps använder kommandoradsgränssnitt, och samarbete i realtid sker i Teams och Slack. Ofta är dessa användare nöjda med dessa skärmar och är försiktiga med ännu ett användargränssnitt att oroa sig för.
Börja litet och utvärdera om du kan förbättra dina befintliga skärmar och ytor, helst via plugin-program eller tillägg, innan du börjar skapa nya anpassade upplevelser från grunden. Fråga dig själv, kommer människor att reagera bättre på en annan ny användarupplevelse eller en förbättrad version av något du har nu? Även om du bestämmer dig för att skapa en portal från grunden till att börja med kan du ta hänsyn till att du förmodligen vill ha stöd för fler än ett gränssnitt via ett API. Detta låser också upp alternativ som att använda ramverk med låg kod så att du inte behöver skapa och vara värd för en portalupplevelse från grunden.