Come si dimostrano le prestazioni in ambienti di programmazione accoppiati?


15

Le revisioni delle prestazioni sono emerse di recente nel mio lavoro e sono stato messo in una posizione interessante. Il nostro team fa molta programmazione in coppia, che tende a fare una media delle differenze di abilità tra i membri del team (specialmente considerando che ruotiamo le coppie). In genere, quando si eseguono revisioni delle prestazioni, si guarda indietro al lavoro svolto e si dimostra ciò che è stato realizzato e in che modo è stato superato le aspettative nel tentativo di negoziare un aumento o altri vantaggi.

Come dimostrate (o addirittura misurate) le prestazioni individuali in un ambiente come questo?


1
Vorrei tenere traccia di ciò su cui ho lavorato personalmente. Vorrei dare credito quando ho risolto un problema solo dopo aver parlato con il mio pari.
Ramhound,

Non conosco la risposta ... e lo so in alcuni luoghi di lavoro, ci sono potenziali problemi di un membro della coppia che cerca di prendersi il merito per tutto. Non appena il secondo membro cerca di prendersi il merito solo per alcune cose onestamente, potrebbero diventare sospetti poiché probabilmente non è possibile che entrambi i membri meritino tutto il merito per i risultati raggiunti dalla coppia.
FrustratedWithFormsDesigner,

Risposte:


13

includere il valore aggiunto alla programmazione della coppia nella revisione delle prestazioni - hai aiutato l'altro programmatore a imparare cose utili? (e viceversa, hai ascoltato il suo saggio consiglio e collaborato bene?)

una revisione delle prestazioni non dovrebbe essere una competizione, dovrebbe essere una valutazione del coaching relativa ai tuoi obiettivi personali (che presumibilmente sono in linea con gli obiettivi dell'azienda e si sono reciprocamente concordati all'inizio dell'anno; altrimenti è solo arbitrario)


3
+1, ma è probabilmente difficile creare una "valutazione del coaching relativa ai tuoi obiettivi personali", tipo di ambiente quando il tuo prossimo aumento di stipendio dipende dalla revisione delle prestazioni (come implica il tag "stipendio").
Nikie,

1
@nikie: in molti dei luoghi in cui ho lavorato una volta, all'inizio dell'anno sono stati discussi gli obiettivi personali e alla fine dell'anno è stata effettuata una revisione delle prestazioni relativamente a tali obiettivi. In molti altri posti in cui ho lavorato, le revisioni delle prestazioni sono state eseguite senza il tuo contributo. In alcuni dei luoghi in cui una volta ho lavorato, le revisioni delle performance sono state ripetutamente promesse ma non sono mai state fatte affatto. In una sola volta mi è stato detto di compilare i miei documenti di revisione delle prestazioni perché la direzione era "troppo occupata"!
Steven A. Lowe,

2

Sarebbe difficile dimostrare definitivamente un vantaggio in termini di prestazioni rispetto all'altro scientificamente.

La tua ipotesi è che la programmazione di coppia aumenta le prestazioni degli sviluppatori e migliora la qualità. Il test prevede di assegnare a una coppia una serie di requisiti vincolati a un architetto specifico e di farli implementare.

Il tuo controllo in questo caso è quello di dare gli stessi requisiti a un singolo sviluppatore di pari livello, abilità ed esperienza (come giudicato obiettivamente dai suoi pari) e vincolato anche all'interno della stessa architettura.

Per verificare la tua ipotesi di prestazione temporale, i programmatori di coppie devono completare il loro lavoro in meno della metà del tempo come controllo. Per verificare la tua ipotesi sulla qualità devi far rivedere la coppia di esperimenti e il codice di controllo da una terza parte obiettiva e far testare i risultati di entrambi i gruppi a un gruppo di controllo qualità oggettivo senza dire loro quale squadra ha prodotto cosa. Il gruppo di programmazione delle coppie deve avere un codice migliore e meno bug.

Non è un esperimento perfetto, ma sarei affascinato nel sentire se qualcuno ha tentato qualcosa di simile.

Oltre a questo, tuttavia, non riesco a vedere come si possa effettivamente dimostrare che la programmazione della coppia è superiore a un singolo programmatore su una determinata funzione.


Esperimento interessante, ma non sto chiedendo di confrontare le prestazioni individuali con la programmazione in coppia; Sto chiedendo in un ambiente di programmazione in coppia, come si misura l'impatto di un individuo?
NT3RP,

1
Forse è solo una cattiva metrica nel tuo caso? Se la società utilizza principalmente la programmazione di coppie, dal punto di vista dei manager la capacità di determinare con precisione l'impatto di un programmatore specifico viene notevolmente ridotta. Vedo che una revisione annuale delle prestazioni eseguita in modo equo può essere difficile.
maple_shaft

Concordo sul fatto che probabilmente è una cattiva metrica, ma purtroppo dobbiamo conviverci :)
NT3RP,

2

Nelle tue metriche delle prestazioni, chiama separatamente 1) crescita e sviluppo individuale e 2) tutoraggio e supporto alla pari. Consentire a ciascun dipendente di autovalutarsi e incorporare il feedback del proprio responsabile. Se ha senso nella cultura della tua azienda, prendi in considerazione revisioni o testimonianze tra pari.

Se eseguito correttamente, il dipendente che sta ottenendo il massimo valore educativo da un'associazione viene premiato per la sua capacità a lungo termine di contribuire al team e il dipendente che sta contribuendo a renderlo più veloce viene premiato per il trasferimento di conoscenze ed esperienze. Le persone che si trovano da qualche parte nel mezzo (imparano nuovi domini invece di spostarsi da junior a senior) vengono riconosciute per entrambe le estremità dell'equazione.

In pratica, la valutazione delle prestazioni individuali è complicata nel migliore dei casi. È abbastanza difficile farlo senza creare sentimenti di risentimento o competizione. Ma se valuti il ​​contributo individuale alla squadra e apprezzi sia l'apprendimento che l'insegnamento, ci sono alcune possibilità di farlo funzionare con un po 'meno attrito.


2

Le coppie cambiano spesso? In tal caso, potresti utilizzare le recensioni anonime per trovare un indicatore. Ad esempio, se la persona A ha dichiarato che B ha svolto il 60% del lavoro, la persona C ha dichiarato che la persona B ha svolto il 30% del lavoro e che la persona D ha dichiarato che la persona B ha svolto il 90% del lavoro, è possibile fare una media per la persona B che lo fa 60% del lavoro. Se il lavoro svolto da quella persona B nelle sue coppie ha un fattore relativo di 100 punti, allora la persona B ha fatto 60 punti di lavoro!

Tuttavia, questo non è (ovunque vicino) perfetto. È probabile che le persone si diano più credito di quanto non diano l'altra persona, quindi potrebbe essere necessario tenerne conto nel calcolo. Ciò potrebbe anche portare a un ambiente in cui le coppie sono sospettose l'una dell'altra. Il calcolo può anche essere spostato da qualcuno che non gradisce la persona con cui sta lavorando, ecc.


1

Dico che se due di noi hanno lavorato insieme per creare X, entrambi abbiamo credito per averlo completato e distribuito. Dove potresti avere un problema è quando una parte di una coppia non ha funzionato affatto. In questo caso, il manager avrebbe dovuto essere informato di tutto questo e quindi dovrebbe usare quel feedback durante la compilazione del suo commento alla revisione della performance.


1

Sei nella situazione esatta in cui il mio insegnante ci mette studenti nel nostro programma di sviluppo del gioco. Siamo accoppiati (2, 3 o 4 persone a seconda della dimensione della classe e della dimensione del progetto) e alla fine ci viene detto di valutare ogni singolo membro del team e noi stessi in relazione al progetto e al lavoro svolto, nonché i progetti degli altri team nel loro insieme. Un voto è formulato sulla base di queste valutazioni.

Durante la formulazione di gruppo l'insegnante collocherebbe deliberatamente un programmatore forte e un programmatore debole insieme nella speranza che si lavorino a vicenda e / o aiutino ma il 99% delle volte in cui il programmatore debole passava e farebbe pochissimo lavoro a nessuno o avrebbe non ho idea di cosa stiano facendo (essendo questi i corsi avanzati, è molto frustrante).

Le valutazioni dovrebbero essere private, ma diciamo solo che ci sono alcune persone con cui tutti si rifiutano più di lavorare.


1

Associare la programmazione significa che una persona pensa cosa e come qualcosa dovrebbe essere fatto, e l'altra gioca una scimmia codificante. Poi a un certo punto cambiano (ci si annoia, si stanca, ecc.). È buono, perché entrambi non sono interrotti nelle loro attività.

Alcune persone lo considerano anche come "la revisione del codice sugli steroidi". Ottieni un codice rivisto, che dovrebbe significare una qualità superiore.


1

Bella domanda Ciò che è importante non è semplicemente ciò che dai, ma come i tuoi colleghi vedono il tuo contributo. Chiedi loro il loro sincero feedback perché è questo feedback che ti aiuta a essere un "qualunque" migliore . Seriamente, è importante che il tuo pari capisca il tuo contributo e lo capisca solo quando ha una buona dose di apprendimenti mentre si accoppia con te. Felice codifica, condivisione e apprendimento con conseguente buon guadagno.


0

Lo svantaggio della programmazione in coppia è che la produttività del programmatore più esperta è limitata alla produttività del programmatore meno esperta, a breve, medio termine. A lungo termine, l'esperienza e la produttività aumentano nello sviluppatore junior.

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.