Selvom DevOps er bredt anerkendt for at effektivisere softwarelevering og øge kvaliteten, kræver det mere end implementeringen af ét enkelt værktøj at skabe et virkelig effektivt team. Det er en strategisk kombination af de rette elementer: kultur, processer, samarbejde og teknologi. Denne artikel udforsker de kritiske komponenter i et højtydende DevOps-team og giver indsigt i, hvordan organisationer kan integrere dem for at opnå optimale resultater.
Til denne Q&A har vi talt med David Brooks, Senior Vice President for evangelisering hos Copado. Han har 35 års erfaring fra Silicon Valley og kom til Copado i 2018 for at oprette afdelingen for produktstyring, hvor han ledede produktteamet i fire år. Brooks kom til Salesforce.com i 2005 for at lancere AppExchange. Som Vice President for produktudvikling ledede han de teams, der opbyggede Force.com-platformen i løbet af sine ni år hos Salesforce.
Tak, fordi du vil tale med os! Før vi går i gang, vil du så fortælle om din baggrund?
Jeg tog en kandidatgrad i elektroteknik fra Auburn University i 1984. Mit specialeprojekt var et fejltolerant multiprocessorstyresystem til ballistisk missilforsvar.
Jeg flyttede til Silicon Valley, hvor jeg arbejdede for otte startupvirksomheder, hvoraf tre indtil videre er blevet solgt med succes. Jeg kom også til Salesforce, lige efter at virksomheden blev børsnoteret i 2005. Jeg ledede de teams, der lancerede AppExchange og derefter Salesforce-platformen. Jeg har for det meste haft ledende stillinger inden for udvikling og produktstyring, selvom jeg også har været grundlægger og administrerende direktør for to virksomheder.
Ingen af os kan opnå succes uden hjælp undervejs. Er der en bestemt person, som hjalp dig med at nå dertil, hvor du er i dag?
Der er to betydningsfulde personer. Chuck Comiso var administrerende direktør for Link Technologies, hvor jeg stod for produktudviklingen. Han var en leder af den gamle HP-skole. Chuck lærte mig rigtig meget om personaleledelse. Ted Elliott var administrerende direktør for JobScience og er i dag administrerende direktør for Copado. Ted lærte mig at fokusere på det vigtige, og hvad der skal til for at udvikle en startupvirksomhed.
Hvilke tre styrker, færdigheder eller egenskaber har hjulpet dig med at nå så langt i din karriere? Hvordan kan andre aktivt udvikle disse områder hos sig selv?
Nysgerrighed, kommunikation og kreativitet. Jeg er naturligt nysgerrig og lærer hele livet, hvilket er en gave, jeg sætter stor pris på. Jeg har også evnen til at kommunikere med mennesker på en måde, som de kan forstå. Jeg taler kinesisk og har lært at være tålmodig med mennesker, der taler engelsk som andetsprog. Det betyder også, at jeg kan forklare tekniske idéer til ikke-tekniske mennesker.
Folk har ofte så travlt med at planlægge, hvad de vil sige som det næste, at de overser kernen i en samtale. Endelig kan jeg, fordi jeg har så bred en interesse, sætte idéer sammen på nye måder. Min kreativitet handler derfor i højere grad om evnen til at syntetisere store mængder information til en ny anvendelse.
Hvilke færdigheder forsøger du stadig at udvikle?
Det må være kommunikation. Jeg er for nylig gået ind i en ny rolle som teknisk formidler, hvilket kræver, at jeg forbedrer min evne til at kommunikere de centrale idéer, der gør Copado anderledes. Jeg leder også vores indsats i Kina, så mine kinesiske sprogfærdigheder vil blive sat på prøve.
Lad os tale om at have et succesfuldt DevOps-team. Hvilke centrale mål kan et DevOps-team identificere på en digital transformationsrejse?
Jeg mener, at klarhed og respekt er altafgørende. Det er et spørgsmål om at skabe klarhed over, hvad der skal gøres, og det definerer tydeligt de enkelte brugerhistorier og funktioner. En dygtig produktchef bør kunne kommunikere “hvad” og “hvorfor”.
Det begynder med en dyb forståelse af “hvorfor” og derefter med at sikre, at udviklings- og testteamene også forstår det. Der skal være gensidig respekt mellem teammedlemmerne, hvor hver enkelt mener, at deres holdninger bliver værdsat, og at deres bekymringer bliver hørt. Men hvert teammedlem skal også leve op til sit ansvar og gøre sig fortjent til den tillid i hver sprint.
Er der udfordringer eller almindelige faldgruber, som DevOps-teams bør tage højde for?
Alt for ofte er en produktejer dårlig til at forstå brugernes behov – ikke hvad de har bedt om, men hvad de har brug for. Jeg blev altid lært at spørge “hvorfor?” fem gange. Derefter vil du forstå, hvad der virkelig er nødvendigt, og være i stand til at kommunikere det til resten af teamet.
Den anden udfordring opstår, når teammedlemmer ikke er ærlige om uenigheder. Jeg har set udviklere fortælle en produktchef, at noget teknisk set ikke var muligt, blot fordi de ikke mente, at det var det rigtige at gøre. Ethvert teammedlem bør føle, at deres holdning bliver værdsat, og sige fra, når de er uenige. I sidste ende skal teamlederen træffe en beslutning, og resten af teamet skal bakke op om den.
Hvordan kan effektivt samarbejde og kommunikation blandt teammedlemmer øge produktiviteten og succesen for et DevOps-team, og hvilke praksisser kan understøtte dette?
Ærlig og åben kommunikation, hvor alles holdning bliver værdsat, og alle får mulighed for at blive hørt, er utrolig vigtig. Det er også vigtigt at forstå hvorfor. Hvis et teammedlem ser en bedre måde at opfylde kravet på, bør teamet være åbent over for idéen. Det resulterer ofte i en bedre løsning, der leveres på kortere tid.
Hvilken rolle spiller CI/CD i DevOps, og hvad er de bedste praksisser for implementering af CI/CD-pipelines, så man sikrer en problemfri og pålidelig softwareudgivelsesproces?
CI/CD handler om at udgive mange små ændringer. Det begynder med at definere brugerhistorier på en måde, så de kan realiseres på timer, ikke dage, og udgives til det næste trin uden at ødelægge noget. Automatiseret funktionel test og sikkerhedstest er også afgørende.
Teams bør anvende testdrevet udvikling, så funktionalitet hurtigt kan bevæge sig gennem leveringsforløbet. Der bør etableres kvalitetsporte på hvert trin for at sikre, at en ændring ikke kan gå videre, medmindre den er komplet. Ægte CI/CD til produktion er ikke praktisk i nogle stærkt regulerede brancher, men det bør ikke forhindre anvendelsen af praksissen på alle trin frem til produktion.
Hvordan bidrager fremme af en DevOps-kultur og -tankegang til et teams samlede succes, og hvilke strategier kan organisationer bruge til at fremme denne kultur blandt deres udviklings- og driftsteams?
En DevOps-tankegang betyder, at alle teammedlemmer har et fælles mål om at levere kvalitetsarbejde hele vejen til produktion. Udviklere kan ikke tro, at deres arbejde er færdigt, når de skubber ændringer til versionsarkivet. Kvalitet er ikke én persons opgave; det er hvert teammedlems ansvar. Dette kombineret med tillid og åbenhed over for løbende forbedringer gør teamet succesfuldt.
Hvad er de vigtigste komponenter i et succesfuldt DevOps-team?
1 . Gensidig tillid—Tidligere i min karriere arbejdede jeg i et team, hvor teammedlemmerne ikke havde fuld tillid til hinanden. De satte konstant spørgsmålstegn ved andres beslutninger og foretog i hemmelighed ændringer for at “rette” problemer. Det bremsede udviklingen og gjorde det meget ubehageligt at arbejde i teamet.
2 . Engagement i teamets mål - Effektivt teamwork trives med fælles mål. Efter min erfaring går de mest succesfulde teams videre end individuelle resultater. Jeg har set ledende udviklere, som efter hurtigt at have afsluttet deres opgaver tilbød vejledning og støtte til juniorprogrammører. Denne samarbejdsånd strakte sig videre, idet udviklere hjalp testingeniører med at færdiggøre testautomatisering. Som følge heraf leverede dette team konsekvent på sine forpligtelser og opretholdt et positivt arbejdsmiljø
3 . Klar kommunikation - Der kan gå meget tid og energi til spilde, når teamet ikke kommunikerer godt. Det begynder med en ordentlig forståelse af målene. Da jeg begyndte at arbejde med agil metode i 2006, syntes jeg, at sprintplanlægningsmøderne var for lange, og at de daglige standupmøder var fjollede. Det hjalp ikke, at jeg skulle have et billede af en hane på under mødet for at minde mig om, at jeg var observatør og ikke måtte tale.
Set i bakspejlet forstår jeg vigtigheden af at holde disse møder korte, men der gik muligheder tabt for at afklare punkter. Senere i min karriere brugte vi daglige standupmøder til at afklare spørgsmål. Man ønsker ikke at nå til slutningen af sprintet for først da at opdage, at man har bygget noget forkert.
4 . Løbende forbedringer - Ikke to teams er ens, og ingen enkelt proces fungerer for alle teams. Lean Manufacturing-bevægelsen gav medarbejderne på et samlebånd mulighed for at ændre processen for at gøre den mere effektiv. De gennemførte eksperimenter og afgjorde, om ændringerne gjorde tingene bedre eller værre. Det samme gælder softwareudviklingsprocesser. Teamet bør måle resultaterne ved hjælp af værktøjer som værdistrømskortlægning for at forstå de faktiske problemer og derefter være villigt til at ændre processen til en, der giver mening og stadig overholder virksomhedens regler.
5 . Trygt rum til nye idéer - Den eneste måde at få alle teammedlemmer til at dele deres idéer på er, hvis de føler sig trygge ved at gøre det. Der findes ikke noget, der hedder et dumt spørgsmål eller en dum idé. Ofte vil en idé virke umulig at gennemføre, men hvis man stiller spørgsmålstegn ved langvarige praksisser, opdager man, at ingen ved, hvorfor de blev indført. Det værste svar, jeg nogensinde har hørt, var: “Fordi vi altid gør det på denne måde.” Behovet for løbende forbedringer betyder, at man skal være åben over for nye måder at tænke på. Man afviser måske 90 % af de nye idéer, men de 10 % kan have en betydelig indvirkning.
Hvilke nye tendenser forventer du i DevOps-landskabet, som i fremtiden kan få væsentlig indflydelse på strategier for digital transformation?
Generativ AI, uden tvivl. Brugen af Copilot-produkter til at generere kode og testskripter vil øge produktiviteten betydeligt. Men man skal begynde med et godt sæt krav, så man vil se betydelige forbedringer i værktøjer, der hjælper med planlægning.
De fleste af vores fremtidige indsatser vil fokusere på at sikre, at vi gør de rigtige ting, og at vi forstår indvirkningen og afhængighederne. GenAI vil gøre det lettere at dokumentere en udgivelse og opgradere vores evne til at understøtte slutbrugere ved at generere hjælpetjenester, der fungerer i realtid og er opdaterede med appens aktuelle tilstand.
Hvis du kunne inspirere en bevægelse, der ville gøre mest muligt godt for det størst mulige antal mennesker, hvad skulle det så være?
Hold da op! Jeg tror, det hele vender tilbage til nogle ret grundlæggende principper. Behandl andre, som du selv ønsker at blive behandlet, dvs. respekter hinanden. Tag ansvar for dine forpligtelser, og lever det, du lover, dvs. udvis integritet. Fokuser på dine interessenters succes; hjælp dem med at få succes, og gør dig fortjent til deres tillid.
Vigtigste pointer
Det kræver en bevidst og vedvarende indsats at opbygge et højtydende DevOps-team. Ved at prioritere de vigtigste komponenter – kultur, processer, samarbejde og teknologi – kan organisationer frigøre DevOps' fulde potentiale.
- Vurder jeres nuværende situation, og identificer områder, der kan forbedres.
- Invester i uddannelse og workshops for at fremme en samarbejdsorienteret DevOps-kultur.
- Implementer værktøjer, og automatiser processer for at strømline arbejdsgange.
- Mål løbende fremskridtene, og tilpas jeres tilgang baseret på resultaterne.
Hvis du vil have flere interviews og indsigter om DevOps, kan du tilmelde dig The CTO Clubs nyhedsbrev.










