Programmazione accoppiata - approccio migliore

1

C'è un nuovo sviluppatore che inizierà presto. Questa persona è a un livello di entrata ma ha lavorato nel supporto delle app per un paio d'anni.

Ho fatto questa domanda qualche tempo fa poco prima che iniziassi a formare qualcun altro: La Pair Programming è utilizzata anche per formare sviluppatori meno esperti e portarli alla velocità? . Tuttavia, sono stati spostati su un altro progetto, quindi non è andato davvero avanti.

La mia domanda è: quanto spesso dovrebbero andare avanti queste sessioni? Dalle risposte alla mia domanda precedente credo ci siano due approcci:

1) Trascorri una settimana ad addestrare la persona e raggiungere alcuni obiettivi. Poi tre mesi dopo, un'altra sessione della durata di una settimana, fissa alcuni obiettivi in più. 2) Trascorri una mattina a settimana con la programmazione accoppiata. Questo mi darebbe il tempo di spendere altrove.

Anche questo sviluppatore è "verde" (termine che ho preso da una risposta alla mia domanda precedente), mentre ho lavorato come sviluppatore per il mio attuale datore di lavoro per sette anni. Sfortunatamente sono l'unico sviluppatore. Esistono altri approcci al trasferimento delle conoscenze che funzionano quando lo studente è "verde" e l'insegnante ha più esperienza?

    
posta w0051977 21.02.2015 - 15:09
fonte

4 risposte

4

Mi trovavo in una posizione simile una volta in cui stavo portando a termine diversi sviluppatori. La cosa più importante che abbiamo fatto è stata la costante revisione del codice, il che significa che ogni commit è stato rivisto e commentato da tutti . Dopo circa uno o due mesi, non solo raccoglievano le buone pratiche ma erano anche fiduciosi con il codebase.

Potresti anche provare a lasciare che il tuo nuovo sviluppatore scriva prima alcuni casi di test per il tuo progetto, in modo da avere un'idea del codice base senza rompere nulla.

    
risposta data 21.02.2015 - 16:44
fonte
2

Nonostante la "scienza" in "informatica" e "ingegneria" in "ingegneria del software" che evoca l'idea di avere regole, linee guida e qualche metodo "corretto", la mia esperienza è che devi fidarti del tuo intestino. L'ingegneria del software ci dice che il processo di programmazione abbinata funziona: il tuo istinto ti dice come applicarlo. Questo è un problema umano , non un problema di tecnologia .

Raccoglieremo le metriche, anche se in modo informale. Se dovessi fornire una valutazione ufficiale per questo membro junior nella casella "Abilità tecnica" nella sua recensione annuale, quale sarebbe e cosa diresti in base alle sessioni di programmazione della coppia?

Se il feedback sarebbe "il suo codice deve essere costantemente rivisto e costantemente commette errori da principiante", allora è necessario continuare la programmazione accoppiata. Se il feedback è "sessioni di programmazione accoppiate, metti l'altro programmatore in stop", quindi richiamale un po '. Questo è intrinsecamente soggettivo, ma non è necessariamente una cosa negativa.

In entrambi i casi, le recensioni del codice sono indispensabili. Ognuno fa errori e tutti hanno qualcosa da imparare indipendentemente dal livello di esperienza.

    
risposta data 21.02.2015 - 16:11
fonte
1

Ho fatto la mia parte di programmatori e formatori di paia di formazione. Prima di tutto, dipende davvero dal talento reale. Alcuni sviluppatori non afferreranno mai il pensiero astratto e sono più felici nello sviluppare funzionalità di base o nell'esecuzione di attività di programmazione di base. Altri vorranno approfondire il codice completo delle applicazioni che stai creando e contribuire all'architettura.

Se hai a che fare con il primo tipo di sviluppatore, probabilmente vorrai tenere sessioni relativamente brevi e tenerle spesso (forse anche ogni giorno per un'ora o giù di lì). Se si dispone di quest'ultimo, si desidera avere sessioni più lunghe, ma includere anche le sessioni della lavagna per il design. Tieni presente che l'attività che stai cercando di ottenere deve essere adatta a una sessione di programmazione di coppia.

    
risposta data 23.02.2015 - 10:56
fonte
0

La co-locazione e la programmazione di coppie sono tecniche sorprendenti per avvicinare le persone al progetto e condividere le conoscenze.

Rispondi a questa domanda, quando ti aspetti che una nuova assunzione effettui il primo check in che va in produzione?

La risposta con una coppia di programmazione è " Il suo primo giorno ":)

Se si collega qualcuno e si inizia a lavorare sulla funzionalità reale del progetto in coppia (ad esempio, facendo ping pong TDD) il principiante imparerà moltissimo su come si fa lo sviluppo e scriverà i veri test e il codice primo giorno. Ridurrà definitivamente la tua produttività all'inizio perché dovrai spiegare e fare uno sforzo per "trasferire la conoscenza", ma è comunque il prezzo da pagare.

Lettura consigliata su programmazione coppie di Arlo Belshee

    
risposta data 12.03.2015 - 19:21
fonte

Leggi altre domande sui tag