Contribuirò con altri due centesimi a questo ...
Happy Hour.
Prima di tutto, dirò semplicemente che non conosco la risposta perché abbiamo avuto circostanze simili. Ma sembra alla radice, il problema sono le comunicazioni. Tutto ciò che puoi fare per aiutare la squadra a comunicare meglio e in modo più efficiente aiuterà. Quando le persone iniziano a parlare sempre più spesso, non saranno quasi riluttanti a lanciare un messaggio istantaneo solo per fare un rumore con qualcun altro e vedere se sanno qual è la soluzione. D'altro canto, quando la tua squadra si sente come se fossero un gruppo di estranei gettati nella stessa squadra, le loro comunicazioni saranno molto limitate e alcuni potrebbero pensare che se chiedono aiuto a un lead o a qualcun altro, si starebbero "disturbando" "loro.
E so che può essere ancora più difficile con i team distribuiti. Sono un po 'incagliato su due squadre diverse. In ogni squadra, abbiamo uno sviluppatore fuori dallo stato. La parte interessante è che i due team si sentono molto diversi quando interagisco con gli altri membri del team. Quello che ho notato è che in una squadra "migliore" (non so se è una buona parola, sono tutti bravi ragazzi), abbiamo molte più conversazioni casuali. Parleremo di neve, serpenti, hamburger ... Nell'altra squadra, tutto è troppo non personale e gli effetti di ciò sembrano riversarsi anche nelle comunicazioni professionali. Non abbiamo tanti incontri casuali, o sessioni di chat e quando parliamo, tutti cercano di stare alla larga e di essere prudenti e riservati.
Come credo che l'alcol sia una soluzione a molti problemi, uno dei miei obiettivi a breve termine è quello di salire su un aereo con alcuni degli altri membri del team e andare a bere una birra con i due ragazzi fuori dallo stato. Forse funzionerà o forse pubblicherò una risposta diversa su SE in futuro.
La linea di fondo è fare tutto il possibile per migliorare le comunicazioni:
- Cerca di convincere le persone a socializzare in ambito non lavorativo (ad esempio, cosa ho già detto sopra)
- Promuovi la programmazione delle coppie o almeno la collaborazione ogni volta che ha senso. So che alcuni si fermeranno all'idea di essere sempre legati a un altro sviluppatore, quindi questo potrebbe non essere adatto a tutti.
- La co-locazione, se possibile, aiuta sicuramente ma è sempre possibile?
- Come sottolineato da S.Lott, gli stand-up promuoveranno sicuramente le comunicazioni del team
- Assegni casuali - a volte anche negli stand-up giornalieri le persone segnalano che il loro compito sta andando "bene", ma quando si inserisce il cubo, si potrebbe scoprire che sono bloccati su qualcosa per le ultime 3 ore.
- Investire in un software di comunicazione migliore. Abbiamo la messaggistica istantanea e sento ancora che rende le persone troppo distaccate. Abbiamo gettato le idee per dare a tutti le web cam.
- Informale, nessuna gestione, incontri per parlare di ciò che è nelle menti delle persone. Come sentono il progetto sta andando, dove ti mancano, potenziali aree problematiche a cui prestare attenzione. Questo è un po 'come la retrospettiva Agile, ma almeno come abbiamo fatto noi, sembra che sia troppo formale e spesso alle persone viene detto di smettere di parlare perché c'è un ordine del giorno. Mentre quel tipo di incontro aiuta a spostare le cose in avanti e facciamo progressi in termini di retrospettiva, sembra schiacciare parte del desiderio di comunicare.
- Infine, le revisioni del codice aiutano decisamente e dovresti presentarle e assicurarti che vengano eseguite regolarmente. Sono un altro punto di comunicazione per la tua squadra. Tuttavia, riconoscerai molti problemi simili nelle revisioni del codice che vedi ora. Molte volte, ci sarebbe una soluzione migliore ma dal momento in cui la revisione del codice viene girata è già stata codificata e non hai voglia di far rielaborare le persone. Sarebbe bello convincerli a parlare prima di iniziare un percorso.