Även om DevOps är allmänt känt för att effektivisera programvaruleveranser och höja kvaliteten, kräver skapandet av ett verkligt effektivt team mer än att implementera ett enskilt verktyg. Det handlar om en strategisk kombination av rätt element: kultur, processer, samarbete och teknik. Den här artikeln utforskar de centrala delarna i ett högpresterande DevOps-team och ger insikter i hur organisationer kan integrera dem för optimala resultat.
För den här frågestunden har vi pratat med David Brooks, Senior Vice President för evangelisering på Copado. Som veteran med 35 år i Silicon Valley började han på Copado 2018 för att skapa avdelningen för produktledning och ledde produktteamet i fyra år. Brooks började på Salesforce.com 2005 för att lansera AppExchange. Som produktchef ledde han team som byggde Force.com-plattformen under sina nio år på Salesforce.
Tack så mycket för att du ville prata med oss! Innan vi går vidare, vill du berätta om din bakgrund?
Jag tog en masterexamen i elektroteknik från Auburn University 1984. Mitt examensarbete var ett feltolerant multiprocessoroperativsystem för ballistiskt missilförsvar.
Jag flyttade till Silicon Valley och arbetade för åtta startupföretag, varav tre hittills har genomfört framgångsrika företagsförsäljningar eller börsintroduktioner. Jag började också på Salesforce strax efter att företaget börsnoterades 2005. Jag ledde teamen som lanserade AppExchange och därefter Salesforce-plattformen. Jag har främst haft ledande befattningar inom teknik och produktledning, även om jag också var grundare och vd för två företag.
Ingen av oss kan nå framgång utan hjälp på vägen. Finns det någon särskild person som hjälpte dig att nå dit du är i dag?
Det finns två betydelsefulla personer. Chuck Comiso var vd för Link Technologies, där jag ledde produktutvecklingen. Han var en chef av den gamla HP-skolan. Chuck lärde mig mycket om personalledning. Ted Elliott var vd för JobScience och är vd för Copado i dag. Ted lärde mig att fokusera på det viktiga och vad som krävs för att få ett startupföretag att växa.
Vilka tre styrkor, färdigheter eller egenskaper har hjälpt dig att nå den här punkten i karriären? Hur kan andra aktivt utveckla dessa områden hos sig själva?
Nyfikenhet, kommunikation och kreativitet. Jag är naturligt nyfiken och har ett livslångt lärande som drivkraft, en gåva som jag uppskattar allra mest. Jag har också förmågan att kommunicera med människor på ett sätt som de förstår. Jag talar kinesiska och har lärt mig att ha tålamod med personer som talar engelska som andraspråk. Detta hjälper mig också att förklara tekniska idéer för personer utan teknisk bakgrund.
Människor är ofta så upptagna med att planera vad de ska säga härnäst att de missar kärnfrågan i ett samtal. Slutligen kan jag, eftersom jag har ett så brett intresse, sätta ihop idéer på nya sätt. Min kreativitet handlar därför mer om förmågan att sammanföra stora mängder information till en ny tillämpning.
Vilka färdigheter försöker du fortfarande utveckla?
Det måste vara kommunikationen. Jag har nyligen gått in i en ny roll som teknisk evangelist, vilket kräver att jag vässar min förmåga att kommunicera de centrala idéer som skiljer Copado från mängden. Jag leder också vårt arbete i Kina, så mina kunskaper i kinesiska kommer att sättas på prov.
Låt oss prata om att ha ett framgångsrikt DevOps-team. Vilka centrala mål kan ett DevOps-team identifiera för en digital transformationsresa?
Jag tycker att tydlighet och respekt är avgörande. Att skapa klarhet kring vad som behöver göras handlar om prioritering, och det definierar tydligt de enskilda användarberättelserna och funktionerna. En bra produktchef bör kunna kommunicera ”vad” och ”varför”.
Det börjar med en djup förståelse för ”varför” och därefter med att säkerställa att utvecklings- och testteamen också förstår det. Det måste finnas ömsesidig respekt mellan teammedlemmarna, där var och en anser att deras åsikter värdesätts och att deras farhågor tas på allvar. Men varje teammedlem måste också ta ansvar för sina uppgifter och förtjäna det förtroendet i varje sprint.
Finns det några utmaningar eller vanliga fallgropar som DevOps-team bör ta hänsyn till?
Alltför ofta gör en produktägare ett dåligt jobb med att förstå användarnas behov – inte vad de har bett om, utan vad de behöver. Jag fick alltid lära mig att fråga ”varför?” fem gånger. Då förstår man vad som verkligen behövs och kan kommunicera det till resten av teamet.
Den andra utmaningen uppstår när teammedlemmar inte är uppriktiga om meningsskiljaktigheter. Jag har sett utvecklare säga till en produktchef att något inte var tekniskt möjligt, bara för att de inte tyckte att det var rätt sak att göra. Varje teammedlem bör känna att deras åsikt värdesätts och säga ifrån när de inte håller med. I slutändan måste teamledaren fatta ett beslut, och resten av teamet måste ställa sig bakom det.
Hur kan effektivt samarbete och effektiv kommunikation mellan teammedlemmar förbättra produktiviteten och framgången för ett DevOps-team, och vilka metoder kan underlätta detta?
Öppen och uppriktig kommunikation, där allas åsikter värdesätts och alla får möjlighet att komma till tals, är oerhört viktigt. Det är också viktigt att förstå varför. Om en teammedlem ser ett bättre sätt att uppfylla kravet bör teamet vara öppet för idén. Detta leder ofta till en bättre lösning som levereras på kortare tid.
Vilken roll spelar CI/CD inom DevOps, och vilka är de bästa metoderna för att implementera CI/CD-pipelines för att säkerställa en smidig och tillförlitlig process för programvaruleveranser?
CI/CD handlar helt och hållet om att lansera många små förändringar. Det börjar med att definiera användarberättelser på ett sådant sätt att de kan realiseras på timmar, inte dagar, och släppas vidare till nästa steg utan att något går sönder. Automatiserade funktionella tester och säkerhetstester är också avgörande.
Team bör anamma testdriven utveckling så att funktionalitet snabbt kan flöda genom pipelinen. Kvalitetsgrindar bör etableras i varje steg för att säkerställa att en förändring inte kan gå vidare om den inte är komplett. Äkta CI/CD hela vägen till produktion är inte praktiskt möjligt i vissa starkt reglerade branscher, men det bör inte hindra arbetssättet i alla steg fram till produktion.
-
Octopus Deploy
Visit WebsiteThis rating combines scores from multiple user review sites to reflect overall customer sentiment about the product.3.2 -
GitHub Actions
Visit WebsiteThis rating combines scores from multiple user review sites to reflect overall customer sentiment about the product.4.8 -
Terraform
Visit WebsiteThis rating combines scores from multiple user review sites to reflect overall customer sentiment about the product.4.7
Hur bidrar främjandet av en DevOps-kultur och ett DevOps-tankesätt till ett teams övergripande framgång, och vilka strategier kan organisationer använda för att främja denna kultur bland sina utvecklings- och driftteam?
Ett DevOps-tankesätt innebär att alla teammedlemmar har ett gemensamt mål: att leverera kvalitetsarbete hela vägen till produktion. Utvecklare kan inte tänka att deras jobb är klart när de skickar ändringar till kodarkivet. Kvalitet är inte en enskild persons uppgift; det är varje teammedlems ansvar. Detta, kombinerat med tillit och öppenhet för ständiga förbättringar, gör teamet framgångsrikt.
Vilka är de viktigaste komponenterna i ett framgångsrikt DevOps-team?
1 . Ömsesidig tillit—Tidigare i min karriär arbetade jag i ett team där teammedlemmarna inte litade helt på varandra. De ifrågasatte ständigt andras beslut och gjorde i hemlighet ändringar för att ”korrigera” problem. Det saktade ner utvecklingen och gjorde det mycket obehagligt att arbeta i teamet.
2 . Engagemang för teamets mål - Effektivt teamarbete bygger på gemensamma mål. Enligt min erfarenhet går de mest framgångsrika teamen längre än individuella prestationer. Jag har sett ledande utvecklare som, efter att snabbt ha slutfört sina uppgifter, erbjuder vägledning och stöd till juniora programmerare. Denna samarbetsanda sträckte sig ännu längre, där utvecklare hjälpte testingenjörer att slutföra testautomatisering. Som ett resultat levererade detta team konsekvent enligt sina åtaganden och upprätthöll en positiv arbetsmiljö
3 . Tydlig kommunikation - Mycket tid och energi kan slösas bort när teamet inte kommunicerar väl. Det börjar med en korrekt förståelse av målen. När jag började arbeta med agil metodik 2006 tyckte jag att sprintplaneringsmötena var för långa och att de dagliga ståmötena var fåniga. Det hjälpte inte att jag var tvungen att bära en bild av en tupp under mötet för att påminna mig om att jag var observatör och inte kunde tala.
I efterhand förstår jag hur viktigt det är att hålla dessa möten korta, men det fanns missade möjligheter att klargöra punkter. Senare i min karriär använde vi dagliga ståmöten för att klargöra frågor. Man vill inte komma till slutet av sprinten och först då upptäcka att man har byggt något felaktigt.
4 . Ständiga förbättringar - Inga två team är likadana, och ingen enskild process fungerar för alla team. Lean production-rörelsen gav arbetarna på ett löpande band möjlighet att ändra processen för att göra den effektivare. De genomförde experiment och avgjorde om förändringarna gjorde saker bättre eller sämre. Detsamma gäller processer för mjukvaruutveckling. Teamet bör mäta resultaten med hjälp av verktyg som värdeflödeskartläggning för att förstå de faktiska problemen och sedan vara villigt att ändra processen till en som är meningsfull och fortfarande följer företagets efterlevnadsregler.
5 . En trygg plats för nya idéer - Det enda sättet att få alla teammedlemmar att dela med sig av sina idéer är att de känner sig trygga med att göra det. Det finns inga dumma frågor eller idéer. Ofta kan en idé verka omöjlig att genomföra, men om man ifrågasätter långvariga arbetssätt upptäcker man att ingen vet varför de infördes. Det värsta svar jag någonsin har hört var: ”För att vi alltid gör så här.” Behovet av ständiga förbättringar innebär att man måste vara öppen för nya sätt att tänka. Man kanske avvisar 90 % av de nya idéerna, men de 10 % som återstår kan ha en betydande inverkan.
-
Paessler PRTG
Visit WebsiteThis rating combines scores from multiple user review sites to reflect overall customer sentiment about the product.4.6 -
Site24x7
Visit WebsiteThis rating combines scores from multiple user review sites to reflect overall customer sentiment about the product.4.7 -
ManageEngine Applications Manager
Visit WebsiteThis rating combines scores from multiple user review sites to reflect overall customer sentiment about the product.4.3
Vilka framväxande trender ser du framför dig inom DevOps-landskapet som kan få betydande påverkan på strategier för digital omvandling i framtiden?
Generativ AI, utan tvekan. Användningen av Copilot-produkter för att generera kod och testskript kommer att öka produktiviteten avsevärt. Men man måste börja med en bra uppsättning krav, så vi kommer att se betydande förbättringar av verktyg som hjälper till med planering.
De flesta av våra framtida insatser kommer att fokusera på att säkerställa att vi gör rätt saker och förstår påverkan och beroendena. GenAI kommer att göra det enklare att dokumentera en lansering och höja vår förmåga att stödja slutanvändare genom att generera hjälptjänster som är realtidsbaserade och uppdaterade enligt apparnas aktuella tillstånd.
Om du kunde inspirera till en rörelse som skulle göra störst nytta för det största antalet människor, vilken skulle det vara?
Wow! Jag tror att allt återgår till några ganska grundläggande principer. Behandla andra som du själv vill bli behandlad, det vill säga visa varandra respekt. Ta ansvar för dina åtaganden och leverera det du lovar, det vill säga visa integritet. Fokusera på dina intressenters framgång; hjälp dem att lyckas och förtjäna deras förtroende.
Viktiga slutsatser
Att bygga ett högpresterande DevOps-team kräver en medveten och kontinuerlig insats. Genom att prioritera nyckelkomponenterna – kultur, processer, samarbete och teknik – kan organisationer frigöra DevOps fulla potential.
- Utvärdera ert nuvarande läge och identifiera områden som kan förbättras.
- Investera i utbildning och workshoppar för att främja en samarbetsinriktad DevOps-kultur.
- Implementera verktyg och automatisera processer för att effektivisera arbetsflöden.
- Mät kontinuerligt framstegen och anpassa ert tillvägagångssätt baserat på resultaten.
För fler intervjuer och insikter om DevOps, prenumerera på The CTO Clubs nyhetsbrev.
