I have a defacto rule I try to follow with resource allocation. For any project beyond simple maintenance I always assign 2+ developers. The reasons are fairly obvious:
- At least two developers know the source code.
- Each developer is able to bounce ideas off the other one and help work through roadblocks.
- It’s hard to develop tech leads if most people work on solo developer projects.
- It allows each developer to typically work on more projects per year, lessening the chance that the only project they work on ends up being cancelled.
- If a single developer goes on a 3 week vacation the project grinds to a halt.
- I don’t have a lot of developers who own certain software products and are then over utilized for any enhancement requests. Example, one of our products typically has at least one major enhancement per year. We have one developer who really knows this product and so whenever the business decides to add an enhancement we lose his talents for a few months, often in the middle of another project.
- And lastly, “The bogeyman hates the buddy system.” Or spreading your risk is almost always a good thing.