My company's development team is about 50 strong, we've grown organically over the past 10 years, and overcome some growing pains during that time.<p>We're at a stage where, before further expansion, we can review our structure. I'd like to get some feedback from HN on how best to arrange a fast growing development team.<p>I have seen 3 patterns practiced each with their own strengths and weaknesses. I'm sure there are plenty more.<p>* Superman. Each sub team has an individual who acts as Project Manager/Line Manager/Tech Lead. This works very well in a small sub team (maybe 4 strong), working in a relatively small dev groups (maybe 20), but is difficult to scale.<p>* Double Act. Have two roles in each sub team, a Project/Line manager and a dedicated Tech Lead. This relieves pressure on the individuals in question and works better in larger sub teams (say 8 strong) in larger dev groups (say 40). Good for feedback and direction, but can be hard to restructure sub teams without significant discontinuity to team members.<p>* Program Manager. Have a dedicated Program Manager take care of the project side, let the sub team handle their own technical leadership in an adhoc fashion and have a more distant Development Manager responsible for overall tech direction and line management of a number of sub teams. Good for structural flexibility and cross sub team continuity but the distance of the Dev Manager means sub team problems can take longer to be spotted and resolved.<p>What are your experiences and what have you seen work best?<p>Many thanks<p>Neil
I should add that I'm coming at this from a SaaS perspective where it's vital to release early and often. It would be unusual not to put out something new on a weekly basis. If we make a mistake we can lose a lot of money but no horses will die.