Quali pratiche di gestione / sviluppo cambi quando un team di 1-3 sviluppatori cresce fino a 10+?

14

Il mio team ha creato un sito Web per un cliente diversi anni fa. Il sito ufficiale è cresciuto molto rapidamente e il nostro cliente ci ha chiesto di far crescere il nostro team per soddisfare le loro esigenze di manutenzione e richiesta di funzionalità.

Abbiamo iniziato con un piccolo numero di sviluppatori e il nostro team è cresciuto, ora siamo a due cifre.

Quali cambiamenti di gestione / sviluppo sono più vantaggiosi quando il team cresce da un piccolo team di "garage-size" a più di 10 sviluppatori?

    
posta Mag20 18.02.2011 - 10:03
fonte

3 risposte

8

Direi che ci sono circa due strade principali:

  • Dividi la squadra in due o tre gruppi, ciascuno responsabile di un campo specifico / aspetto. questo ha il vantaggio che puoi ancora lavorare nel modo in cui sei abituato, all'interno dei gruppi più piccoli.
  • "The Surgical Team", su cui puoi leggere su Mythical-Man-Month . anche questo link ha un meraviglioso disegno a riguardo.

Buona fortuna!

    
risposta data 18.02.2011 - 11:56
fonte
4

Siamo cresciuti da circa 10 a quasi 200 negli ultimi 7 anni. La prima cosa che deve cambiare è che avrete bisogno di una documentazione migliore e di processi più standard. I requisiti potrebbero dover essere anche più formali.

Dovresti anche prendere in considerazione l'assunzione di specialisti man mano che cresci. Se si dispone di un back-end del database, è necessario disporre di almeno uno specialista di database dedicato. Probabilmente dovresti spendere soldi per un tester.

Avrai più progetti in corso e una maggiore necessità di gestire tham, quindi se non ne stai utilizzando uno ora, hai bisogno di un sistema di gestione dei progetti e di un bug tracker. È necessario creare un processo di distribuzione e limitare la produzione solo alle persone che eseguiranno le implementazioni, non più apportare modifiche direttamente sui prodotti. I tuoi sviluppatori dovranno limitarsi a selezionare i diritti solo su prod.

Dato che hai squadre più grandi, avrai più problemi con le persone e sarà più probabile assumere personale meno qualificato (relativamente facile ottenere tre buoni sviluppatori quando è tutto ciò che hai, molto più difficile assumerne 30 alla volta). Anche se cerchi di ottenere le persone migliori, più ne assumi più è probabile che avrai un problema, quindi sii pronto a lasciar andare anche le persone.

Il coordinamento tra le persone è fondamentale. Due squadre che fanno cambiamenti mutuamente esclusivi per un prodotto sono una brutta cosa.

Con solo due o tre sviluppatori non puoi permetterti di avere persone junior - tutti devono lavorare a livello senior. Con molti sviluppatori, non puoi permetterti di non avere giovani. Prendi un po 'di junior e allenali come vuoi che siano addestrati. Di solito è meglio lavorare da qualche parte che ha un percorso di carriera non sempre allo stesso livello.

Man mano che il tuo team cresce, molti dei tuoi attuali sviluppatori diventeranno il nuovo staff dirigenziale. Alcuni lo odieranno, assicurandosi che abbiano un'opportunità per una promozione a uno sviluppatore senior piuttosto che alla direzione. Non perdere tutte le tue competenze tecniche per la gestione. Premia coloro che non entrano in gestione perché hai bisogno della loro conoscenza dettagliata del sistema attuale per far conoscere le nuove persone.

    
risposta data 18.02.2011 - 15:53
fonte
4

Se il progetto è abbastanza grande per 10+ sviluppatori, dovrebbe essere facile suddividerlo in aree più piccole. Dividere la squadra in gruppi più piccoli di 3-5 persone ciascuno, e dare loro autonomia sulla loro area. Le API dovranno essere sviluppate tra i team. Consiglio di far capire a ciascuna squadra i propri requisiti e chiedere a una o due persone di ciascuna squadra coinvolta di incontrarsi per discutere dell'API. È più facile avere una discussione e prendere decisioni quando sono coinvolte meno persone.

    
risposta data 18.02.2011 - 15:38
fonte

Leggi altre domande sui tag