Selv om DevOps er anerkjent for å effektivisere programvareleveransen og øke kvaliteten, handler det å skape et virkelig effektivt team om mer enn å implementere ett enkelt verktøy. Det er en strategisk kombinasjon av de riktige elementene: kultur, prosesser, samarbeid og teknologi. Denne artikkelen utforsker de kritiske bestanddelene i et høytytende DevOps-team og gir innsikt i hvordan organisasjoner kan integrere dem for å oppnå optimale resultater.
Til denne spørsmål-og-svar-samtalen har vi snakket med David Brooks, seniorvisepresident for evangelisering hos Copado. Som veteran med 35 år i Silicon Valley begynte han i Copado i 2018 for å opprette praksisen for produktledelse, og ledet produktteamet i fire år. Brooks begynte i Salesforce.com i 2005 for å lansere AppExchange. Som visepresident for produkt ledet han teamene som bygde Force.com-plattformen i løpet av sine ni år hos Salesforce.
Tusen takk for at du snakker med oss! Før vi går videre, vil du fortelle litt om bakgrunnen din?
Jeg tok mastergraden min i elektroteknikk ved Auburn University i 1984. Hovedoppgaven min var et feiltolerant multiprosessor-operativsystem for ballistisk missilforsvar.
Jeg flyttet til Silicon Valley og jobbet for åtte oppstartsselskaper, hvorav tre så langt har blitt vellykket solgt eller børsnotert. Jeg begynte også i Salesforce like etter at selskapet ble børsnotert i 2005. Jeg ledet teamene som lanserte AppExchange og deretter Salesforce-plattformen. Jeg har hovedsakelig hatt ledende stillinger innen utvikling og produktledelse, selv om jeg også var grunnlegger og administrerende direktør i to selskaper.
Ingen av oss kan oppnå suksess uten litt hjelp på veien. Er det en bestemt person som hjalp deg med å komme dit du er i dag?
Det er to betydningsfulle personer. Chuck Comiso var administrerende direktør i Link Technologies, der jeg ledet produktutviklingen. Han var en leder av den gamle HP-skolen. Chuck lærte meg mye om personalledelse. Ted Elliott var administrerende direktør i JobScience og er administrerende direktør i Copado i dag. Ted lærte meg å fokusere på det som er viktig, og hva som skal til for å utvikle et oppstartsselskap.
Hvilke tre styrker, ferdigheter eller egenskaper har hjulpet deg med å nå dit du er i karrieren? Hvordan kan andre aktivt utvikle disse områdene hos seg selv?
Nysgjerrighet, kommunikasjon og kreativitet. Jeg er naturlig nysgjerrig og lærer hele livet, noe jeg setter aller mest pris på. Jeg har også evnen til å kommunisere med mennesker på en måte de forstår. Jeg snakker kinesisk og har lært meg å være tålmodig med mennesker som snakker engelsk som andrespråk. Dette innebærer også å forklare tekniske ideer til ikke-tekniske personer.
Folk er ofte så opptatt med å planlegge hva de skal si som det neste, at de går glipp av kjernen i en samtale. Til slutt gjør den brede interessen min at jeg kan sette sammen ideer på nye måter. Kreativiteten min handler derfor mer om evnen til å syntetisere mye informasjon til en ny anvendelse.
Hvilke ferdigheter prøver du fortsatt å utvikle?
Det må være kommunikasjon. Jeg har nylig gått inn i en ny rolle som teknisk evangelist, noe som krever at jeg skjerper meg når det gjelder å kommunisere kjerneideene som gjør Copado annerledes. Jeg leder også arbeidet vårt i Kina, så kinesisken min vil bli satt på prøve.
La oss snakke om å ha et vellykket DevOps-team. Hvilke sentrale mål kan et DevOps-team identifisere for en digital transformasjonsreise?
Jeg mener at tydelighet og respekt er avgjørende. Å avklare hva som må gjøres, handler om prioritering, og det definerer tydelig de individuelle brukerhistoriene og funksjonene. En god produktleder bør kunne kommunisere «hva» og «hvorfor».
Det begynner med en dyp forståelse av «hvorfor», og deretter må man sørge for at utviklings- og testteamene også forstår det. Det må være gjensidig respekt mellom teammedlemmene, der hver enkelt mener at meningene deres blir verdsatt og bekymringene deres blir hørt. Men hvert teammedlem må også ta ansvar for sine oppgaver og gjøre seg fortjent til denne tilliten i hver sprint.
Finnes det utfordringer eller vanlige fallgruver som DevOps-team bør ta hensyn til?
Altfor ofte gjør en produkteier en dårlig jobb med å forstå brukernes behov – ikke det de ba om, men det de faktisk trenger. Jeg ble alltid lært opp til å spørre «hvorfor?» fem ganger. Da vil du forstå hva som virkelig trengs, og kunne kommunisere det til resten av teamet.
Den andre utfordringen oppstår når teammedlemmer ikke er ærlige om uenigheter. Jeg har sett utviklere si til en produktleder at noe teknisk sett ikke var mulig, bare fordi de ikke mente at det var riktig å gjøre. Hvert teammedlem bør føle at meningen deres blir verdsatt, og si fra når de er uenige. Til syvende og sist må teamlederen ta en beslutning, og resten av teamet må støtte den.
Hvordan kan effektivt samarbeid og god kommunikasjon mellom teammedlemmer øke produktiviteten og suksessen til et DevOps-team, og hvilke praksiser kan legge til rette for dette?
Ærlig og åpen kommunikasjon, der alles mening blir verdsatt og alle får mulighet til å bli hørt, er svært viktig. Det er også viktig å forstå hvorfor. Hvis et teammedlem ser en bedre måte å oppfylle kravet på, bør teamet være åpent for ideen. Dette fører ofte til en bedre løsning som leveres på kortere tid.
Hvilken rolle spiller CI/CD i DevOps, og hva er de beste fremgangsmåtene for å implementere CI/CD-pipelines for å sikre en sømløs og pålitelig prosess for programvareutgivelser?
CI/CD handler om å lansere mange små endringer. Det starter med å definere brukerhistorier på en slik måte at de kan realiseres på timer, ikke dager, og sendes videre til neste trinn uten å ødelegge noe. Automatisert funksjons- og sikkerhetstesting er også avgjørende.
Teamene bør ta i bruk testdrevet utvikling slik at funksjonalitet raskt kan flyte gjennom leveransepipen. Kvalitetsporter bør etableres på hvert trinn for å sikre at en endring ikke kan gå videre med mindre den er fullført. Ekte CI/CD til produksjon er ikke praktisk i enkelte strengt regulerte bransjer, men det bør ikke hindre praksisen i alle trinnene frem til produksjon.
Hvordan bidrar det å fremme en DevOps-kultur og et DevOps-tankesett til et teams samlede suksess, og hvilke strategier kan organisasjoner bruke for å fremme denne kulturen blant utviklings- og driftsteamene?
Et DevOps-tankesett betyr at alle teammedlemmene har et felles mål om å levere kvalitetsarbeid helt ut i produksjon. Utviklere kan ikke tenke at jobben er gjort når de sender endringer til repositoriet. Kvalitet er ikke én persons oppgave; det er alle teammedlemmenes ansvar. Dette, kombinert med tillit og åpenhet for kontinuerlig forbedring, gjør teamet vellykket.
Hva er de viktigste komponentene i et vellykket DevOps-team?
1 . Gjensidig tillit—Tidligere i karrieren jobbet jeg i et team der teammedlemmene ikke stolte fullt ut på hverandre. De stilte stadig spørsmål ved andres beslutninger og gjorde i det skjulte endringer for å «korrigere» problemer. Dette bremset utviklingen og gjorde det svært ubehagelig å jobbe i teamet.
2 . Forpliktelse til teamets mål - Effektivt teamarbeid trives med felles mål. Etter min erfaring går de mest vellykkede teamene lenger enn individuelle prestasjoner. Jeg har sett hovedutviklere som, etter å ha fullført oppgavene sine raskt, tilbyr veiledning og støtte til juniorprogrammerere. Denne samarbeidsånden strakte seg videre, ved at utviklere hjalp testingeniører med å fullføre testautomatiseringen. Som et resultat leverte dette teamet konsekvent i tråd med forpliktelsene sine og opprettholdt et positivt arbeidsmiljø
3 . Tydelig kommunikasjon - Mye tid og energi kan gå til spille når teamet ikke kommuniserer godt. Dette begynner med en riktig forståelse av målene. Da jeg begynte med smidig metodikk i 2006, syntes jeg sprintplanleggingsmøtene var for lange, og de daglige møtene virket tullete. Det hjalp heller ikke at jeg måtte ha på meg et bilde av en hane under møtet for å minne meg på at jeg var observatør og ikke kunne snakke.
I ettertid forstår jeg hvor viktig det er å holde disse møtene korte, men vi gikk glipp av muligheter til å avklare punkter. Senere i karrieren brukte vi de daglige møtene til å avklare spørsmål. Du vil ikke komme til slutten av sprinten og først da oppdage at du har bygget noe feil.
4 . Kontinuerlig forbedring - Ingen to team er like, og ingen enkeltprosess vil fungere for alle team. Bevegelsen for slank produksjon ga arbeiderne på en samlebåndslinje myndighet til å endre prosessen for å gjøre den mer effektiv. De gjennomførte eksperimenter og avgjorde om endringene gjorde ting bedre eller verre. Det samme gjelder programvareutviklingsprosesser. Teamet bør måle resultatene ved hjelp av verktøy som verdistrømskartlegging for å forstå de faktiske problemene, og deretter være villig til å endre prosessen til en som gir mening og fortsatt følger virksomhetens regler for samsvar.
5 . Et trygt rom for nye ideer - Den eneste måten å få alle teammedlemmene til å dele ideene sine på, er at de føler seg trygge når de gjør det. Det finnes ikke noe som heter et dumt spørsmål eller en dum idé. Ofte kan en idé virke umulig å gjennomføre, men hvis du stiller spørsmål ved langvarig praksis, vil du oppdage at ingen vet hvorfor den ble innført. Det verste svaret jeg noen gang har hørt, var «Fordi vi alltid gjør det slik». Behovet for kontinuerlig forbedring betyr at du må være åpen for nye måter å tenke på. Du kan forkaste 90 % av de nye ideene, men de 10 % som gjenstår kan ha stor betydning.
Hvilke fremvoksende trender ser du for deg i DevOps-landskapet som kan få betydelig innvirkning på strategier for digital transformasjon i fremtiden?
Generativ KI, uten tvil. Bruken av Copilot-produkter til å generere kode og testskripter vil øke produktiviteten betydelig. Men du må begynne med et godt sett krav, så du vil se betydelige forbedringer i verktøy som kan hjelpe med planlegging.
De fleste av fremtidens tiltak vil være rettet mot å sikre at vi gjør de riktige tingene, og at vi forstår virkningen og avhengighetene. GenAI vil gjøre det enklere å dokumentere en lansering, og vil løfte evnen vår til å støtte sluttbrukere ved å generere hjelpetjenester som fungerer i sanntid og er oppdatert med den nåværende tilstanden til appene.
Hvis du kunne inspirere til en bevegelse som ville gjort mest mulig godt for flest mulig mennesker, hva ville det vært?
Oi! Jeg tror det hele kommer tilbake til noen ganske grunnleggende prinsipper. Behandle andre slik du ønsker å bli behandlet, altså med respekt. Ta ansvar for forpliktelsene dine og lever det du lover, altså med integritet. Fokuser på at interessentene dine skal lykkes; hjelp dem med å lykkes og gjør deg fortjent til tilliten deres.
Hovedpunkter
Å bygge et høytytende DevOps-team krever en bevisst og kontinuerlig innsats. Ved å prioritere nøkkelkomponentene – kultur, prosesser, samarbeid og teknologi – kan organisasjoner utnytte DevOps' fulle potensial.
- Vurder den nåværende situasjonen og identifiser områder som kan forbedres.
- Invester i opplæring og workshops for å fremme en samarbeidsorientert DevOps-kultur.
- Ta i bruk verktøy og automatiser prosesser for å effektivisere arbeidsflyter.
- Mål kontinuerlig fremdriften, og tilpass tilnærmingen basert på resultatene.
For flere intervjuer og innsikt i DevOps, abonner på The CTO Clubs nyhetsbrev.









