codice cowboy nella squadra


15

Come gestisci un membro del team che è più anziano con te e salta sempre sui progetti di altre persone e li completa durante la notte o durante il fine settimana? Sembra che lavori 80 ore settimane, sia che ci sia un'emergenza o meno, ed è piuttosto difficile prevedere quale parte della tua lista di cose da fare che colpirà in seguito. A volte i giorni del tuo lavoro sono sprecati perché lunedì mattina trovi un check-in che completa il progetto su cui hai lavorato gran parte della settimana precedente.

Alle persone che chiedono della qualità: di solito è abbastanza buono ma: c'è anche molto refactoring del codice coinvolto, incluso il codice "di proprietà" di altri membri del team, senza riguardo per la copertura del test, con i risultati ovvi.


51
Che ne dici di darmi i suoi dettagli e vedrò cosa posso fare per convincere la mia compagnia a cacciarla.
Kevin D,

7
@ MK01, Howabout qualcosa del tipo, "Adoriamo i contributi che hai fatto, ma vorremmo discutere dei modi in cui possiamo chiaramente segmentare il lavoro. Se possiamo sfruttare la tua codifica con quella del resto del team, noi probabilmente riusciremo a farlo ancora più velocemente di quanto lo siamo ora ". Una grande chiave è questa: farla sentire come se fosse lei a inventare l'idea.
riwalk

7
Rilassati e aspetta che si esauriscano.
Steven Evers,

9
Sembra che tu possa pianificare più tempo SO il lunedì mattina.
JeffO,

3
Quello che non ci hai detto è la qualità del suo codice. Sta esonerando altre persone con soluzioni della stessa qualità, maggiore o minore?
David Thornley,

Risposte:


17

Questo è probabilmente in parte un problema di trasparenza; probabilmente non sta cercando di perdere tempo. Vorrei parlare con il management per rendere più chiari i compiti su cui le persone stanno lavorando, in modo che possa rendersi più facilmente conto che qualcuno ha già investito tempo in quel compito e può vedere quali compiti non vengono rivendicati, concentrando invece i suoi sforzi su quelli.

Non la affronterei direttamente su questo. Vorrei parlare con il tuo manager, quindi è possibile attuare alcune procedure. Mentre il problema è probabilmente più evidente con lei, scommetto che ci sono altri compagni di squadra che stanno facendo la stessa cosa (iniziando accidentalmente su progetti su cui qualcun altro sta già lavorando) su scala minore. Penso che il tuo manager sia nella posizione migliore per guidare questo nuovo processo, anche se probabilmente dovresti dargli alcune idee su cui lavorare. Se lavorare con il tuo manager non funziona, allora dovresti passare a parlare direttamente con lei, ma inizierei con il manager.

Il nostro team ha affrontato questo problema mettendo su foglietti adesivi con tutto il lavoro che doveva essere fatto su una lavagna bianca. Ogni membro del team aveva un'etichetta con sopra il proprio nome e spostava la nota adesiva su cui stavano lavorando nella colonna "in progress" e l'etichetta con il proprio nome. Se un'altra persona voleva aiutare con quel compito, ci si aspettava che ne discutessero e lo negoziassero con la persona che aveva rivendicato il compito. Un sistema simile potrebbe essere di grande aiuto per i tuoi problemi.


17

Supponendo che sia davvero efficiente, e "tuttofare" ...

Abbraccia il suo stile. Sbloccala . E - isolala.

Anche...

Sii esplicito con le responsabilità che affidi.
Assicurati che il tuo team impari da lei (ad esempio, la programmazione delle coppie funziona in modo eccellente).
Non andare "all-in" - mettila alla prova e assicurati di avere un piano di backup se le cose peggiorano.

La cosa peggiore che potresti fare è rovinare la sua motivazione.


Lo dico per esperienza personale. Potrei non essere efficiente come vorrei, ma di certo posso passare dall'interfaccia utente alla persistenza e sto sicuramente praticando la codifica da cowboy (che sicuramente è un'arma a doppio taglio).

Sono stato buttato da solo in un progetto abbastanza senza speranza (ho reso le cose ancora più divertenti - ho proposto di riscriverle tutte e ho accettato), le cose vanno bene e le adoro. Non c'è nessuno da incolpare per gli errori tranne me stesso. Non c'è nessuno a piagnucolare quando decido spontaneamente di refactificare un po 'di tutto.

In realtà, questa libertà è l'unica cosa per cui sto ancora lavorando qui.


9

Immagino che ci siano problemi peggiori da avere. Anche se il lavoro che tu (o altri membri della tua squadra) dovrebbe avere importanza e sembra che i risultati del suo lavoro eliminino efficacemente il contributo che una persona ha dato alla squadra.

La mia ipotesi è che non si renda conto dell'effetto che sta avendo sulla squadra; piuttosto, i contributi che sta dando probabilmente la fanno sentire preziosa per la squadra.

La soluzione (IMHO): affrontarla direttamente. Certo, sii diplomatico e apprezza i contributi e i sacrifici che fa (80 ore sono una settimana di lavoro oltre il folle, e non potrebbe accadere senza un sacrificio piuttosto scandaloso nella sua vita personale).

Ma è sua responsabilità comportarsi in un modo che non allontani i suoi collaboratori - junior o altro. E tutti i membri del team meritano che i loro sforzi siano significativi - dopo tutto, perché qualcuno dovrebbe voler andare a lavorare tutti i giorni se la sua presenza fosse insignificante?


Sai dopo aver guardato il profilo di OP su SO / SE. Sono portato a guardare l'altro lato della medaglia.Se è stato il senior a fare questo intenzionalmente o involontariamente, è sicuramente un male per le ragioni di cui ha parlato Tim. Anche a causa del punto fondamentale di non lasciare che i giovani crescano / si sviluppino. Solo quando i junior diventano abbastanza migliori da sostituirti, lo spettacolo può continuare anche senza la tua presenza. Quindi +1
Aditya P

9

Considera di darle molto più lavoro, quindi non deve cercare il tuo!


6

È possibile che lei "salti dentro e finisca" perché il resto della squadra si sta muovendo troppo lentamente o perché il capo le ha chiesto di farlo?

Quanto di tutto ciò è fastidioso per essere bypassato e quanto viene semplicemente "mostrato" da un programmatore più prolifico (non necessariamente migliore)?


4

Sa che altre persone lo trovano fastidioso? Suggerirei con delicatezza di portarlo con sé, dicendo che preferiresti finire i tuoi progetti. Se questo non funziona o non ti senti a tuo agio a parlarne con qualcuno senior, è un caso da gestire. Se non stai completando progetti perché lo è, potrebbe sembrare che ti stia rilassando se il manager non conosce la situazione.

Inoltre, come hanno detto anche altri, guarda come lavora per migliorare te stesso. Guarda i suoi check-in per vedere come ha risolto il tuo problema - forse è stata una soluzione intelligente che non avresti pensato a te stesso. Tieni presente che gli sviluppatori senior conoscono la base di codice molto più intimamente di te. Le cose che sembrano banali per loro potrebbero in realtà essere difficili da scoprire per i nuovi sviluppatori.


7
Chiunque preferisca le settimane di programmazione di 80 ore preferibilmente avrà poche competenze sociali.
David Thornley,

4

Come gestisci un membro del team che è più anziano con te e salta sempre sui progetti di altre persone e li completa durante la notte o durante il fine settimana?

Lavorare più velocemente?

Sembra che lavori 80 ore settimane, sia che ci sia un'emergenza o meno, ed è piuttosto difficile prevedere quale parte della tua lista di cose da fare che colpirà in seguito.

Per definizione, se è nella tua lista di cose da fare - non è fatto. Se lo completa, cancellalo dall'elenco delle cose da fare.

A volte i giorni del tuo lavoro sono sprecati perché lunedì mattina trovi un check-in che completa il progetto su cui hai lavorato gran parte della settimana precedente.

Questo è normalmente chiamato lavoro di squadra - a meno che non ti piaccia la direzione che ha preso, qual è il problema?

Alle persone che chiedono della qualità: di solito è abbastanza buono ma: c'è anche molto refactoring del codice coinvolto, incluso il codice "di proprietà" di altri membri del team, senza riguardo per la copertura del test, con i risultati ovvi.

"Proprietà" e codice non vanno insieme. Se hai problemi a tenere il passo, chiedile di spiegartelo. Chiedile di fare da mentore, perché sembra abbastanza produttiva. Sfrutta la relazione e lavora insieme.

Per quanto riguarda la copertura del test, se questo è uno standard nella tua organizzazione, porta il tuo lead / manager. Il lavoro rapido, ma scadente, non serve a nessuno. Tuttavia, se è 10 volte più produttiva di te, potresti finire per fare il duro lavoro di ripulirla dopo di lei. In tal caso, investi ancora di più in una relazione con lei.


Sembra il membro ideale del team ... Sta chiarendo su cosa ha lavorato / finito, sta aiutando tutti i membri del team, ecc.
Augury

3
  • Impara da lei e cerca di migliorare la tua velocità di lavoro.
  • Potrebbe esserci la possibilità che il tuo lavoro sia in ritardo.
  • Potrebbero essercene altri dietro le quinte o al di sopra delle tue conoscenze sulla base delle aspettative di gestione da parte sua in quanto senior.
  • Potresti pensare che potrebbe non avere niente di meglio da fare, spesso è improbabile.
  • Potresti non essere consapevole dell'emergenza.
  • Potrebbe essere un suggerimento per le tue prestazioni da parte della direzione o del senior.

Ad ogni modo, è meglio che inizi a valutare te stesso per primo. Poiché i tuoi sforzi per "affrontarla" potrebbero non funzionare bene con la direzione.


3

Chiaramente ottiene la sua gratificazione dalla risoluzione dei problemi e dall'essere l'eroe - il che va bene, ma è necessario (bene il suo team guida, ma nel frattempo) trovare un modo per sfruttarlo.

Le cose chiave mi saltano fuori:

  • Ha il talento per fare il lavoro più velocemente degli altri (non hai insinuato nulla sul fatto che il suo codice sia cattivo)

Quindi sfruttalo. Nel tuo prossimo progetto, offrile in anticipo del lavoro da svolgere. In questo modo sai cosa sta progettando di fare. Se la sua gratificazione viene dalla risoluzione dei problemi, è probabile che sia altrettanto felice se glielo offri come se lo facesse in background.

Forse vai meglio, formalizzalo, mentre una squadra mette su lavoro che è in palio per chiunque voglia fare un extra - in questo modo l'elemento del furto è sparito e tutti vincono.


1
Se leggi i libri di DeMarco noterai che c'è un rapporto di 10: 1 tra la quantità che gli sviluppatori buoni e quelli non buoni possono produrre. L'ultima cosa che vuoi fare è paralizzare il valore anomalo che ottiene più risultati di altri, devi sfruttare quell'energia e dirigerla dove farà più bene.
quick_now

2

Inizia la squadra facendo programmazione in coppia.

Prima di tutto, la programmazione in coppia è estenuante, specialmente per gli sviluppatori introversi che amano lavorare tutto il fine settimana da soli. I suoi fine settimana diventeranno preziosi per il relax, come dovrebbero essere.

In secondo luogo, trasmetterà la conoscenza (fintanto che altri sviluppatori alle prime armi guideranno) e quindi diffonderà le sue capacità sorprendenti al resto della squadra.

In terzo luogo, ridurrà l'enorme rischio che sta correndo per tuo conto, in modo che più di un membro del team sappia cosa sa.

In quarto luogo, lei - e il resto del team - avranno un'idea migliore su cosa si sta lavorando. Se riesci a combinare questo con il completamento di tutte le funzioni insieme come una squadra, ci saranno meno lavori in corso e meno possibilità di duplicare il lavoro prima del check-in.

In quinto luogo, imparerà a giocare come parte di una squadra . È del tutto possibile che la demotivazione che provoca, insieme alla duplicazione del lavoro degli altri membri del team, stia costando di più di quello che sta producendo. Produttività! = Efficacia.

In sesto luogo, la qualità del codice aumenta di solito quando gli sviluppatori si accoppiano. Un bell'effetto collaterale.


1

Sa che lavoro fanno le persone e i loro progressi? La direzione potrebbe fornirle indicazioni in modo che non stia duplicando il lavoro di altre persone? Sarei tentato di suggerire di avere una conversazione 1: 1 prima di assumere la direzione poiché forse è solo una maniaca del lavoro che potrebbe usare la direzione di sapere quali cose potrebbero essere importanti che gli altri non stanno facendo che potrebbero essere molto utili per lei fare.

Per quanto riguarda lo spreco del tuo lavoro, guardalo da altre prospettive. Cosa potresti imparare da ciò che hai fatto? Quali parti non hai fatto e come le ha fatte? Solo perché qualcun altro può prendersi il merito per aver fatto qualcosa, non pensare che tutto il sangue, il sudore e le lacrime siano per niente.


0

Il cowboy sembra entusiasta. Mi avvicinerei alla direzione in modo che possano darle un sacco di lavoro da fare e lasciare che voi ragazzi facciate le vostre cose. Tuttavia, forse potresti imparare qualcosa o due dal cowboy. Non sto dicendo che le settimane lavorative di 80 ore dovrebbero essere la norma (ovviamente questa è un'esagerazione), ma mettere ore extra al lavoro è abbastanza normale in un grande ambiente aziendale.


5
L'inserimento in lunghe ore di programmazione è generalmente controproducente a lungo termine.
David Thornley,

@David: No, se vieni dato ogni altro venerdì :)
Brian

2
@ 0A0D: È flessibile, non "mettere ore extra al lavoro"
Carson63000,

3
@OAOD: qualsiasi negozio in cui le persone lavorano regolarmente senza compenso è un negozio di sudore.
bit-twiddler

@ bit-twiddler: mai sentito parlare di dipendenti stipendiati?
Brian,
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.