Come creare team di produzione di codice di alta qualità? (come leader di un gruppo)

4

Vengo con un programma chiaro su come codificare correttamente. Ero un team leader e ho gestito un numero considerevole di mentoring per creare un team che crea codice di alta qualità.

Ora ho 3 squadre sotto di me, ognuna ha il proprio caposquadra. Il mio tempo è principalmente dedicato a riunioni strategiche e non posso dedicarne abbastanza per guidare i miei team.

Una volta che riesco a vedere il codice o il design, di solito trovo dei difetti, ma riesco a vederne poco e temo che tutto il codice che non riesco a vedere sia progettato o scritto male.

Come posso assicurarmi che i miei team producano un codice eccezionale?

Nota: non sono nella posizione di licenziare nessuno.

    
posta the-lights 07.02.2013 - 00:14
fonte

4 risposte

6

Le persone spesso confondono il controllo di qualità (test) con la sua garanzia di pari livello. (Vedi QaIsNotQc ) Quest'ultimo riguarda i processi che assicurano che il prodotto (in questo caso il codice) è di alta qualità .

L'accettazione e la comprensione dei processi di controllo della qualità sono fondamentali. Questo spesso ha i concetti spaventosi (almeno per gli sviluppatori) di governance, ISO, CMM e simili.

Usa gli strumenti (sonar, pmd, findbugs, checkstyle e simili) che aiutano a identificare i problemi con il codice. Sonar in particolare ha un plugin di debito tecnico. Usalo, mantieni il numero basso. Sonar ha una bella dashboard che i manager possono guardare e andare "oh, è brutto".

Ricorda anche dai tuoi giorni come sviluppatore gli impatti negativi sulla qualità del codice. Tempistiche abbreviate, stime scadenti, oltre gli impegni. Cerca di assicurarti che queste cose non accadano. Pianifica il tempo per la pulizia del codice.

    
risposta data 07.02.2013 - 00:31
fonte
3

Conosci la risposta. Hai usato il mentoring in passato, il mentoring ha funzionato bene. Gli incontri strategici ti impediscono di fare mentoring. Riduci gli incontri strategici per fare bene il mentoring. Se non puoi tagliarli, o ritardarli o delegarli, allora devi decidere come bilanciare il tuo tempo. Cosa conta di più?

    
risposta data 07.02.2013 - 04:44
fonte
2

Puoi fidarti del tuo capo squadra per ogni squadra? Sono abbastanza bravi da potervi fidare di occuparsi del codice base? Se è così, immagino che potresti avere ciascuno dei tuoi leader di squadra in coppia con gli sviluppatori per controllare la qualità del codice. Dopo aver accoppiato per un po 'tutta la tua squadra dovrebbe conoscere lo stile di codifica o lo standard del codice che stai cercando. Questo ti aiuterà a delegare il tuo lavoro anche ai tuoi team leader. E se hai un po 'di tempo allora vieni e abbina lo sviluppatore o organizza qualche sessione di revisione del codice. Ciò contribuirà a diffondere lo standard che stai cercando più veloce della coppia con ognuno di essi.

Oppure potresti mescolare persone di cui ti puoi fidare che sono forti e farle abbinare agli altri sviluppatori junior.

O una cosa che trovo più interessante è la sessione coding-dojo.

    
risposta data 07.02.2013 - 00:27
fonte
1

Il modo migliore per migliorare la qualità è offrire incentivi. La carota funziona sempre meglio del bastone per la motivazione. Dai ai programmatori un incentivo per migliorare la loro qualità, trovare i loro bug, produrre codice elegante. Hai 3 squadre, rendila una competizione. Convincili a scambiare il codice ed eseguire il debug di ciascun codice, quindi concedere qualche tipo di premio per la maggior parte dei bug schiacciati, meno bug prodotti, ecc. Rendilo qualcosa che vogliono fare.

    
risposta data 07.02.2013 - 00:59
fonte

Leggi altre domande sui tag