Come non gestire il tuo team di sviluppatori remoto

Pubblicato: 2022-03-11

Come sviluppatore e proprietario di una piccola impresa, ho avuto spunti da entrambe le parti, ho lavorato come sviluppatore remoto e gestito sviluppatori remoti per diversi progetti e con team diversi.

In questo post condividerò alcune delle mie esperienze nella speranza che renda la vita un po' più facile a tutte le parti in progetti a distanza. Quando si tratta di cose da fare e da non fare della gestione remota del team, tendo a concentrarmi sui "non fare" perché, a differenza dei "fai da fare", tendono ad applicarsi praticamente a tutti i team.

come gestire gli sviluppatori remoti

Quando si entra nel mondo degli sviluppatori remoti, l'ostacolo più grande che i manager devono superare è cambiare la propria mentalità accettando che lo sviluppatore non sarà in bella vista e dove potranno gestire e seguire il lavoro svolto. Questo nuovo paradigma richiede alle aziende di implementare una serie di meccanismi per tenere traccia dei progressi ed evitare un carico di lavoro ridondante. Tali meccanismi aiuteranno sia il manager che lo sviluppatore a essere più produttivi, il che è nell'interesse di tutti.

Per chiarire, tutti questi meccanismi non dovrebbero essere utilizzati per controllare o micro-gestire il dipendente.

Non credere ai miti e alle idee sbagliate del team remoto

Diamo un'occhiata ai pro e ai contro della gestione di team remoti su un singolo progetto, partendo dalla comunicazione.

Il business è diventato globale e l'avvento di vaste organizzazioni multinazionali ha creato nuove sfide per milioni di professionisti in tutto il mondo. La natura complessa e intrecciata dei team globali richiede un approccio più completo e ponderato alla comunicazione interna.

In tali organizzazioni e team, molte persone non hanno il lusso di lavorare in un ambiente familiare o di parlare la loro lingua madre. I team che lavorano allo stesso progetto potrebbero essere separati da oceani, piuttosto che da uffici e cubicoli. I membri del team provengono da culture diverse e lavorano in tutto il mondo.

miti e idee sbagliate del team remoto

Questi professionisti non dovrebbero preoccuparsi della comunicazione, ma devono essere in grado di collaborare con i membri del team multinazionale. Tutte le parti devono essere proattive. La cultura aziendale deve riflettere questo paradigma e contribuire a promuovere un ambiente produttivo in cui possano prosperare team remoti e multiculturali.

Il nostro Scott Ritter ha sfatato i primi cinque miti sui team remoti in un recente post sul blog, che potresti trovare utile se sei interessato all'argomento. Il CEO di Toptal, Taso Du Val, ha anche spiegato come funziona la nostra rete e come ci adoperiamo per creare la massima cultura del team remoto.

Non lasciare che idee sbagliate e pregiudizi comuni offuschino il tuo giudizio.
Twitta

Non dimenticare di abbracciare e incoraggiare la diversità

Il primo passo verso una solida strategia di comunicazione in team a distanza inizia con il riconoscimento che i team multiculturali trascendono i confini nazionali e culturali, mettendoli in una posizione unica per offrire spunti difficili da ottenere con team centralizzati e monolitici.

Ma non preoccuparti; la diversità fa bene agli affari!

Secondo un'indagine dell'Economist Intelligence Unit , i team multiculturali sono favoriti dalle grandi organizzazioni; molti dirigenti ritengono che aiutino a promuovere l'innovazione grazie alla loro più ampia conoscenza delle tendenze globali. Inoltre, è meno probabile che soffrano della mentalità del "pensiero di gruppo"; la loro diversità li aiuta ad affrontare i problemi da prospettive diverse, producendo così una migliore gamma di soluzioni su misura per regioni e mercati specifici.

team remoti e diversità

Si può affermare che la gestione dei dipendenti remoti può essere più produttiva in virtù del fatto che non si trovano nello stesso posto. Può sembrare controintuitivo, ma tali team remoti trascorrono semplicemente meno tempo a chattare, socializzare e discutere di questioni banali.

Mentre la separazione fisica può portare a una maggiore produttività, può anche creare incomprensioni, tensione, alienazione e maggiore stress e ansia. Di conseguenza, diventa necessario mitigare questi effetti collaterali negativi con iniziative che favoriscano positività e collaborazione a livello personale. Migliorare la comunicazione nei team remoti può essere un compito arduo e costruire legami personali tra i membri del team tende a essere difficile. Ecco perché è necessario un tocco umano.

Trovare qualcosa che possa migliorare il coinvolgimento, indipendentemente dal background, è un modo relativamente semplice per aumentare il morale e la cooperazione. Questo sforzo può assumere molte forme, a seconda delle dimensioni e della composizione delle tue squadre. Idealmente, dovrebbe essere incentrato su un'attività senza stress e piacevole che i membri del team apprezzeranno, che vanno da concorsi di lavoro, progetti di intrattenimento o discussioni non legate al lavoro.

La partecipazione a tali attività, a spese dell'organizzazione, può sembrare un'allocazione non ideale di risorse finanziarie e umane, ma tieni presente che radunare i team attorno a una causa comune di solito porta a un ambiente di lavoro migliore, legami personali più forti e una migliore produttività .

Non trascurare o ignorare le differenze culturali e linguistiche. Possono creare o distruggere una squadra.
Twitta

Non prendere alla leggera il reclutamento e la formazione

Per sfruttare al meglio la gestione dei team remoti, è necessario essere consapevoli delle differenze culturali e compensare con una formazione adeguata.

Migliorare le abilità linguistiche è solo un pezzo del puzzle poiché le abilità comunicative sono influenzate dalle differenze culturali. Si parte da buone politiche di reclutamento che favoriscano le persone, soprattutto quelle che ricopriranno posizioni manageriali, preparate a lavorare in ambienti multinazionali. L'esperienza in progetti a distanza ovviamente torna utile, ma non dovrebbe essere un prerequisito. Solo perché uno sviluppatore remoto non sarà nel tuo ufficio ogni settimana non significa che il reclutamento non debba tenere conto delle caratteristiche personali. Tu e il tuo team dovrete comunque comunicare regolarmente con gli sviluppatori remoti, quindi ponete loro le stesse domande che fareste a qualsiasi lavoratore in loco: remoto o meno, devono comunque adattarsi.

reclutamento e formazione a distanza

Sebbene sia possibile affrontare alcuni problemi con una formazione aggiuntiva, potrebbe non essere sempre pratico, ma in ogni caso, una buona formazione è il prossimo passo logico. La formazione dovrebbe sviluppare i tratti positivi esistenti, mitigando al tempo stesso le carenze e affrontando i punti deboli precedentemente identificati.

I manager che si occupano di team remoti di routine devono assumere nuovi ruoli con breve preavviso, prendere in carico progetti con cui non hanno necessariamente familiarità e dedicare molto tempo a recuperare il ritardo. In tali situazioni, le comunicazioni interne non tendono a essere in cima alla loro lista di priorità, anche se ora potrebbero essere team alla guida che hanno trascorso anni a collaborare su uno o più progetti. Il tempo è un bene prezioso, ma lo è anche un buon lavoro di squadra; i manager devono prendersi del tempo dai loro impegni e saperne di più sui loro team, sui singoli membri del team e sui problemi che potrebbero sorgere.

Anche la distanza emotiva tra i manager remoti e i loro subordinati può rappresentare un problema, dal momento che i membri del team possono essere riluttanti a confrontarsi con i nuovi team leader o addirittura avvicinarli in contesti formali o informali. Un buon manager dei dipendenti da remoto deve riconoscerlo e insistere su un coinvolgimento più personale, come ho detto: "Sii proattivo". – che senso ha avere un team di sviluppatori remoti di talento se non condividono i loro pensieri con te?

Non dimenticare che gli sviluppatori remoti dovrebbero essere membri del team uguali.
Twitta

Non utilizzare un sistema informativo complicato

Non perdere l'occasione di implementare un sistema informativo efficace che includa un sistema di gestione del codice sorgente (SCM), un tracker di problemi (non troppo complicato, per favore) e possibilmente alcune pagine Wiki in cui tutte le parti possono documentare le cose o abbozzare idee e proposte. Tutti questi strumenti collaborativi renderanno molto più facile ottenere la gestione dello sviluppo e del rilascio.

È importante mantenere le cose il più semplici possibile qui, perché questo sistema informativo verrà utilizzato su base giornaliera/oraria. Se finisce troppo complicato, ci vorrà del tempo che dovrebbe essere utilizzato per l'implementazione e/o la progettazione. Potrebbe anche essere necessario semplificare il processo per i nuovi membri del team e i liberi professionisti che non hanno il tempo di apprendere i dettagli delle politiche di un'organizzazione.

Non utilizzare un sistema informativo complicato

La mia applicazione di gestione dei progetti preferita da sempre è Redmine, un sistema open source, multipiattaforma e multidatabase. Questa piattaforma è altamente configurabile e puoi integrare il tuo SCM, diversi plugin e hook di servizio.

Se non vuoi affrontare il problema di mantenere il tuo server con Ruby e configurare tutto da solo (Redmine può essere complicato per amministratori di sistema inesperti), un'altra buona scelta è GitHub, che presenta non solo git CMS ma anche GitHub Issues , che si integra bene con i messaggi di commit, le richieste pull, ecc.

Una volta che abbiamo impostato e pronto il nostro sistema informativo, possiamo iniziare a integrare il nostro sviluppatore remoto nel nostro progetto.

Non utilizzare un sistema informativo complicato. Può fare più male che bene in un team remoto.
Twitta

Non microgestire

Molti manager hanno difficoltà a lasciar andare le loro responsabilità, soprattutto se provengono da un background di sviluppatori. Invece di concentrarsi sulla comunicazione dei problemi e degli obiettivi del progetto, trovano soluzioni per tali problemi e forniscono dettagli di implementazione, quindi l'unico lavoro rimasto per lo sviluppatore è codificare ciò che gli è stato detto di programmare. Questa non è una buona pratica quando si gestiscono dipendenti remoti.

evitare la microgestione

Da un lato, i manager perdono troppo tempo su cose che hanno assunto lo sviluppatore remoto per fare. Gli sviluppatori potrebbero essere insoddisfatti di questa situazione, o perché si sentono sottovalutati e lasciati senza possibilità di essere creativi e innovativi, o semplicemente per mettersi alla prova. Dopotutto, la risoluzione dei problemi è esattamente ciò che gli sviluppatori studiano da anni, quindi eliminarlo dall'equazione e trasformare gli sviluppatori in automi non ha senso!

Come ogni altra cosa nella vita, si tratta di trovare un buon equilibrio.

Non microgestire i team remoti. Soffocherai l'innovazione e l'iniziativa.
Twitta

Non preoccuparti dei fusi orari, usali a tuo vantaggio

I buoni sviluppatori remoti tendono ad essere autosufficienti e indipendenti per natura; hanno bisogno di libertà e responsabilità per organizzare il loro tempo. La sovrapposizione degli orari di lavoro è utile, anche se non obbligatoria, quando si dispone di un buon sistema informativo e di una buona comunicazione con i propri sviluppatori.

squadre remote e fusi orari

Lavorare in fusi orari diversi può essere di beneficio per l'azienda poiché potresti essere in grado di ottenere un'efficienza "24 ore su 24" quando sviluppatori in zone diverse assumono vari aspetti del progetto. Se il tuo sviluppatore è in anticipo rispetto al tuo fuso orario, ti dà l'opportunità di rivedere il suo lavoro lo stesso giorno e puoi immediatamente valutare e coordinare la prossima grande cosa. D'altra parte, se sei in anticipo rispetto alla zona dello sviluppatore, questo ti dà l'opportunità di preparare tutto ciò di cui lo sviluppatore ha bisogno per completare l'attività.

Ricorda, un buon manager non è altro che un servizio ai suoi dipendenti che consente loro di portare a termine il lavoro, non il contrario!

Non essere troppo preoccupato per i diversi fusi orari. Usali invece a tuo vantaggio.
Twitta

Non forzare obiettivi quotidiani, concentrati su obiettivi a medio o lungo termine

Gli obiettivi quotidiani sono una forma di microgestione del progetto. Invece, prova a comunicare il quadro generale al tuo sviluppatore e, insieme, imposta priorità chiaramente definite. Se fai in modo che lo sviluppatore comprenda il progetto bene come te, è probabile che lo sviluppatore sia più utile.

Ad esempio, lo sviluppatore può avere informazioni sulle tecnologie più recenti o dettagli di implementazione che influiscono sulla definizione delle priorità di diverse attività o sulla determinazione del prodotto di valore minimo (MVP). Entrambi dovete definire obiettivi e traguardi chiari e portare a termine il lavoro passo dopo passo. È tua responsabilità assicurarti che tutte queste pietre miliari rientrino nel quadro generale.

obiettivi quotidiani e team remoto

Secondo me, il manifesto Agile (metodologie) è la cosa migliore che sia accaduta nel project management negli ultimi anni.

Ti consente di fare esattamente ciò che è necessario, di delegare la responsabilità a coloro che effettivamente implementano le cose e di imporre il buon senso in ogni parte coinvolta nel processo. Definisci i tuoi obiettivi e attività a medio e lungo termine con alcune stime di alto livello sulla difficoltà e in quelle riunioni di pianificazione dello sprint settimanali (o bisettimanali), consenti allo sviluppatore di determinare il carico di lavoro e la difficoltà esatti per completare tali attività.

Come ogni cosa buona, ci vuole tempo per costruire dei buoni team Agile. Non aspettarti di avere un team di lavoro entro tre mesi. Agile significa imparare facendo e crescere insieme come una squadra.

Non sovraccaricare il tuo team remoto con obiettivi e orari superflui.
Twitta

Non nascondere i dettagli aziendali

Bene, questo è complicato. Alcuni progetti sono sensibili per natura e la fuga di informazioni può essere dannosa. Gli accordi di non divulgazione (NDA) possono risolvere il problema, ma non sono a prova di proiettile.

Tuttavia, più lo sviluppatore sa, più efficace può essere, non solo nel risolvere compiti predefiniti ma anche nel risolvere, al volo, tutti questi fastidiosi piccoli problemi e singhiozzi. Alla fine, questo renderà lo sviluppatore più produttivo e ti semplificherà la vita.

non nascondere i dettagli aziendali

Anche il processo di sviluppo Agile è utile qui. Consente la condivisione delle conoscenze tra le parti (stakeholder, tester, sviluppatore, ecc.) rimuovendo qualsiasi gerarchia e considerando tali parti come membri del team alla pari, con le stesse responsabilità, incoraggiandoli così a lavorare nel modo più trasparente possibile. Un altro vantaggio della trasparenza è che i problemi vengono "escalation" rapidamente e possono essere rilevati da qualsiasi parte del team.

Non mantenere nulla di segreto a meno che non debba essere assolutamente segreto.
Twitta

Non ignorare i membri del team remoto

Ricorda, quando gestisci i lavoratori remoti, sei un servizio per il tuo team e, se il team ha bisogno del tuo contributo, non dovresti essere troppo occupato per supportarlo. Se lo sviluppatore non riesce a risolvere qualcosa da solo, si bloccherà e perderà tempo prezioso.

Come sviluppatore, di solito quando mi sono imbattuto in un vicolo cieco, mi sono rivolto al mio SO per un consiglio, inoltre, ho anche cercato di offrire consigli. Non ignorare completamente il consiglio dello sviluppatore, poiché potrebbe essere perspicace o potrebbe risolvere un problema di cui non eri nemmeno a conoscenza.

non ignorare i membri del team

Se qualcosa non è chiaro, o se ritieni che non sia necessario affrontare il problema, argomenta la tua posizione pur essendo di mentalità aperta e concedi allo sviluppatore la possibilità di convincerti che dopotutto ha ragione.

Ancora una volta, questo aumenterà le capacità di comunicazione e migliorerà la fiducia.

Non ignorare i membri del team remoto semplicemente perché non li vedi tutti i giorni.
Twitta

Suggerimenti rapidi per la gestione remota del team

Dal momento che ho già riassunto i punti principali nei tweet e nelle illustrazioni, ecco alcuni suggerimenti e pensieri più rapidi.

  • Queste regole generali possono essere applicate a sviluppatori remoti e in loco.
  • Se microgestisci, perderai l'opportunità di imparare e far apprendere.
  • Sii aperto e affidabile, poiché questo è l'unico modo per creare un buon team remoto.
  • Tieni presente che un preventivo è solo un preventivo; incontrerai stime inferiori e superiori.
  • Tutti quelli che lavorano commettono errori, e se non perdoni gli errori degli altri, anche i tuoi non saranno perdonati.
  • Ancora più importante, la più grande motivazione per qualsiasi sviluppatore (oltre alla soddisfazione di portare a termine un compito difficile) è il denaro. Quindi, non ritardare i pagamenti e considerare anche l'istituzione di politiche di bonus.