Squadra formata di recente che non ha familiarità con la piattaforma e il dominio su come ottenerli alla velocità?

2

Sono stato assegnato come lead dev di una squadra appena formata. Sono l'unica persona che abbia familiarità con la piattaforma software che utilizzeremo e l'unica persona che abbia mai lavorato in questo dominio. Ci sono altri 4 sviluppatori 2 sono essenzialmente gradi di collage gli altri 2 sono di livello medio. Sto lottando per bilanciare il mio tempo tra la pianificazione dell'approccio che prenderemo / consegneremo un POC e addestreremo gli altri membri del team. Devono essere prese anche decisioni critiche sul design e sto cercando di coinvolgere il più possibile gli altri membri del team, ma senza conoscenze tecniche o di dominio c'è un limite a ciò che possono offrire in termini di input.

Quale consiglio suggeriresti per aiutare il team a velocizzare tecnicamente e in termini di comprensione del dominio. Sto cercando di fare recensioni di codice abbastanza approfondite come un gruppo, un sacco di discussioni / spiegazioni / documentazione sul razionale per le decisioni di progettazione, ma sto trovando difficile andare! Inoltre mi chiedo se cose come sprint planning / design incontri se dovessi deliberatamente prendere più di un sedile posteriore mentre mi trovo a fare gran parte del discorso anche se quando lo faccio per periodi di tempo in questi incontri tende ad essere il silenzio e gli occhi si girano verso me.

NB: mi sono ricollegato al senior management e ho chiarito che la mancanza di esperienza è una sfida significativa e inciderà sulle date di consegna, ma fondamentalmente mi è stato detto che non ci sono soldi per la formazione formale e per ottenere il meglio di esso :)

    
posta Sutty1000 12.07.2016 - 19:20
fonte

1 risposta

5

Un vantaggio che ho riscontrato riguardo agli sviluppatori junior è che (se hai reclutato per aptitude) tendono a compensare la mancanza di esperienza con entusiasmo.

Per prima cosa, spezza il lavoro in verticale! Cioè, non lavorare a strati. Quando parli di funzionalità nell'applicazione, quella funzione dovrebbe comprendere UI, livello intermedio e archiviazione (database, nosql, ecc.).

In secondo luogo, avere un design coerente per le sezioni verticali. Fai in modo che il processo di implementazione di una funzione segua una ricetta. Per esempio. Crea la vista nel motore html / template, implementa il controller, il livello di servizio, il repository, l'oggetto dominio, ecc.

Collabora con gli sviluppatori di un gruppo numeroso per implementare alcune funzionalità (tre dovrebbero fare). Con la prima funzionalità implementata e spiegala come fai tu. La seconda caratteristica è che ogni sviluppatore implementa un pezzo. Terza caratteristica: ognuno di loro implementa un pezzo diverso da quello che ha fatto la prima volta.

Quindi interrompi il gruppo in coppie e assegna ciascuna una funzione. Circola tra le coppie per aiutarle con qualsiasi problema che stanno avendo implementando la loro funzione.

Fai in modo che le coppie si mescolino per il prossimo set di funzionalità.

Quindi fai lavorare tutti individualmente. Tutti dovrebbero avere familiarità con l'architettura del sistema ed essere praticamente autosufficienti a questo punto. Inoltre, hai avuto alcune iterazioni per verificare il tuo design per assicurarti che funzioni come previsto e apportare le modifiche necessarie.

Durante il processo hai ridimensionato il team, portando tutti alla velocità sulla piattaforma e sul dominio.

    
risposta data 12.07.2016 - 19:44
fonte

Leggi altre domande sui tag