Ho intenzione di condividere la mia opinione, in base a come la mia azienda assegna personale ai progetti. Ovviamente, ogni azienda ha la sua gestione del personale.
La prima domanda è: Ho un architetto assegnato al mio progetto?
Se sì, allora l'architetto potrebbe dare al programmatore capo le basi della strategia. O progettalo almeno. Quando gli architetti sono coinvolti in un progetto, sono loro
Responsabile principale di qualsiasi importante decisione tecnica . Per definire l'architettura e i moduli che dovrebbero essere, con le loro rispettive funzionalità, ecc ... Pensiamo a una grande applicazione aziendale. Preferiamo lasciare che l'architetto prenda queste decisioni.
Infine, il programmatore capo dovrebbe essere in grado di portarlo avanti. Se il nostro programmatore capo ha esperienza in questi compiti ...
Il programmatore capo è spesso visto come uno sviluppatore senior (esperto e di grande autonomia), ma potrebbe non essere sempre in questo modo. Il programmatore capo può essere solo qualcuno con un'elevata conoscenza del prodotto / sistema / applicazione. Potrebbe essere solo la conoscenza relativa al business. Potrebbe anche essere proficuo sulle tecnologie del progetto (strumenti, strutture, ecc.) Ma non significa che abbia capacità di progettazione o architettura del software.
Posso essere un eccellente meccanico, ma non mi rende Ingegnere. Giusto?
A parte le abilità / le capacità dei programmatori, l'importante è conoscere il ruolo e le responsabilità di ciascun membro.
Come @Stephen C ha detto:
It is up to management to decide
Infine, se non c'è un architetto, non c'è dubbio. Lo sviluppatore più esperto dovrebbe essere in quella carica. Tuttavia, il Project Manager dovrebbe essere consapevole del fatto che il suo leader non è un architetto esperto ed è un rischio da prendere in considerazione.
La tua domanda è aperta a molte risposte e probabilmente solo poche saranno disponibili nel tuo caso. Quindi non pensare a queste risposte come legge.
Sii flessibile.