16 modi per costruire un team di sviluppo migliore

Nonostante tutti i discorsi degli sviluppatori rock star, sappiamo tutti che ci vuole un team forte e coerente che lavori in concerto per ottenere il miglior lavoro svolto. Quindi ecco la domanda: cosa serve per creare un ottimo team di sviluppatori che creano ottimi prodotti e lavorano bene in tutti i reparti?

Abbiamo contattato dirigenti tecnologici e responsabili tecnici che hanno fatto esattamente questo e abbiamo chiesto loro di condividere la loro sudata saggezza del team building.

Dalla ricerca della soluzione migliore per la tua prossima assunzione a mantenere il tuo team fresco e motivato, i seguenti consigli collettivi consentiranno al tuo team di programmare al meglio.

1. Potenzia i tuoi ingegneri

I team di ingegneri possono spesso trovarsi in disaccordo con la gestione, lo sviluppo aziendale o il marketing su un determinato progetto, spesso perché sono trattati come acquirenti piuttosto che collaboratori. Per ottenere il meglio dai tuoi sviluppatori, lascia che siano ascoltati e abbiano voce in capitolo su ciò su cui lavorano.

Sul sito immobiliare online Trulia, i team di gestione e sviluppo si incontrano trimestralmente per pianificare e risolvere i problemi, afferma Jeff McConathy, vice presidente dell'ingegneria per i servizi ai consumatori.

"Il processo è guidato dai dipendenti", afferma McConathy, "con i team responsabili della creazione delle proprie priorità e road map e della loro presentazione al senior management e ai leader di tutta l'azienda. Ogni squadra condivide anche i propri successi e [cosa hanno imparato] nell'ultimo trimestre. Questo aiuta ogni team a determinare i propri piani e dare priorità ai progetti, e consente ... al team di gestione di porre domande e assicurarsi che ogni gruppo sia impostato per il successo e si muova nella giusta direzione per l'azienda ".

Le misure di empowerment dei dipendenti possono anche garantire il coinvolgimento e aiutare a trattenere i migliori talenti degli sviluppatori.

"Il team dovrebbe essere autorizzato a determinare la propria road map professionale e quali tecnologie sono più adatte per compiti specifici, mentre allo stesso tempo deve essere ritenuto responsabile delle proprie decisioni", afferma McConathy. "Chiedere ai team di concentrarsi su obiettivi specifici di alto livello, quindi lasciarli correre con idee ed esecuzione. Questo è il vero empowerment e, in fin dei conti, a tutti noi piace lavorare in un ambiente in cui possiamo fare la differenza e imparare cose nuove ".

2. Ricorda le tue radici

Troppo spesso i manager dell'ingegneria si ritrovano allontanati dal loro primo amore: scrivere codice. Ma i problemi derivanti dall'enfatizzare eccessivamente l'aspetto "gestionale" del profilo di lavoro di un manager di sviluppo sono più profondi.

Sam Lambert, direttore senior dell'infrastruttura di GitHub, sostiene che le aziende che vedono manager e ingegneri in modo diverso sono destinate a sottoperformare.

"Le aziende devono posizionare i manager come validi mentori tecnici per i loro team", afferma Lambert. In questo modo, i responsabili tecnici "possono fornire indicazioni su codice e progetti, aiutarli a superare le sfide tecniche e utilizzare le loro esperienze personali per moltiplicare l'efficacia del loro gruppo".

La formazione è una grande opportunità per riunire manager e membri del team nella stessa barca. A Booz Allen Hamilton, il preside Dan Tucker riceve aiuto da una squadra di allenatori agili, che allenano e allenano squadre e manager.

"Di norma, abbiamo manager che affrontano queste esperienze con i loro team", afferma Tucker. "Questo aiuta a stabilire il livello su un linguaggio comune, a superare la resistenza e la confusione e a progettare il viaggio futuro."

McConathy di Trulia raccomanda anche una cultura incentrata sui dipendenti e una porta aperta, anche di fronte ai doveri aziendali. "Ho annullato le riunioni con il nostro presidente per prendere un caffè con un nuovo dipendente o qualcuno che cerca di risolvere un problema", dice McConathy.

3. Aumentare la visibilità aziendale

Dare ai tuoi sviluppatori una maggiore visibilità sul business è un altro modo per garantire che i tuoi team tecnici possano portare una comprensione più profonda per raggiungere gli obiettivi di business. Per questo, Larry Gadea, CEO di Envoy, predica la trasparenza.

"Oltre alle informazioni private sui dipendenti e ai dati dei clienti, permettiamo ai dipendenti di vedere tutto ciò che riguarda l'attività", afferma Gadea. "Ciò include aggiornamenti degli investitori, diapositive delle riunioni del consiglio, finanze aggiornate - compresi i saldi dei conti bancari - calendari non redatti, ecc."

Bridget Frey, CTO di Redfin, concorda sul fatto che l'esposizione alle attività di core business dell'azienda è importante per aiutare gli sviluppatori a ottenere informazioni preziose.

"I nostri ingegneri seguono i nostri agenti immobiliari, imparando cosa vuol dire portare un cliente in tour o negoziare un prezzo per l'acquisto di una casa", dice Frey.

4. Abbattere i muri

Se i tuoi progetti non risolvono i problemi che dovrebbero, potrebbe essere una questione di barriere che devono essere abbattute.

Amanda Whaley, Director of Developer Experience di Cisco, attacca i silos prendendo di mira due aree: culturale e tecnologica.

"Dal punto di vista culturale, investiamo energia nella costruzione di relazioni all'interno dell'azienda", afferma Whaley. "Un esempio è la sponsorizzazione di giornate di non conferenza interna e hackathon in cui i membri del team di molte organizzazioni possono lavorare insieme in un workshop e creare connessioni che possono quindi essere utilizzate per facilitare la collaborazione".

"Dal punto di vista tecnologico, diamo valore a una cultura basata sull'API", aggiunge Whaley. "Questo incoraggia i team di sviluppo a creare API in modo che sia facile per altri team creare integrazioni e sfruttare i reciproci progetti".

5. Sapere quando eseguire un cross-training e quando specializzarsi

Scuotere i ruoli a breve termine può creare un team più addestrato per gestire problemi imprevisti al volo. Qui, il cross-training può essere essenziale per ottenere il massimo dalla tua squadra.

Frey di Redfin afferma che l'azienda utilizza ampiamente il cross-training. "Nell'ambito dell'ingegneria, la maggior parte dei nostri ingegneri lavora con più tecnologie e teniamo una serie di corsi di formazione tecnica aperti a chiunque."

Ma può esserci un limite superiore alla formazione incrociata in cui i rendimenti non giustificano più il ritiro degli specialisti dal loro dominio per aumentare la versatilità. John Paliotta, co-fondatore e CTO di Vector Software, afferma che sebbene sia importante, il cross-training può andare troppo oltre.

"Per un gruppo di sviluppo si desidera chiaramente la ridondanza in modo che più sviluppatori possano lavorare sulla stessa area del prodotto, ma si desidera anche che ogni sviluppatore abbia una profonda specializzazione", afferma Paliotta. "La specializzazione si traduce in enormi guadagni di produttività rispetto a un team di generalisti".

6. Mescola

Un altro modo per facilitare la coesione e abbattere le barriere è esporre i membri del team ad altri colleghi tecnici con cui potrebbero non interagire normalmente nelle loro mansioni quotidiane.

Zubin Irani, fondatore e CEO di cPrime, sottolinea la necessità di mescolarlo: "Durante il nostro ultimo incontro a tutte le mani, invece di entrare nei nostri soliti team, abbiamo effettivamente mescolato diversi team insieme in modo che potessero parlare di problemi tra team, e trovare soluzioni insieme su come migliorare le cose ", dice Irani. "Ad esempio, il nostro team mobile, il nostro team di e-commerce e il nostro team API si sono incontrati con l'obiettivo di parlare di ciò che funziona bene e di ciò che non funziona tra i team, quindi hanno dedicato del tempo a trovare modi per migliorare dove avevano sfide. "

Usha Parsa, product director di Yahoo Cloud Services, afferma che l'impollinazione incrociata tra i team consiste nel creare obiettivi comuni.

"Crediamo in un approccio agile ... attraverso diversi confini di reporting che si uniscono per l'esecuzione verso un obiettivo comune", afferma Parsa. “I team modulari condividono un obiettivo comune. I team hanno stand-up giornalieri individuali per l'efficienza, ma i team si incontrano anche in breve "Scrum of Scrums" più volte durante la settimana per condividere i progressi e dove hanno bisogno di aiuto gli uni dagli altri. "

7. Diventa interfunzionale

A volte il modo migliore per ottenere il massimo dal tuo team di sviluppo è dividerlo e raggrupparlo in team interfunzionali che riuniscono talenti provenienti da vari aspetti del business. Ciò è particolarmente efficace se trovi progetti ostacolati da silos dipartimentali.

Nic Grange, CTO di Retriever Communications, afferma che creare gruppi basati sui risultati, piuttosto che sulla funzione, aiuta a ridurre i problemi riscontrati nei silos. Dipende da come è strutturata la tua attività.

"La creazione di una struttura di team interfunzionali può aiutare a ridurre l'impatto dei silos", afferma Grange. "Alcune informazioni saranno ancora nascoste all'interno del team interfunzionale, ma almeno hanno tutte le informazioni di cui hanno bisogno per fornire i loro risultati di business".

8. Esci dall'ufficio

E i modi per mantenere i membri del team che lavorano bene insieme? Come fai a mantenere un gruppo motivato, a suo agio e, soprattutto, non esaurito?

Eden Chen, CEO e fondatore di Fishermen Labs, afferma che la sua azienda si allontana - molto lontano - dal suo ufficio con sede a Los Angeles ogni anno per due settimane.

"Stiamo guardando Sydney, Madrid o Budapest quest'anno", dice Chen. "Siamo in grado di lavorare lì e di completare i progetti durante questo periodo di due settimane, ma questo è enorme per il team building, per parlare delle inefficienze dei processi e per portare i più team sulla stessa pagina: business, project management, design , e sviluppo. Facciamo anche un incontro al mese in cui usciamo e facciamo qualcosa di divertente ".

9. Celebrate il successo

Un altro modo per evitare il burnout e aumentare il morale è prendersi il tempo per darsi una pacca sulla spalla. Qui, Artur Seidel, vice presidente di Elektrobit, consiglia di celebrare subito i successi.

"Ospitiamo sempre una festa di spedizione che celebra un'importante uscita per un cliente", afferma Seidel.

Ricorda un progetto con una scadenza ravvicinata che ha portato a lavorare durante le vacanze.

"Abbiamo terminato il 29 dicembre e abbiamo festeggiato con una giornata in motoslitta nelle terre selvagge canadesi ... e poi siamo volati a casa", dice Seidel. "Quello che avrebbe potuto essere un vero ostacolo si è trasformato in un ricordo positivo e un legame di squadra."

10. Restituire e legare

Ammettiamolo, non tutti possono trovare passione nell'affrontare le segnalazioni di bug nel perseguimento di obiettivi aziendali tutto il tempo . Alcuni sviluppatori sperano di applicare le proprie capacità a problemi più urgenti al di fuori del luogo di lavoro, se solo ne avessero il tempo.

Perché non correre con quell'istinto e fornire un prezioso aggiornamento per le anime e le menti dei tuoi ingegneri?

In Cisco, Whaley afferma che l'azienda “incoraggia i dipendenti a dedicare volontariamente il proprio tempo per aiutare la propria comunità o sostenere una causa globale. Queste opportunità di volontariato sono un modo per restituire e trascorrere del tempo insieme come una squadra ".