Come procedi con l'introduzione della base di codice, che potrebbe essere piuttosto complessa e intricata con un sacco di "trucchi" per un nuovo membro della tua squadra?
Penso che il modo più semplice sarebbe avere l'architettura complessiva strutturata con diagrammi e impiegare un paio di settimane (o mesi) a dare alla nuova persona compiti ben definiti (e ben definiti) man mano che si abitua al codice.
Tuttavia, in qualità di consulente (e impiegato junior, a tale scopo), non posso sempre farlo a causa di limiti di tempo o designazioni di ruolo del team. (Sono stato su questo particolare progetto due volte più di chiunque altro, quindi "junior" non è in alcun modo "conosce meno il codice / progetto.")
Sono stato incaricato diverse volte di introdurre un nuovo membro nel progetto e nel codice, e purtroppo ogni volta trovo che non sono molto più bravo di quello precedente. Adoro diagrammi e immagini, ma spesso ritengo che non rappresentino adeguatamente la complessità di un sistema. (Che dire di tutti i "trucchi" del piccolo?)
Il progetto sta arrivando al punto in cui lo consegneremo al cliente, e per rendere le cose più difficili, la persona con cui farò un trasferimento di conoscenze è essenzialmente appena uscita dall'università. (Non che io sia molto più bravo quando faccio trasferimenti di conoscenze con gli sviluppatori senior.)
Frequento un gruppo di utenti una volta al mese e altre opportunità man mano che si presentano, quindi non sono inutilizzato per essere introdotto a nuovi argomenti, ma sento la mia capacità di replicare un'efficace condivisione delle conoscenze dolorosamente inadeguata.
Qualsiasi consiglio sarebbe molto apprezzato. Sto cercando soprattutto una linea guida che posso seguire. Ad esempio: dove inizi? Come procedi? Come si coprono tecnologie o modelli sconosciuti da parte dell'ascoltatore senza occupare tutto il giorno? Dove leghi la logica aziendale e la struttura del codice?
Grazie!
(Come sempre, non esitare a modificare la domanda come ritieni opportuno.)