Programmering

16 måter å bygge et bedre utviklingslag

For alt snakk om rockestjerneutviklere, vet vi alle at det kreves et sterkt, sammenhengende team som jobber sammen for å få det beste arbeidet utført. Så her er spørsmålet: Hva skal til for å etablere et flott team av utviklere som lager gode produkter og fungerer godt på tvers av avdelinger?

Vi nådde ut til tekniske ledere og ingeniørledere som har gjort akkurat det og ba dem om å dele sin hardt opptjente visdom om teambuilding.

Fra å finne den beste passformen for din neste ansettelse til å holde teamet friskt og motivert, vil følgende kollektive råd få teamet ditt til å kode på sitt beste.

1. Gi ingeniørene dine styrke

Ingeniørteam kan ofte være i strid med ledelse, forretningsutvikling eller markedsføring på et gitt prosjekt - ofte fordi de blir behandlet som ordretakere i stedet for samarbeidspartnere. For å få det beste ut av utviklerne dine, la dem bli hørt og si hva de jobber med.

På nettstedet til eiendomsmegling Trulia møtes ledelse og utviklingsteam hvert kvartal for å planlegge og utarbeide problemer, sier Jeff McConathy, visepresident for engineering for forbrukertjenester.

“Prosessen er medarbeiderdrevet,” sier McConathy, “med team som er ansvarlige for å lage sine egne prioriteringer og veikart og presentere dem for toppledelsen og ledere i hele selskapet. Hvert lag deler også sine suksesser og [det de har lært] det siste kvartalet. Dette hjelper hvert team med å bestemme planene sine og prioritere prosjekter, og lar ... ledergruppen stille spørsmål og sikre at hver gruppe er satt opp for å lykkes og beveger seg i riktig retning for selskapet. "

Tiltak for å styrke ansattene kan også sikre engasjement og bidra til å beholde topp utvikler talent.

"Teamet skal få lov til å bestemme sitt eget profesjonelle veikart, og hvilke teknologier som er best egnet for spesifikke oppgaver, samtidig som de blir holdt ansvarlige for deres beslutninger," sier McConathy. «Be teamene fokusere på spesifikke mål på høyt nivå, og la dem løpe med ideer og gjennomføring. Dette er sann empowerment, og på slutten av dagen liker vi alle å jobbe i et miljø der vi kan gjøre en forskjell og lære nye ting. "

2. Husk røttene dine

Ingeniørledere finner seg altfor ofte trukket fra sin første kjærlighet: å skrive kode. Men problemene med å legge vekt på "ledelsesaspektet" i en dev-leder arbeidsprofil stikker dypere.

Sam Lambert, seniordirektør for infrastruktur i GitHub, hevder at selskaper som ser ledere og ingeniører annerledes, er bestemt til å underprestere.

"Bedrifter må posisjonere ledere som sterke tekniske mentorer for teamene sine," sier Lambert. På den måten kan ingeniørledere "gi veiledning om kode og prosjekter, hjelpe dem med å navigere i tekniske utfordringer og bruke sine personlige erfaringer til å formere effektiviteten i gruppen."

Trening er en flott mulighet for å bringe ledere og teammedlemmer sammen i samme båt. Hos Booz Allen Hamilton får rektor Dan Tucker hjelp fra et team med smidige trenere, som trener og coacher lag og ledere.

"Som regel har vi ledere som gjennomgår disse erfaringene med teamene sine," sier Tucker. "Dette er med på å nivåjustere et felles språk, arbeide gjennom motstand og forvirring, og designe reisen fremover."

Trulias McConathy anbefaler også en ansatt-fokusert kultur og en åpen dør - selv i møte med forretningsbaserte plikter. "Jeg har avlyst møter med presidenten vår for å ta kaffe med en ny ansatt eller noen som prøver å løse et problem," sier McConathy.

3. Øk forretningssynligheten

Å gi utviklerne større synlighet i virksomheten er en annen måte å sikre at tekniske team kan gi en dypere forståelse for å oppnå forretningsmål. For dette forkynner Larry Gadea, administrerende direktør i Envoy, åpenhet.

"Bortsett fra informasjon om private ansatte og kundedata, lar vi de ansatte se alt om virksomheten," sier Gadea. "Dette inkluderer investoroppdateringer, styremøter, oppdaterte økonomier - inkludert bankkontosaldoer - ikke-redigerte kalendere osv."

Bridget Frey, CTO i Redfin, er enig i at eksponering for selskapets kjernevirksomhet er viktig for å hjelpe utviklere med å få verdifull innsikt.

"Ingeniørene våre skygger eiendomsmeglerne våre, og lærer hvordan det er å ta en kunde med på tur eller forhandle om en boligkjøpspris," sier Frey.

4. Bryt ned veggene

Hvis prosjektene dine ikke løser problemene de skal, kan det være snakk om barrierer som må brytes ned.

Amanda Whaley, direktør for utviklererfaring i Cisco, angriper siloer ved å målrette mot to områder: kultur og teknologi.

"På den kulturelle siden investerer vi energi i å bygge relasjoner på tvers av selskapet," sier Whaley. "Et eksempel er sponsing av interne ukonferanse- og hackathon-dager der teammedlemmer fra mange organisasjoner kan jobbe sammen i en workshop og skape forbindelser som deretter kan brukes til å lette samarbeidet."

"På teknologisiden verdsetter vi en API-første kultur," legger Whaley til. "Dette oppfordrer utviklingsteam til å bygge API-er slik at det er enkelt for andre team å bygge integrasjoner og utnytte hverandres prosjekter."

5. Vet når du skal krysse tog - og når du skal spesialisere deg

Å riste på roller på kort sikt kan bygge et team som er bedre trent til å håndtere uventede problemer i farta. Her kan krysstrening være viktig for å få mest mulig ut av teamet ditt.

Redfin’s Frey sier at selskapet bruker krysstrening mye. "Innen ingeniørarbeid jobber de fleste av våre ingeniører med flere teknologier, og vi kjører en serie ingeniøropplæringskurs som er åpne for alle."

Men det kan være en øvre grense for krysstrening der avkastningen ikke lenger rettferdiggjør å trekke spesialister fra domenet for å øke allsidigheten. John Paliotta, medstifter og CTO for Vector Software, sier at mens det er viktig, kan cross-training gå for langt.

"For en utviklingsgruppe ønsker du tydelig redundans, slik at flere utviklere kan jobbe med det samme området av produktet, men du vil også at hver utvikler skal ha en dyp spesialisering," sier Paliotta. "Spesialisering resulterer i enorme produktivitetsgevinster i forhold til å ha et team av generalister."

6. Bland det sammen

En annen måte å legge til rette for samhold og bryte ned barrierer er å utsette teammedlemmer for andre teknologikolleger de vanligvis ikke kommuniserer med i sine daglige plikter.

Zubin Irani, grunnlegger og administrerende direktør i cPrime, understreker behovet for å blande det sammen: “På vårt siste all-hands-møte, i stedet for å bryte oss inn i de vanlige lagene våre, blandet vi faktisk forskjellige lag sammen slik at de kunne snakke om spørsmål på tvers av team og komme på løsninger sammen om hvordan vi kan forbedre ting, sier Irani. “For eksempel møttes mobilteamet vårt, e-handelsteamet vårt og API-teamet vårt sammen med målet om å snakke om hva som fungerer bra og hva som ikke er mellom lagene, så brukte de tid på å finne måter å forbedre der de hadde utfordringer. ”

Usha Parsa, produktdirektør for Yahoo Cloud Services, sier interteam-kryssbestøvning handler om å skape felles mål.

"Vi tror på en smidig tilnærming ... på tvers av forskjellige rapporteringsgrenser som kommer sammen for utføring mot et felles mål," sier Parsa. “Modulære team har et felles mål. Lagene har individuelle daglige stand-ups for effektivitet, men teamene møter hverandre i korte trekk “Scrum of Scrums” flere ganger i løpet av uken for å dele fremgang og hvor de trenger hjelp fra hverandre. ”

7. Gå på tvers av funksjoner

Noen ganger er den beste måten å få mest mulig ut av utviklingsteamet ditt, å dele dem opp og brette dem i tverrfunksjonelle team som samler talent fra ulike sider i virksomheten. Dette er spesielt effektivt hvis du finner prosjekter hindret av avdelingssiloer.

Nic Grange, CTO for Retriever Communications, sier at det å lage grupper basert på resultater - i stedet for funksjon - bidrar til å redusere problemene som finnes i siloer. Det kommer ned på hvordan virksomheten din er strukturert.

"Å lage en struktur av tverrfunksjonelle team kan bidra til å redusere påvirkningen av siloer," sier Grange. "Noe informasjon vil fremdeles bli tømt i det tverrfunksjonelle teamet, men i det minste har de all den informasjonen de trenger for å levere sine forretningsresultater."

8. Gå ut av kontoret

Hva med måter å holde teammedlemmene godt i samarbeid? Hvordan holder du en gruppe motiverte, rolige med hverandre, og viktigst av alt, ikke utbrent?

Eden Chen, administrerende direktør og grunnlegger av Fishermen Labs, sier at firmaet hans kommer bort - langt borte - fra det Los Angeles-baserte kontoret hvert år i to uker.

"Vi ser på Sydney, Madrid eller Budapest i år," sier Chen. “Vi er i stand til å jobbe der og fortsatt fullføre prosjekter i løpet av denne to-ukers tidsperioden, men dette er enormt for teambuilding, for å snakke gjennom ineffektivitet i prosessen, og for å få flere team på samme side - business, prosjektledelse, design , og utvikling. Vi gjør også ett møte i måneden der vi går ut og gjør noe morsomt. ”

9. Feire suksess

En annen måte å unngå utbrenthet og øke moral er å ta deg tid til å klappe på ryggen. Her anbefaler Artur Seidel, visepresident i Elektrobit, å feire suksesser med en gang.

"Vi arrangerer alltid en fraktfest som feirer en viktig utgivelse for en kunde," sier Seidel.

Han husker et prosjekt med en stram frist som førte til å jobbe over høytiden.

"Vi avsluttet 29. desember og feiret med en dag med snøscooterkjøring i den kanadiske villmarken ... og fløy deretter hjem," sier Seidel. "Det som kunne ha vært et reelt drag ble til et positivt minne og teambinding."

10. Gi tilbake og bind

La oss innse det, ikke alle kan finne lidenskap i å takle feilrapporter i jakten på forretningsmål hele tiden. Noen utviklere håper å ta med ferdighetene sine på mer presserende problemer utenfor arbeidsplassen, hvis de bare hadde tid.

Hvorfor ikke løpe med det instinktet og gi en verdifull oppdatering for ingeniørenes sjeler og sinn?

Hos Cisco sier Whaley at selskapet “oppfordrer ansatte til å melde seg frivillig til å hjelpe samfunnet sitt eller støtte en global sak. Disse frivillige mulighetene er en måte å gi tilbake og tilbringe tid sammen som et team. ”

$config[zx-auto] not found$config[zx-overlay] not found