I've been reading on this subject for a while now, but still can't come up with a workable solution for my situation to scale a development department. May be someone can advise me on where to go from here :)
I am in charge of the whole software development department in my company. We have 35 developers of different skill sets split between 2 offices. Most of them are backend developers, 5-6 do front-end (like JS), 3 do slicing, plus a few team leads. Right now I have 4 teams responsible for particular "products" or areas, with a lead assigned to those. All software that we develop is web based: websites, services, tools, etc.
Challenges that I'm facing right now:
- Workload is not even across all resources of the team. There are teams when someone has not enough work, while others are overloaded
- I need to bring in, say, 10 more developers within the next year to accommodate ever growing needs for development. This poses challenge in splitting of responsibilities even further.
- half of the people are not cross-functional
- about 20% of time is spent on bug fixes
- another 10-30% of time is spent on small improvement and feature requests (say, requiring 2-15 hours of work each to implement)
- projects that are running are iterative in nature, usually not exceeding 3-4 weeks when done right. Sometimes dragging for 2+ months if there is too much back-and-forth on small changes, improvements, or bugs
We don't have external clients, so that removes the contractual pressure and such, but still I need to be able to plan ahead :)
I've been thinking about splitting teams by the areas of expertise (say front-end, slicing, back-end, etc) but pretty much the whole Internet tells me it's a bad idea.
Looking into project-specific teams, but quite short project timelines, and quite large proportion of ongoing small requests poses a challenge here (how do you do bug fixes in this model after release?)
Most of the advice is for smaller (5-15 person) teams. We've grew past that, and I think managed that phase quite well. Now this next step is a whole new ball game.