codice cowboy della squadra

15

Come gestisci un membro del team che è senior per te e salta sempre sui progetti di altre persone e li completa durante la notte o nel fine settimana? Sembra che lavori per 80 ore settimanali se c'è un'emergenza o meno ed è piuttosto difficile prevedere quale parte della tua lista delle cose da fare colpirà in seguito. A volte i giorni di lavoro vengono sprecati perché lunedì mattina trovi un check-in per completare il progetto a cui hai dedicato la maggior parte della settimana precedente.

Alle persone che chiedono la qualità: di solito è abbastanza buono ma: c'è anche un sacco di refactoring del codice coinvolto, incluso il codice "posseduto" dagli altri membri del team, senza riguardo per la copertura del test, con l'ovvio risultati.

    
posta MK01 07.04.2011 - 20:51
fonte

12 risposte

17

Questo è probabilmente in parte un problema di trasparenza; probabilmente non sta cercando di sprecare il tuo tempo. Vorrei parlare con la direzione di rendere più chiari i compiti a cui le persone lavorano, in modo che possa facilmente rendersi conto che qualcuno ha già investito del tempo in tale compito e può vedere quali compiti non vengono reclamati, concentrando invece i suoi sforzi su quelli.

Non la confronterei direttamente con questo. Parlerò con il tuo manager, quindi alcuni processi possono essere messi in atto. Mentre il problema è probabilmente più visibile con lei, scommetto che ci sono altri compagni di squadra che stanno facendo la stessa cosa (accidentalmente partendo da 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 qualche idea su cui lavorare. Se lavorare con il tuo manager non funziona, dovresti passare a parlare con lei direttamente, ma inizierei con il gestore.

Il nostro team ha affrontato questo problema inserendo note adesive con tutto il lavoro che doveva essere svolto su una lavagna bianca. Ogni membro del team aveva un'etichetta con il suo nome sopra e spostava la nota adesiva su cui stavano lavorando alla colonna "in corso" e la etichettava con il suo nome. Se un'altra persona voleva aiutare con quel compito, ci si aspettava che discutesse e negoziasse con la persona che aveva rivendicato il compito. Un sistema simile potrebbe aiutare molto con i tuoi problemi.

    
risposta data 07.04.2011 - 21:27
fonte
17

Supponendo che lei sia davvero efficiente e "jack of all trades" ...

Abbraccia il suo stile. Scollega lei. E - isolala.

Anche ...

Sii esplicito con le responsabilità che affidi.
Assicurati che il tuo team impari da lei (ad esempio la programmazione della coppia funziona in modo eccellente).
Non andare "all-in": testala e assicurati di avere un piano di riserva se le cose peggiorano.

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

Lo sto dicendo dalla mia esperienza personale. Potrei non essere efficiente come vorrei, ma di sicuro riesco a passare dall'interfaccia utente fino alla persistenza e sto certamente praticando la codifica dei cowboy (che sicuramente è un'arma a doppio taglio).

Sono stato gettato da solo in un progetto abbastanza senza speranza (ho reso le cose ancora più divertenti - ho proposto di riscrivere tutto e ho accettato), le cose stanno andando bene e mi piace. Non c'è nessuno da incolpare per gli errori, ma io stesso. Non c'è nessuno a lamentarsi quando decido spontaneamente refactor un po 'di tutto.

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

    
risposta data 07.04.2011 - 23:51
fonte
9

Suppongo che ci siano problemi peggiori. 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 apportato alla squadra.

La mia ipotesi è che non si rende conto dell'effetto che sta avendo sul team; piuttosto, i contributi che sta facendo probabilmente la fanno sentire preziosa per il team.

La soluzione (IMHO): confrontala direttamente. Certo, sii diplomatico ed elogiativo dei contributi e dei sacrifici che fa (80 ore è una settimana di lavoro oltre la follia, e non potrebbe mai accadere senza un sacrificio piuttosto oltraggioso nella sua vita personale).

Ma è sua responsabilità comportarsi in modo tale da non alienare i suoi collaboratori - junior o meno. E tutti nel team meritano di pensare che i loro sforzi siano significativi - dopotutto, perché qualcuno dovrebbe voler andare al lavoro tutti i giorni se la loro presenza non ha significato?

    
risposta data 07.04.2011 - 20:59
fonte
9

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

    
risposta data 07.04.2011 - 21:20
fonte
6

È possibile che lei stia "saltando dentro e finendo" perché il resto della squadra si muove troppo lentamente o perché il capo le ha chiesto di farlo?

Quanto di tutto questo è fastidioso quando viene aggirato, e quanto viene semplicemente "mostrato" da un programmatore più prolifico (non necessariamente migliore)?

    
risposta data 07.04.2011 - 23:21
fonte
4

Sa che altre persone lo trovano fastidioso? Suggerirei cortesemente di portarlo con lei, dicendo che preferiresti finire i tuoi progetti. Se questo non funziona, o sei a disagio nel portarlo con qualcuno di alto livello, è un caso di gestione. Se non stai completando progetti perché lo è, potrebbe sembrare che stai rallentando se il gestore non conosce la situazione.

Inoltre, come altri hanno già detto, guarda come lavora per migliorare te stesso. Guarda i suoi assegni 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 a loro sembrano banali potrebbero effettivamente essere difficili da scoprire per gli sviluppatori più recenti.

    
risposta data 07.04.2011 - 20:59
fonte
4

How do you deal with a team member who is senior to you and always jumps on other people's projects and completes them over night or over the weekend?

Lavorare più velocemente?

She seems to work 80 hour weeks whether there is an emergency or not and it is somewhat difficult to predict which part of your todo list she is going to strike next.

Per definizione, se è nella tua lista delle cose da fare, non è fatto. Se lo completa, cancellalo dalla lista delle cose da fare.

Sometimes days of your work are wasted because on Monday morning you find a checkin completing the project you've spent most of the previous week working on.

Normalmente si chiama lavoro di squadra - a meno che non ti piaccia la direzione che ha preso, qual è il problema?

To people asking of the quality: Usually it is quite good but: there is also a lot of refactoring of code involved, including code 'owned' by other team members, w/o regard for the test coverage, with the obvious results.

"Owned" e il codice non vanno insieme. Se hai problemi a tenere il passo, chiedi a lei di spiegartelo. Chiedile di farti da mentore, perché sembra che sia abbastanza produttiva. Sfrutta la relazione e lavora insieme.

Per quanto riguarda la copertura del test, se questo è uno standard nella tua organizzazione, portalo al tuo responsabile / responsabile. Veloce, ma scadente, il lavoro non serve a nessuno. Tuttavia, se lei è 10 volte più produttiva di te, potresti finire col fare il duro lavoro di ripulirla. Se è così, investi ancora più pesantemente in una relazione con lei.

    
risposta data 07.04.2011 - 23:41
fonte
3
  • Impara da lei e prova a migliorare la tua velocità di lavoro.
  • Potrebbe esserci una possibilità che il tuo lavoro sia in ritardo.
  • Potrebbero esserci più cose dietro le quinte o al di sopra delle tue conoscenze sulla base delle aspettative di gestione da parte di lei quando è senior.
  • Potresti pensare che potrebbe non avere nulla di meglio da fare, spesso questo è improbabile.
  • Potresti non essere al corrente dell'emergenza.
  • Potrebbe essere un suggerimento alle tue prestazioni sia dalla direzione che dal senior.

In ogni caso, è meglio che tu inizi a valutare te stesso. Come i tuoi sforzi per "Deal" con lei potrebbero non funzionare bene con la gestione.

    
risposta data 07.04.2011 - 21:00
fonte
3

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

Le cose principali mi saltano addosso:

  • Lei ha il talento per fare il lavoro più velocemente di altri (non sottintendi che il suo codice sia cattivo)

Quindi sfruttalo. Nel tuo prossimo progetto, offrigli un lavoro da fare. In questo modo sai cosa sta pensando di fare. Se la sua gratificazione deriva dalla risoluzione dei problemi, è probabile che sia altrettanto felice se te la offri come se lo facesse sullo sfondo.

Forse andane meglio, formalizzalo, come una squadra che ha messo in atto un lavoro che è in palio per chiunque voglia fare qualcosa in più - in questo modo l'elemento di rubare è finito, e tutti vincono.

    
risposta data 07.04.2011 - 21:04
fonte
2

Avvia il team facendo la programmazione della coppia.

Prima di tutto, la programmazione della 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à le conoscenze (a patto che altri sviluppatori principianti stiano guidando) e quindi diffondendo le sue incredibili abilità sul resto della squadra.

In terzo luogo, lei ridurrà l'enorme rischio che sta attualmente portando avanti per conto tuo, in modo che più membri del team sappiano ciò che sa.

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

Quinto, imparerà a giocare come parte di un team . È del tutto possibile che la demotivazione che lei causa, insieme alla duplicazione del lavoro di altri membri del team, stia costando più di quello che sta producendo. Produttività! = Efficacia.

Sesto, la qualità del codice di solito aumenta quando la coppia di sviluppatori. Un bel effetto collaterale.

    
risposta data 07.04.2011 - 23:54
fonte
1

Sa che lavoro stanno facendo le persone e i loro progressi? La direzione potrebbe fornirle una guida in modo da non duplicare il lavoro di altre persone? Sarei tentato di suggerire di avere una conversazione 1: 1 prima di entrare in gestione, perché forse lei è solo una maniaca del lavoro che potrebbe usare la direzione di sapere quali cose potrebbero essere importanti che altri non stanno facendo potrebbe essere molto utile 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ò prendere il merito di aver fatto qualcosa, non pensare che tutto il sangue, il sudore e le lacrime non siano per niente.

    
risposta data 07.04.2011 - 21:00
fonte
0

Il cowboy sembra entusiasta. Mi avvicino al management in modo che possano darle un sacco di lavoro da fare e lasciare che voi ragazzi facciate le vostre cose. Tuttavia, forse potresti imparare una o due cose 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.

    
risposta data 07.04.2011 - 21:02
fonte

Leggi altre domande sui tag