Some years ago I used to work for a small software development company. This company was composed of 6 developers plus some additional staff. One of the developers was also some sort of project lead for the others. At any point in time, the company was handling between 5 and 8 projects, which meant that most projects were allocated to a single developer more or less full-time, plus a small timeslice of the project lead’s brain.
Is this an optimal strategy?
Most projects were small enough not to need more than 1 (or perhaps 1.5) developers allocated to them, which was good because the absence of real teams made coordination issues and overheads practically inexistent. However, it was also bad, because a single person was usually carrying the load of a whole project, and nobody else in the company knew enough on that project to be able to work in it if needed. This is particularly dangerous if we think that a developer falling ill or having an accident meant that his/her associated project was completely halted until further notice.
I didn’t like this way of doing things, and neither did the project lead. But we could not find an alternative organisation strategy that was efficient enough. Any ideas?