Come gestisci una raccolta di informazioni? [chiuso]


29

Dobbiamo esserci imbattuti tutti in loro: sviluppatori che esistono da anni e hanno una fantastica conoscenza del dominio e tuttavia non riescono a condividere tale conoscenza con il loro team.

Il team ha un disperato bisogno di condividere le conoscenze, ma non riescono a toglierle dall'accaparratore.

In che modo i team hanno risolto con successo questo problema?


2
Il management ti sostiene?

Un accaparratore di informazioni raccoglie solo informazioni, l'accaparramento non significa che non condivideranno. Forse intendi chiedere come comportarti con una persona segreta, paranoica o protettiva?
asoundmove,

in realtà no, un accaparratore di informazioni è per definizione qualcuno che mantiene le informazioni per sé. pertanto sono protettivi nei confronti delle informazioni che già possiedono.
Tipo anonimo

@Thorbjorn - sì. La direzione può vedere il problema. Ma sono nervosi per comportarsi in modo troppo sfacciato.
sheikhjabootie,

2
@ Tipo anonimo - La domanda è su come gestire i colli di bottiglia delle informazioni che possono verificarsi in un team di sviluppo e andare avanti. Quando l'ho scritto, avevo supposto che tutti gli accaparratori stessero cercando di trincerarsi. Da alcuni dei post, è chiaro che non è così. E alcuni suggerimenti molto pratici sono stati fatti per lavorare con accaparratori che non hanno le capacità comunicative per rimuovere il collo della bottiglia. Questa prospettiva è importante per evitare un antagonismo indebito. Questo non è un randagio-odio club, volevo solo sapere come affrontare meglio un problema di sviluppo comune :-)
sheikhjabootie

Risposte:


35

Rimuovere la proprietà del codice dal team. Distribuire il carico di lavoro. Esegui revisioni del codice. Organizza le sessioni di trasferimento delle conoscenze, attendi qualche sessione e poi chiedi loro di fare una presentazione sulla loro area.

Naturalmente, è indispensabile che se non sei il manager, hai il supporto del tuo manager, ma se tutti i membri del team condividono regolarmente informazioni, ci sono solo tante scuse che qualcuno può inventare per non fare la stessa cosa .

Inoltre, il suo manager dovrebbe sedersi con lui e spiegare che ciò non minaccia il suo lavoro. Perché è per questo che lo sta facendo.

È una buona cosa per l'individuo non essere il carattere di tutta la conoscenza. Lo libera di fare altre cose più interessanti.


7
A seconda di dove lavori e cosa fai, questo potrebbe benissimo minacciare il tuo lavoro. Scommetto che molte persone che hanno avuto lavori altamente automatizzabili sono terrorizzate dalla loro direzione. La documentazione è un modo per le persone di capire quanta potenza del cervello va in un lavoro e rende molto più facile sostituire quella persona, volentieri o no.
l0b0,

1
@ l0b0 - Se un'azienda ha successo, c'è sempre qualcos'altro da fare, altri progetti sul backburner. Spero che un manager creda abbastanza nell'azienda da venderlo.
pdr,

@pdr - In questo team, il team si impegna in progetti per la marcia della morte e quindi l'accaparratore è sempre "troppo impegnato" per eseguire sessioni di consegna, produrre documenti ecc. Abbiamo cercato di cambiare il suo lavoro per essere esclusivamente un allenatore, ma direbbe cosa fare senza insegnare come o perché. Riuscì a lasciarli tanto al buio quanto prima. La sua versione della programmazione in coppia è che lo fa mentre un giovane viene confuso. Causa problemi di conservazione; ma non possiamo perdere l'accaparratore. Voglio ispirarlo a diventare un grande leader di squadra che supporta i suoi compagni di squadra, ma sembra aver paura di
sporgere

8
@Xcaliburp - di nuovo, se ti stai concentrando su di lui, allora resisterà. Se stai elaborando una politica di gruppo, può resistere così a lungo. Se rifiuta completamente, deve essere licenziato. Sono stato in aziende che hanno perso qualcuno indispensabile e sai cosa? Siamo sopravvissuti.
pdr,

9
Fare abitualmente qualcosa di dannoso per la tua squadra dovrebbe essere un motivo per perdere il lavoro.
JeffO,

33

Credo che Gerald Weinberg si riferisse a questo esatto tipo di persona quando ha commentato in The Psychology of Computer Programming (parafrasato perché non ho il libro davanti a me), se noti un programmatore che cerca di rendersi indispensabile, spara lui immediatamente. 25 anni dopo, quando ha ristampato il libro, ha commentato che nessun altro consiglio gli ha procurato ringraziamenti come questo.

Quindi questa è una soluzione.


1
È una citazione così fantastica, vorrei aver già letto questo libro.
Tipo anonimo

È divertente che tu lo dica ... Mi è stato detto dal CEO della nostra azienda oggi e lui viene dalla Svizzera (non dagli Stati Uniti). Questo sembra essere un sentimento internazionale che se qualcuno sta cercando di rendersi indispensabile, allora licenzialo.
Brian,

1
Sarebbe bello se potessi votare più di una volta. Ti darei almeno +20 per il preventivo.
Jacek Prucia,

12

Dai loro quello che vogliono - assegna loro tutto il lavoro di manutenzione e le attività che solo lui / lei ha le conoscenze da svolgere.

No, non possono fare nuovi lavori perché nessun altro può fare questi altri importantissimi lavori di manutenzione.

Sì, i nuovi assunti stanno ottenendo il lavoro divertente e giocando con i nuovi giocattoli luccicanti, ma devi fare questi compiti molto difficili, di alta priorità e noiosi perché non sanno nulla delle cose che fai.

A meno che ovviamente tu non voglia mostrare a uno di loro come farlo ...


1
Sono d'accordo con te in linea di principio, ma qualcuno responsabile deve applicare le regole. Questo non resisterà.
JeffO,

2
Nella mia esperienza con manager, programmatori e gestori, "far rispettare le regole" è una buona teoria ma (a corto di problemi di risorse umane) difficile. Con alcune persone puoi capire in 5 secondi che stai cercando di spingere la corda bagnata in salita. Quindi, se vogliono fare qualcosa in un modo particolare, li rendo responsabili della loro decisione e riporto tutte le loro scuse su di loro (possono inventare la più incredibile e incessante scorta di scuse e mi fa risparmiare pensare a confutazioni). E il resto della squadra non viene trascinato verso il basso. Quando si rendono conto di essersi scavati in una buca, iniziano a girarsi.
jqa,

Vedo questa come una soluzione aggressiva molto passiva. Penso che sarebbe molto più semplice licenziare la persona. Naturalmente, ragiona prima con loro. Assicurati di conoscere l'importanza della situazione. Ma in mancanza di ciò, liberali.
ConditionRacer

11

Questo ricorda questo articolo di Rands in Repose.

Penso che tu debba capire perché questo ragazzo sta accumulando informazioni. La sicurezza del lavoro (come l'articolo su The Fez) è importante. Ma lo è anche l'insicurezza. O semplicemente che gli piace questo tipo di lavoro e vuole tutto per sé, o sente un intenso senso di proprietà su una determinata area. O è troppo impegnato e non ha visto un modo di fare il tempo.

Alcuni di questi problemi possono essere risolti con trucchi non conflittuali:

  • porta al ragazzo alcuni compiti che allargano i suoi orizzonti e lo costringono a consegnare un po 'di lavoro.
  • capire da dove viene l'insicurezza e lavorare su qualsiasi problema reale stia portando all'accumulo di informazioni.
  • fai notare al ragazzo che diventare troppo bloccato nella routine poiché l'unico detentore della conoscenza significa che non ne sarà mai libero e la sua carriera sarà strettamente accoppiata con la tecnologia - e tutta la tecnologia alla fine se ne andrà.
  • capire da dove proviene l'eccessivo impegno e capire cosa è più importante

Vale anche la pena partecipare a alcuni tentativi di sollecitazione di informazioni: possono volerci due per il tango e potresti non voler escludere l'idea che ci sia abbastanza intimidazione in giro che i richiedenti non stanno facendo buone domande, quindi esacerbando il problema. Potrebbe essere necessario saltare e iniziare a fare il backup delle cose e fare domande più ampie per far muovere il ragazzo. Inoltre, avere la direzione lì a porre domande dà peso e importanza all'attività di condivisione delle informazioni: è molto più difficile arretrare ed evitare la gestione. Di solito con alcune sessioni produttive in corso, puoi uscire dal centro e dire "ragazzi avete questo, non avete bisogno di me" e passare al problema successivo.

Un'altra chiave è NON permettere al ragazzo di dominare il lavoro nelle aree in cui deve condividere le conoscenze. Metti qualcun altro a occuparsi del lavoro e chiarisci che è compito del raccoglitore di informazioni condividere le conoscenze. Se non può condividere, potrebbe essere necessario avere una conversazione brutale in cui spieghi che la condivisione delle informazioni è un requisito per il team, non un'opzione. Che sta contribuendo ai problemi di pianificazione del team non aiutando qualcun altro a imparare.


9

Non sono sicuro che "rifiuto" sia spesso la parola giusta, di solito sono troppo occupati e non hanno il tempo libero (o l'inclinazione o le abilità sociali) per prendersi un sacco di tempo libero per spiegare l'ovvio (per loro ) ai n00bs.

La soluzione positiva è quella di fornire loro degli assistenti - quasi come diffondere il lavoro suscitando il team (ma immagino che non ci sia molto di un team se hai vecchi esperti che sanno tutto sul sistema e nuovi ragazzi che non lo fanno , data questa configurazione, non c'è da meravigliarsi se non vogliono comunicare le loro preziose abilità ed essere sostituiti con una versione più giovane ed economica! alla nuova squadra in outsourcing ... hmm?)

Consiglierei l'assistente che lavora su una parte del sistema e dovrebbe diventare un esperto nel tempo, lo sviluppatore esperto dovrebbe aiutarli a fare il loro lavoro in quella piccola area. Siamo stati tutti lì comunque, "se vuoi sapere come funziona X, dimentica la documentazione (obsoleta o inesistente) e parla con Jim".

Dare loro un assistente non solo conferma la loro posizione di sviluppatori esperti (che sono) e offre loro l'opportunità di alleviare parte del carico di lavoro principale, ma diffonderà anche la conoscenza nel tempo. Diventano mentori o posizioni di "primo passo per condurre una squadra" che dovrebbero rassicurarli sul fatto che il loro lavoro è sicuro e la loro esperienza è valutata. Se non riesci a fare nessuna di queste cose, allora stai fallendo come manager.

Non dimenticare che se hai qualche tipo di sistema super-complx (cosa che fai, o i nuovi ragazzi dovrebbero essere in grado di capirlo da soli), il trasferimento delle conoscenze è un processo molto lungo. Non c'è modo in cui nessuno possa sedersi e mettere qualcuno completamente al passo, al mio posto un tale compito richiederebbe almeno 6 mesi, e anche allora ... diamine, sto ancora imparando cose su ciò che fa il nostro prodotto e sono stato qui quasi un decennio!


3
@gbjbaanb - Grazie per la risposta. Penso che parte del problema sia che l'accaparratore è spesso abile nel programmare o nel risolvere i problemi, ma non nel spiegare, istruire o documentare. Quindi il tesoro si accumula involontariamente. Non intendevo "rifiutare" in modo forte - forse "resistere" sarebbe stato meglio. Riconosciamo tutti la necessità di condividere la conoscenza, ma poi un milione e una delle ragioni impediscono che ciò accada. Quindi il tuo suggerimento per un assistente potrebbe funzionare. Un assistente ideale sarebbe uno sviluppatore ossessionato dalla documentazione
Sheikhjabootie,

@Xcaliburp - Non sono d'accordo, sottintendi che i manager / altri membri del team siano sempre interessati a tutte queste "cose ​​complesse e difficili". È un dato di fatto che alla maggior parte delle persone non interessano la documentazione, i wiki, le presentazioni. Ovviamente la specie del "horder di informazioni" lo fa. In qualche modo mi conto in questa categoria, per me stesso documento molto il veery. Occasionalmente lo faccio anche per altri, su cartelle condivise / Wiki ecc. Ma di solito nessuno è interessato a questo. ;) (Né nella mia documentazione né nel documentare se stessi ...)
Filippo,

1
@Xcaliburp: buona fortuna a trovare quel "dev che ama il docco!" :)
gbjbaanb,

1
@Philip - quando sei uno sviluppatore junior, tutto ciò che vuoi fare è il codice. Ma quando acquisisci anzianità e diventi un caposquadra, ti rendi conto che la maggior parte dei sistemi ha bisogno di molte persone qualificate per collaborare e costruire una soluzione che nessuna singola persona può fare da sola. Quindi il codice migliore non è più il più veloce o il più intelligente, ma il più semplice. Aiutare i compagni di squadra è il modo migliore per creare fantastici software. Non amo scrivere la documentazione, ma il pensiero che il mio "nome" sia maledetto da allora per essere il dev che ha costruito questa grande palla di fango è un incentivo sufficiente per cercare di eccellere in quella parte del lavoro :-)
sheikhjabootie

@Xcaliburp: Certo, ma mi stai dicendo che ti piacerebbe scrivere tonnellate di documentazione che tutti possano capire facilmente ma nessuno leggerebbe, nemmeno tu? ;)
Filippo,

5

Trasformare la comunicazione in un impegno per ciascun membro del team e valutarli su questo come parte della revisione annuale.

Assicurati che la squadra sia riconosciuta per i risultati e non solo per gli individui e assicurati che tutti sappiano che il successo della squadra è la loro priorità, penalizzali se impediscono il successo della squadra.

Assicurarsi che non vi siano blocchi per la comunicazione, assicurarsi che esistano processi e sistemi per la scrittura di documenti e la condivisione di informazioni; ad esempio wiki, siti sharepoint, risultati programmati per documenti di progettazione ecc.


Tutto bene, ma non impedisce l'accumulo di informazioni. L'accaparratore può ancora prosperare in un tale ambiente. E una volta che qualcuno inizia a accumulare, è difficile penalizzarli poiché detengono le chiavi di preziose conoscenze.
edA-qa mort-ora-y,

Quindi si tratta di un problema di gestione: tutto il personale è consapevole del fatto che dovrebbero comunicare, il "difensore" sarà penalizzato al momento della revisione (o con qualsiasi processo per la gestione della carriera). Se hai altri suggerimenti, sentiti libero di aggiungerli.
Steve,

4

Assicurati che tutti i progetti abbiano almeno due programmatori che possano lavorarci sopra. Questo per assicurarti di avere sempre un backup quando qualcuno lascia l'azienda.

Abbiamo anche avviato un wiki che contiene tutte le informazioni sul nostro database. È un modo molto utile per accedere o aggiornare rapidamente le informazioni.


3

Se lo "accaparratore" non lo fa davvero di proposito, ma in realtà lo fa solo a causa di qualcosa come la mancanza di abilità sociali, impegni di tempo, ecc. Sicuramente procuragli un "assistente" o un programmatore junior specificamente incaricato di allentare il carico di lavoro o aiutare a estrarre la conoscenza. Spiegare ad entrambe le parti che questo è lo scopo delle nuove persone e coinvolgere il "difensore" nel processo di intervista. Il management deve prendere una mano in questo e consentire loro di condividere le proprie conoscenze. Questo è lo scopo della gestione, rimuovere gli ostacoli e consentire ai lavoratori di svolgere il proprio lavoro.


5
Dimentica l'assistente minore. Fai lavorare con lui una persona esperta, intelligente e competente. Diventano collettività nel senso della parola e la persona # 2 scrive la documentazione. Ricorda, premia la forza della gente, non punire la sua debolezza.
Christopher Mahan,

@Christopher - ben messo. Sono stato nella situazione di essere un "accaparratore involontario", e posso dirtelo, cercare di condividere questo eccesso di conoscenze specifiche con un minore è una tortura. Deve essere qualcuno con esperienza che può raccoglierlo e digerirlo il più facilmente possibile.
Carson63000,

3

Nella mia esperienza, gli accumulatori di informazioni possono essere classificati in due tipi: quelli a cui piace condividere le proprie conoscenze e ottenere un senso di gratificazione dall'aiutare apertamente gli altri, come me, e quelli che non lo fanno. Ovviamente.

Ora, entrambe le parti hanno le loro ragioni, e quella a cui piace condividere le proprie conoscenze raramente darà tutto per lo stesso motivo che le persone che non condividono le loro conoscenze non lo fanno: stanno cercando di rendere le persone intorno loro meglio, e secondo la mia opinione parziale, hanno ragione nel farlo. (ovviamente, hai anche quelli che non condividono le conoscenze semplicemente per rendersi indispensabili, e questo è per motivi sbagliati, e dovrebbero essere eliminati perché di solito non sono così grandi per cominciare)

Dopo tutto, hanno dovuto scavare in profondità nei mari arcani ed esoterici per imparare ciò che sanno, di solito attraverso la pura sperimentazione, un'applicazione liberale del pensiero critico, lampi di intuizione e intuizione e riti mistici che coinvolgono vari tipi di bestiame sacrificale, e ne sono usciti meglio. La linea di pensiero di solito è che se le persone intorno a loro sono troppo pigre o non riescono a fare lo stesso, allora non dovrebbero nemmeno fare il lavoro per cominciare, e certamente non sono degni della loro conoscenza. Quando quelli intorno a loro passano attraverso le stesse cose che hanno dovuto fare, allora usciranno un programmatore migliore perché avranno imparato a pensare bene e risolvere problemi complessi e tutto il resto.

Fondamentalmente sta costringendo gli altri a migliorare grazie al conflitto. Mentre un sacco verrà calpestato e scacciato, quelli che riescono a superare il guanto saranno inevitabilmente molto meglio di quanto avrebbero se diventassero migliori attraverso la cooperazione.

Ora, per far sì che condividano le informazioni: non puoi costringerli a farlo. Cercare di costringerli a farli vedere come avidi, pigri o troppo stupidi per arrivarci da soli, e certamente non avranno pietà di te in nessuno di questi casi. Se qualcuno più in alto tenta di costringerlo a farlo, potrebbe diventare molto cattivo, volgendo tutta la sua notevole intelligenza per contrastare l'individuo, o addirittura abbandonare apertamente invece di tradire i suoi principi, dopo tutto, ci sono molti posti che potrebbero usare le loro abilità e conoscenza.

C'è davvero solo un modo per ottenere uno di questi a cui non piace condividere le proprie conoscenze per condividerle volentieri: diventarne degne. Di solito sapere che non hanno è abbastanza (ma difficile da fare). Quid pro quo e tutto il resto. Altrimenti, compra un paio di capre e tuffati.


@Phoenix - di 'ai ragazzi di capirlo da soli e il viaggio affina le loro abilità? Immagino che ogni nuvola abbia un rivestimento d'argento ;-) Preferirei lavorare da qualche parte dove ho avuto aiuto e supporto rispetto al cane mangia cane ...
Sheikhjabootie

Un team cooperativo nel suo insieme sarà probabilmente migliore di un singolo programmatore che è davvero bravo. Tuttavia, ci vogliono solo uno o due programmatori davvero bravi per trasformare una buona squadra in una grande squadra, anche se stanno semplicemente utilizzando ciò che sanno e non lo condividono. Coloro che condividono spesso ometteranno bit, il che porterà a problemi che gli altri dovranno risolvere da soli. Dare tutto via porta a un problema simile all'apprendimento rispetto alla memorizzazione. Per imparare veramente qualcosa, devi capirlo in tutte le sue complessità, piuttosto che semplicemente esibirti a memoria come altri hanno indicato.
Phoenix,

Inoltre, stavo solo pensando: non è nemmeno un vero "cane mangia cane", perché non stanno cercando di favorire la competizione tra i singoli programmatori, invece, stanno cercando di favorire la competizione tra i programmatori e la conoscenza stessa.
Phoenix,

Nella tradizionale cultura aborigena australiana, non avevano la scrittura, quindi rendevano le informazioni scarse e quindi preziose. Solo agli anziani più rispettati potrebbe essere affidata la responsabilità di trasmettere l'apprendimento dei secoli. Coloro che volevano l'informazione 1) dovevano essere degni di essa e 2) dovevano pagare per essa. Questo ha funzionato benissimo per circa 30000 anni e poi sono arrivati ​​alcuni tizi con la scrittura e il problema con la condivisione perfetta delle informazioni è stato risolto. Quello che descrivi suona come il modo aborigeno che funziona - ma non sarebbe nemmeno meglio se lo scrivessero?
sheikhjabootie,

Immagino che ciò che intendo sia che non stiamo parlando di sbarazzarci dei bravi programmatori con tutte le conoscenze, vogliamo che continuino a fare il buon lavoro che fanno, e vogliamo anche che gli altri programmatori siano in grado di lavorare anche efficacemente. Capisco cosa intendi per "cane mangia cane". Pensi che la lotta per informazioni di qualità sia vantaggiosa a lungo termine. È solo nella mia esperienza, le reclute con qualsiasi tipo di talento o passione diventano così frustrate da quanto sia difficile fare qualcosa senza la condivisione di informazioni che si ritirano abbastanza rapidamente e vanno a lavorare in un posto più favorevole.
sheikhjabootie,

2

Chi è il capo? Dove finisce? Non è necessario condividere informazioni. Non è necessario fornire documentazione. Non riescono continuamente a fare le cose in tempo. Non seguire gli standard di codifica. O qualcuno in carica pensa che questo sia importante o no. Dovrebbero esserci delle conseguenze. Fondamentalmente stanno rubando dalla compagnia.


2

Le persone che giocano al "Ho un gioco segreto" sono le peggiori in assoluto. Queste persone tendono ad essere insicure e creano o prosperano in modalità crisi .

Vorrei fare loro documentare ogni cambiamento o modifica che fanno al sistema. Vorrei anche far loro fornire un post mortem per ogni correzione che hanno sviluppato per includere ...

  • quello che è successo
  • perché è successo
  • come prevenirlo
  • quali altri sistemi sono vulnerabili allo stesso bug

Vorrei anche rendere questa persona responsabile per ...

  • sviluppo di standard di codifica
  • mantenere una libreria di codici

1

Molto dipende dal tipo di conoscenza coinvolta; che si tratti direttamente di codice o orientato ai processi aziendali. In genere quest'ultimo è disponibile altrove nel settore ... e può essere acquisito.

In secondo luogo, c'è un argomento nel garantire che nessuno sviluppatore possa trascorrere la propria intera vita lavorativa in aree specifiche senza condividere, per così dire. Quindi, se hai un manager di linea che è responsabile della consegna del lavoro, vale la pena convincerlo a garantire che qualsiasi richiesta di modifica aziendale venga inviata a lui / lei per essere distribuita senza che uno sviluppatore specifico diventi la prima linea di contatto per un proprietario di un processo aziendale ... Ciò ostacolerà gli sforzi da parte di uno sviluppatore per diventare un guru.


-2

Sarebbe nel migliore interesse di entrambe le parti se il raccoglitore di informazioni fosse incoraggiato a trovare un'azienda di dimensioni inferiori o addirittura a fondare la propria azienda? Forse la persona prospererebbe in quel tipo di ambiente più piccolo. (Sono curioso di sapere se qualcuno ha mai provato questo approccio anche nel mondo reale.)


Chiunque abbia votato in negativo, si prega di essere così cortesi da fornire una ragione; o forse anche tu sei un accaparratore di informazioni?
mg1075,

1
Non conosco il motivo del downvoter, ma penso che l'OP sia più interessato alla squadra, e questo non sembra fare nulla per la squadra se non rimuovere la scorta.
Zachary Yates,

@ZacharyYates - capito. La mia ipotesi implicita è che l'azione che ho suggerito potrebbe in definitiva aiutare tutte le parti coinvolte nella situazione, anche se ciò significherebbe che l'accaparratore lascia la squadra.
mg1075,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.