Developers, managers, or customers? I was recently involved in a situation where I felt like the customers were arbitrarily demanding for more developers on a team which already had too many developers. They were scared the project was going to be late (and it probably will be). Personally, I was scared we were going to fulfill Brook's Law.

The group of programmers already lacked in-depth business knowledge, and some were even new to the technology (.NET), yet the customer wanted to add more developers who had even less business knowledge. The impression was that this would make the project get done quicker.

I started wondering if the customer, who is extremely bright, but presumably knows little about IT project management, should really be the one determining team size.

  • The quantum of work really should ideally be the deciding factor or whoever is in charge of decision making.
    – Fanatic23
    Commented Mar 1, 2011 at 15:59
  • 1
    Why are you letting the customer boss your operations around like that? The customer shouldn't be privy to the amount of firepower you have. Encapsulation! Commented Mar 1, 2011 at 18:25

7 Answers 7


Managers - they're the ones in charge of "getting" the jobs and signing the paychecks. And on them lies the responsibility from programmers getting the work done, and customers getting the work payed.

  • +1, this is the answer, but you do need smart managers!
    – ozz
    Commented Mar 1, 2011 at 15:55
  • 1
    +1 - I can't imagine a policy holder coming into the insurance company I work for demanding a larger web application development team and being taken seriously. Commented Mar 1, 2011 at 18:44

I would sit down with the customer and explain to them that after a certain point, more programmers becomes a hinderence not a help. Hiring more would simply be wasting their money.

A good example to bring up would be the mythical man month. 1 woman takes 9 months to make a baby but 9 woman cannot take 1 month to make a baby.

If they still insist on hiring more programmers, well its their money so they can do what they want.


The only person who should be able to determine team size is someone with experience assigning team members to a project. A manager.

He needs to know:

  • How familiar each team member is with the business rule set. Which more often than not is very complex.
  • How familiar each team member is with the chosen technology.

A good team manager is someone who has succeeded and failed, so he knows what works and what doesn't.

Randomly assigning more programmers to a problem is like throwing more women in to hurry up a pregnancy, it just doesn't work that way.


I would probably think it'd be the manager. I mean the customer doesn't really know enough about the actual software development cycle to know whats what. A good manager should be able to allocate resources effectively. keyword is "good" manager of course.


Under normal circumstances it should not be the customer, rather the tech lead and/or project manager (ideally both).


Ultimately it is the project manager. Their job (amongst other things) is to select the staff for the project and keep it within budge and on time. If the sponsor (client) wants the project completed sooner, they will increase the number of staff (or change some of them) as the budget allows. And if the budget will not allow them to, they will negotiate with the sponsor.

If the project manager does not have the power to make these decisions, they are not the project manager. They are just a figured head and/or a sacrificial lamb for them to blame when the project fails.

  • 1
    It's the project manager's job to manage the project. The gantt chart updater isn't a project manager. Commented Mar 1, 2011 at 18:34

It's determined by whomever is paying the bills...

  • I agree the maximum size is effectively set this way, but not the useful size.
    – sdg
    Commented Mar 1, 2011 at 15:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.