KARRIÄR
Lego inspireras av Volvo – kartlägger anställdas kompetens med supergraf
Med grafdatabaser kan Lego virtualisera utvecklarnas kunskap, så man slipper fråga kollegorna. Men metoden kan också resultera i isolering, varnar en expert.
Developer Experience, eller devex, är det nya begreppet i devops-världen. Vi hade precis blivit bekanta med platform engineering, som betonar att utvecklare ska fokusera på utveckling snarare än andra uppgifter som att hantera nätverk eller databaser. Och i samma anda hittar vi det nya fokuset på utvecklarna.
Framtidssiarna hos Gartner definierar devex – utvecklarupplevelse – som mjukvaruutvecklares allmänna tillfredsställelse och produktivitet när de använder verktyg, ramverk och plattformar för att bygga applikationer. Det omfattar användarvänlighet, effektivitet och verkan av utvecklarverktyg, dokumentation, support och gemenskapsresurser, enligt konsultföretagets definition.
Hos leksaksföretaget Lego har man tänkt på hur utvecklarupplevelsen kan förbättras. Med utgångspunkt i Spotifys verktyg Backstage, som är ett open source-system för att bygga utvecklarportaler, har företaget skapat sitt eget system, Baseplate – uppkallat efter den bottenplatta man sätter Lego-klossar på.
"Vi behöver data för att skapa bra utvecklarupplevelser," berättar Jonas Druedahl Rask, som är chefutvecklare på Lego, på Eficodes Devops Conference Global, som ägde rum i London i mars och som livestreamades världen runt.
Supergrafen
Den speciella ingrediensen som får allt att falla på plats är supergrafen. Jonas Druedahl Rask förklarar på scenen i London.
– Vi har hämtat inspiration från vad Netflix och Volvo gör med sina supergrafer. I grund och botten är en supergraf ett GraphQL API. Du har en ingångspunkt där folk kan hämta all data från de underliggande graferna. Vi har byggt det kring tripletter, där man har ett subjekt, ett objekt och ett predikat, så att man kan skapa detaljerade och meningsfulla relationer i denna modell. Här har vi till exempel en medarbetare som kan ha flera olika relationer till en produkt.
Detta sätt att beskriva fakta härstammar från vanlig logik och går under namnet kunskapsgraf – en trädstruktur där bladen i trädet representerar känd kunskap.
I exemplet ovan är utvecklaren subjektet – det skulle kunna vara ‘Lisbeth’ – som har en egenskap (ett predikat), såsom "är-ledande-utvecklare-för," och objektet är produkten, som skulle kunna heta "den nya redovisningsmodulen," eller vad det nu kan vara. På så sätt kan man beskriva en överraskande stor mängd fakta.
Eftersom data är bundna i en graf, kan man söka på komplicerade relationer och få klara svar, som är bekant från semantisk webb-teknologin. Alla resurser, medarbetare, produkter och annan kunskap representeras i systemet på ett sätt som gör det enkelt att söka fram informationen.
Gammaldags metod ger utmaningar Och vad ska denna manöver tjäna till? Jonas Druedahl Rask ger ett tydligt exempel, med utgångspunkt i en fiktiv ny medarbetare i organisationen som ska börja arbeta:
– Här har vi Emma som ansluter sig till ett produktteam. Emma har nu uppgiften att ta en del av produkten till molnet och påbörja molnresan för produkterna. Hon måste ta reda på hur det ska göras. Emma ser sig omkring och hittar några kollegor som kanske vet vem hon ska tala med. Hon har tur, så dessa personer vet att det finns ett team som heter Cloud Enablement. Emma tar kontakt med teamet, och de talar fram och tillbaka. Det skickas några e-postmeddelanden, och hon ombeds fylla i vissa uppgifter. Och så till slut, efter en vecka, får Emma tillgång till ett molnkonto. Det är inte den bästa utvecklarupplevelsen, sammanfattar Jonas Druedahl Rask.
Utmaningarna med den gamla metoden är att det är svårt att veta vart man ska vända sig för att få saker gjorda. Man måste känna någon som känner någon, och det är ett verkligt problem som man ser om och om igen, säger Jonas Druedahl Rask. Och när man har hittat rätt personer saknas det fortfarande automatisering.
– Det betyder att du har en mycket lång leveranstid på den uppgift du försöker lösa här. En sak som inte är omedelbart uppenbar är bristen på ägarskap. Så i vårt exempel från verkligheten, skulle molnkontot faktiskt vara bundet till Emma som individ.
Om Emma byter team, så flyttar kontot med henne, istället för att stanna hos teamet som äger produkten.
Behöver inte tala med någon
Jonas Druedahl Rask ger ordet vidare till sin kollega Waqas Ali, som är ledande utvecklare på Legos utvecklarplattform.
Han för oss vidare i historien om Emma, som bygger på Lego och andras konkreta erfarenheter.
Waqas Ali föreställer sig att Emma har fått en ny uppgift, som innebär att hon ska arbeta tillsammans med andra team. Nu kan hon använda Baseplate-systemet för att hitta relevanta API, dokumentation och andra team i organisationen som berörs av uppgiften.
– Hon behöver inte tala med någon. Hon är också intresserad av att ta reda på mer om människor, så hon kan också hitta personer att samarbeta med. Om hon hittar ett produktteam kan hon se vem som arbetar i detta produktteam direkt från Baseplate, och då kan hon kontakta dem och samarbeta. Och du kan naturligtvis, om du är modig, skapa en pull request till det aktuella teamet, säger Waqas Ali, med utvecklarnas språkbruk som handlar om att föreslå en ny funktion i ett program.
Och systemet fungerar, bedyrar Waqas Ali från Lego. Det är mer än 60 000 klick på dokumentationen varje månad, och över 400 API är implementerade via systemet.
Plattformen inkluderar också en plugin-modell som ger teamen möjlighet att utöka funktionaliteten och skapa plugins med hjälp av mallar, exempelvis för att snabbt få tillgång till molnet, där det tidigare tog tre dagar att skaffa ett konto.
En bieffekt är att molnkontot nu är knutet till projektet och inte till en viss person. Det är också möjligt att granska utvecklarnas användarresor i systemet, och om skapandet av ett molnkonto ofta misslyckas, kan man gå tillbaka till utvecklarna och ta reda på om det finns brister i processerna.
Supergraf kan öka isoleringen
Tina Blegind Jensen är professor vid institutionen för digitalisering vid Copenhagen Business School. Hon ser tydliga fördelar med supergrafen, särskilt med exemplet Emma som just har börjat på jobbet:
– Det är otroligt bra som nyanställd att kunna sitta för sig själv lugnt och stilla och försöka ta reda på: Vem är det jag ska interagera med? När man gör det genom systemet så överträder man inte alltför många regler i början – som att man råkar knacka på hos fel person eller överträder någons gränser.
Men Tina Blegind Jensen ser också nackdelar. Man kan gå miste om – just – att kliva in där man kanske inte borde, eftersom det är så man lär sig att skapa relationer och integreras i organisationens kultur.
– Det kan göra att man kanske blir mer isolerad, och om man inte är så bra på att ta kontakt, kan det bli ännu svårare att ta kontakt eftersom man gömmer sig bakom systemet.
Det innebär också att man som ledare måste vara medveten om hur man både får nya medarbetare förtrogna med systemet, men också får dem – särskilt nya anställda – förtrogna med att interagera med varandra och skapa de nödvändiga rummen för interaktion.
– För det behöver vi alla. Kanske sitter en person med en kompetens som inte är registrerad i systemet ännu.
Och det upptäcker man kanske bara vid kaffemaskinen.
Den här artikeln har tidigare varit publicerad i ing.dk. Ny Teknik översätter och publicerar utvalda artiklar exklusivt för prenumeranter, som en del i ett samarbete mellan tidningarna.