Non ho lavorato in un posto che ha un elevato turnover degli sviluppatori. Ho lavorato in un posto che ha avuto alti fatturati di posti di lavoro che necessitavano di molta esperienza. E quel posto ha trovato un buon modo di affrontarlo. E non era nemmeno cosciente, il posto si era appena adattato. E la parte principale di quel modo di gestirlo era la programmazione in coppia.
Bene, dal momento che non si trattava di programmazione, a rigor di termini era solo l'abbinamento. :-)
Ho lavorato in questo posto prima che Extreme Programming diventasse davvero interessante, quindi non ne avevo mai sentito parlare, ma la società avrebbe documentato tutto attentamente e avrebbero insegnato ai nuovi arrivati lasciando che persone esperte siedessero con loro quando lavoravano. In pratica, ogni volta che qualcuno ha fatto qualcosa di complicato a distanza, si è accoppiato, principalmente un principiante con un vecchio timer. Fondamentalmente, l'unica volta che non hai accoppiato, è stato quando entrambe le persone avrebbero fatto esattamente lo stesso da sole comunque.
Concordo pienamente con l'affermazione che la colpa dell'elevato turnover tra i programmatori è sempre la gestione. E in casi come questo, in cui i quadri intermedi finiscono in una stretta tra realtà e alti dirigenti, non può essere divertente. Ma assicurati che il tuo amico legga molti libri agili, in particolare quelli di Kent Beck su Extreme Programming e test-driven development. Implementando lo sviluppo testato e la programmazione in coppia, manterrai un'alta qualità del codice trasferendo rapidamente le conoscenze a nuove persone.
Non è buono come risolvere i problemi (il tuo amico deve assicurarsi che sappia esattamente perché qualcuno ha smesso, quindi può provare a risolvere anche quello) ma può rendere il problema meno evidente.
(Assicurati anche di avere sempre frutta, caffè, bibite e caramelle gratis. E ci sono molti modi per mantenere le persone che non comportano aumenti di stipendio, ma è improbabile che il tuo amico possa implementarle senza un budget dai piani superiori ).