Ruotare lo sviluppatore principale è una buona o cattiva idea?

31

Lavoro su una squadra che è stata piatta dal punto di vista organizzativo da quando è stata creata diversi mesi fa. Il mio manager non è tecnico e questo significa che tutto il nostro team è responsabile del processo decisionale.

Il mio manager sta cominciando a rendersi conto che ci sono molti vantaggi nell'avere uno sviluppatore principale, sia per il suo bene (un singolo punto di contatto e una singola parte responsabile per le attività) che per la nostra (risoluzione delle controversie, guida tecnica organizzata, ecc.) .

Poiché la squadra è stata piatta, una preoccupazione è che la scelta di uno sviluppatore principale può scoraggiare gli altri. Uno sviluppatore non esperto ha suggerito al mio manager che la rotazione dello sviluppatore principale è un modo possibile per evitare questo problema. Uno sviluppatore verrebbe guidato per un mese, un altro per il successivo e così via.

Questa è una buona idea? Perché o perché no?

Ricorda che ciò significa tutti sviluppatori - Tutti gli sviluppatori sono buoni, ma non necessariamente adatti alla leadership.

E se è non , come posso raccomandare di evitare questo approccio senza sembrare che sia solo per motivi egoistici?

    
posta NickC 22.04.2016 - 11:51
fonte

17 risposte

31

Non ruotare.

Non credo che qualcuno guadagni qualcosa dalla posizione che viene ruotata (a parte quelli che non meritano di essere il protagonista potrebbero ottenere più soldi di quelli che stanno attualmente ricevendo).

Avere un brillante sviluppatore capo che può fare quanto segue, fa miracoli per il processo di sviluppo:.

  1. sa come delegare.
  2. È sotto controllo.
  3. È uno sviluppatore esperto.

È una singola fonte per il resto del team per cercare e chiedere consigli. È anche il mediatore tra la gestione di livello superiore e il team di sviluppo principale. Non conosco nessun team manageriale che ami affrontare il cambiamento (a meno che non siano quelli che lo istigano).

Se sei davvero il più adatto per la posizione, tutti lo saprebbero. Tutti lo saprebbero (ad esempio, la gestione di livello superiore, il tuo compagno di squadra, ecc.). Dichiari che non credi che ruotare la posizione sia utile (se lo credi). Quindi siediti e lascia che facciano la nomina - astenersi dal cadere di nomi o da qualsiasi tipo di auto-promozione in quanto ciò ti farebbe sembrare poco professionale

    
risposta data 02.03.2011 - 05:55
fonte
11

Ci sono due parti per essere uno sviluppatore principale:

  • Leadership tecnica Per la leadership tecnica, ha senso scegliere un altro sviluppatore principale a livello di progetto. Fai diventare uno sviluppatore un lead tecnico per un progetto diverso, ruotando se necessario mentre i progetti ruotano. Questo tipo di approccio può gestire le dinamiche del team e assicurarsi che tutti siano debitamente sfidati

  • Comunicazione Un unico punto di contatto per la comunicazione con il mondo esterno è positivo per il mondo esterno e negativo per il punto di contatto. Chi rimane bloccato con la sfera della comunicazione avrà meno tempo per fare un vero lavoro e dovrà correre in giro a ricevere informazioni da tutti per passare. Se sei il miglior comunicatore e sei disposto a smettere di fare tanto del lavoro divertente in cambio di fare tutto il parlare, più potere a te.

risposta data 02.03.2011 - 05:43
fonte
6

Non è necessariamente una cattiva idea, a condizione che gli sviluppatori coinvolti siano impegnati e (idealmente) capaci.

Ho difficoltà a trovare riferimenti per questo (ma continuerò a cercare), ma se ricordo bene alcune aziende agili fanno questo - ruotano il titolo di "lead del team" ogni iterazione o in qualche altro pre -definisce il periodo di tempo. Ciò promuove il coinvolgimento degli sviluppatori e offre a tutti la possibilità di svolgere parte della gestione del team / comunicazione esterna senza spostare permanentemente uno sviluppatore dallo sviluppo in quel ruolo.

Alcuni inconvenienti includono la potenziale perdita di informazioni (questo può essere mitigato in vari modi) e un maggiore potenziale di leadership "cattiva". Potrebbe anche essere difficile mantenere una visione / direzione per la squadra. Tuttavia, se tutti sono d'accordo con questo approccio ei membri del team sono entrambi ben informati e interessati a far funzionare un sistema del genere, può valere la pena provare.

    
risposta data 02.03.2011 - 05:42
fonte
5

Se si ruota, non farlo durante un progetto. Non c'è nulla di intrinsecamente sbagliato nell'assegnare ruoli diversi a persone diverse per progetti diversi, in base a chi è più appropriato in ogni posizione per quel particolare progetto. Ma non fare di Joe il "programmatore capo" solo perché è il suo tempo sul roster per eseguire il lavoro. Potrebbe non essere abile per questo, potrebbe anche non volere il lavoro.

    
risposta data 02.03.2011 - 08:48
fonte
4

Ruotare lo sviluppatore principale in base al tempo è una cattiva idea.

Ognuno è un buon sviluppatore non significa che tutti sono dei buoni leader. E uno è un buon leader, non significa che è adatto per il leader di questo programma.

Penso che l'importanza delle missioni assegnate agli sviluppatori sia diversa, e la leadership di ogni sviluppatore è diversa. Penso che tu possa consigliare al tuo manager di tenere un voto. Ognuno vota 2 persone per il miglior candidato, e la persona che ottiene il maggior numero di voti dovrebbe essere lo sviluppatore leader

    
risposta data 02.03.2011 - 12:20
fonte
3

Sono propenso a concordare con Jonathan Khoo che la rotazione dello sviluppatore principale potrebbe essere una cattiva idea. Generalmente per i progetti più grandi c'è un unico lead tecnico che dirige il progetto e quella persona può avere diversi lead di componenti che segnalano a loro di discutere vari problemi di sistema.

Tuttavia, un punto importante che Jonathan non ha menzionato è che la guida tecnica sviluppa anche un alto grado di conoscenza istituzionale che altri membri del progetto potrebbero non avere. Ruotando il lead tecnico si richiede loro di sviluppare quella conoscenza ogni volta che qualcuno viene ruotato nella posizione. Inoltre, il lead svilupperà un rapporto con i clienti al di fuori del progetto in quanto dovrebbe idealmente essere presente per alcuni degli incontri (più grandi) con gli utenti finali.

Avere un vantaggio tecnico è buono, ma se provi a ruotarli puoi scoprire che stai meglio senza uno.

    
risposta data 12.04.2017 - 09:31
fonte
2

Penso che prima devi determinare quale sia il ruolo di questa persona, più di chi lo fa e per quanto tempo.

Devi anche determinare se questo cambierà in modo significativo il modo in cui il resto di te lavora e se ridurrà le tue prestazioni. Avere una persona deve "approvare" ogni riga del codice piuttosto che fare un peer che può avere un effetto serio.

Diversi ruoli specifici possono essere assegnati a diversi membri del team, senza che nessuno di voi sia "superiore". Colui che è più in grado di comunicare tra il manager e gli altri può avere un ruolo specifico per farlo, ma ciò non significa che sia uno "sviluppatore principale", e potrebbe non essere la persona che è la migliore tecnicamente o la migliore fare recensioni di codice.

    
risposta data 02.03.2011 - 13:17
fonte
2

Sarei disposto a scommettere che mentre la squadra è apparentemente piatta, c'è già un leader tra loro, E lo sanno già tutti.

Gli organigrammi riflettono raramente il modo in cui le persone effettivamente lavorano. Classifiche particolarmente idealizzate come "una squadra piatta".

    
risposta data 02.03.2011 - 16:24
fonte
2

Se la tua organizzazione è piatta, fai in modo che tutti i tuoi sviluppatori passino attraverso la formazione RSA (Requirements and Solutions Analysis) per fare in modo che seguano un processo formale. È quindi possibile assegnare più esperti in materia (PMI) a un progetto e ottenere un processo documentato per tutte le soluzioni.

Inoltre, poiché hai menzionato che il manager non è tecnico, quell'individuo può ancora guidare il processo RSA e facilitare la comunicazione. È inoltre possibile assegnare una particolare PMI come lead su un progetto per progetto per assistere nella facilitazione e costruire i propri skillset individuali.

    
risposta data 27.08.2012 - 20:30
fonte
1

Perché il team di sviluppo non vota in modo anonimo? Userei il voto preferenziale.

    
risposta data 02.03.2011 - 06:31
fonte
1
  1. Puoi selezionare qualcuno della tua squadra per guidare la tua squadra.
  2. Il tuo capo può assumere un'altra persona con esperienza per assumere questa posizione

P.S. Non penso che la rotazione sia una buona idea, la persona deve saper fare comunicazione e avere una buona esperienza nella gestione di una squadra.

    
risposta data 02.03.2011 - 06:55
fonte
1

Come suggerisce la tua domanda, l'intero team è responsabile per il processo decisionale, ti suggerirei di mantenerlo allo stesso modo. Tuttavia, per comunicare e comunicare alle autorità esterne al team, puoi avere un coordinatore del team selezionato nel team. Le sue responsabilità comprendono tutto ciò che non è tecnico. Per tutti gli aspetti tecnici, il team dovrebbe sedersi e discutere nello stesso modo in cui lo si fa ora. Qualsiasi decisione tu prenderai, verrebbe comunicata al mondo esterno tramite il coordinatore . Questa posizione può essere ruotata facilmente in base al tempo.

L'altro approccio può essere quello di avere uno sviluppatore principale basato sul livello di esperienza > esperienza sullo stesso progetto > esperienza nella stessa azienda. E se necessario, la posizione può essere ruotata di fase in fase. Idealmente, ogni fase di sviluppo ha il proprio insieme di requisiti e risultati, che possono essere pianificati e trattati come un mini progetto. Avere un vantaggio diverso per ogni fase ridurrebbe al minimo quasi tutti gli impatti negativi della rotazione.

    
risposta data 02.03.2011 - 12:11
fonte
1

Invece di avere uno sviluppatore leader rotante, avere un capo progetto in rotazione, qualcuno che ha più conoscenza e comprensione per portare a termine il progetto x.

Lo sviluppatore principale di solito è una promozione e dovrebbe essere guadagnato.

Ma per aiutare a formare e sviluppare capacità di leadership, ruotare chi è responsabile di diversi progetti e quindi avere una misurazione chiara di quanto bene hanno fatto o meno.

    
risposta data 02.03.2011 - 16:39
fonte
0

Ci deve essere un caposquadra nello stesso modo in cui c'è un capitano su una nave sufficientemente grande.

Se il gestore non ha o non può riempire quel ruolo, uno degli sviluppatori deve essere nominato per riempirlo.

    
risposta data 02.03.2011 - 13:50
fonte
0

Penso che prima dovresti realizzare collettivamente quanto sei fortunato ad avere il potere di prendere tutte le decisioni tecniche all'interno del team di sviluppo. Quanti team soffrono del peso di una gerarchia di micromanaging che impone loro i loro capricci tecnici, spesso con risultati incoerenti, incubi di compatibilità e frustrazione degli sviluppatori ...

Tra i vantaggi di un lead di sviluppo che hai menzionato, alcuni di essi (una guida tecnica organizzata ...) dovrebbero già accadere se in realtà ci fosse una persona naturalmente eccezionale in termini di abilità tecniche. Se questo è il caso, non vedo come rendere ufficialmente quella persona uno sviluppatore principale darebbe risultati migliori di quelli che si ottengono ora. Se un membro del team non esiste nella tua squadra, allora non riesco a vedere come dare ufficialmente l'autorità tecnica a qualsiasi persona porti a risultati migliori rispetto alla discussione e alla decisione collettiva.

Vedo molto più valore nello stabilire un leader organizzativo - un coordinatore come lo dice il danese. Non un manager, non un capo ma qualcuno che organizzerebbe il processo decisionale collettivo e fungerà da portavoce della squadra, un'interfaccia all'esterno. Se vai in quel modo, la rotazione può essere una buona idea per evitare problemi sopra citati - differenze salariali, gelosia ...

    
risposta data 02.03.2011 - 14:19
fonte
0

A volte, essere un leader è piuttosto una responsabilità più pesante di qualcos'altro. Qualcuno deve assumersi la responsabilità delle scelte, è così che la società funziona quando nessun altro vuole farlo.

Il fatto che una squadra voglia ruotare il leader può significare che tutti pensano di poter prendere la responsabilità per quello che fanno, e non vogliono favorire nessuno, e sembra essere una buona cosa: non ci sono difficoltà sentimenti, e tutti vogliono che la squadra abbia successo.

In questi casi, quando ci sono decisioni difficili da prendere, basta fare un voto per quelle decisioni e quando hai bisogno di un rappresentante per parlare con altre persone, eleggi solo qualcuno con le migliori capacità di comunicazione.

    
risposta data 02.03.2011 - 15:16
fonte
-1

Prima di tutto, penso che sia necessario separare i ruoli. Non c'è motivo per cui la persona che funge da punto di contatto tra la squadra e il resto della società debba necessariamente essere anche la persona che prende le decisioni tecniche finali.

Considerando che il punto di contatto non deve conferire alcuna autorità, la rotazione di tale responsabilità su un programma fisso non dovrebbe essere necessaria. Direi che la squadra siederà, tutti dicono quanto gli dispiacerebbe fare il lavoro (a qualcuno potrebbe piacere, altri potrebbero essere strongmente contrari a farlo), quindi votare qualcuno per ricoprire il ruolo. Fai capire che possono consegnarlo a qualcun altro ogni volta che si ammalano di farlo.

Per quanto riguarda il lato tecnico. Se tutti hanno le stesse abilità e approssimativamente lo stesso livello di esperienza, allora certo, lascia che ognuno si cimenti nella guida. L'importante è non cambiare assolutamente a metà progetto. Attendi fino all'inizio di un nuovo progetto, quindi scegli il lead che ha la maggiore esperienza in quell'area o a caso.

    
risposta data 02.03.2011 - 16:15
fonte

Leggi altre domande sui tag