How do you know when Brooks' law applies?

Asked

Viewed 640 times

3

"Adding more people to a delayed software project results in an even longer delay".

But when I know that this law applies, for every law there are exceptions.

Sometimes a project really isn’t delayed by lack of skilled labor?

  • 2

    I don’t know if I can answer this. I find it easier to answer whether the project will delay or not, which is no longer easy. There may be signs, but if they were obvious, no one would make those mistakes. But as far as I know the question is precisely not to put more people without qualification but to replace them with qualified people. Or better yet, start with qualified people. There’s a problem with qualified people: she’s going to say that she can’t meet that crazy invented deadline. If every law has exceptions, some will not have :P I don’t know if this one has exceptions or not. I don’t even know if this question can be considered on-topic.

  • 1

    For every new person on the project, one who already works should stop their work to explain the doubts to the newbies.

  • I agree with @rray, and I understand your bigown point of view. However eventually the person hired, must go through that learning curve and add value to development. and I think that was the discussion I wanted to raise. I also don’t know if it’s on-topic or should be done at Project Management

  • It is not an issue properly classified as software project (design software). Removing this tag will make it easier to locate issues.

1 answer

6


There are several different views on each aspect of a software project; and many of these points are very well grounded. All this diversity can bring the notion that this is a subjective subject where no answer is right, nor wrong.

In the book where Brooks proposes this law, it figures amid several other short sentences without much explanation. But this sentence itself has a brief explanation right in the next paragraph:

"Adding people to a software project increases the total effort needed in three ways: the work of repartitioning the project and the disruption that repartitioning causes, training new people, and increased intercommunication effort."

On the specific communication he speaks in another paragraph that the more people in the project, the higher the cost and the greater the difficulty of communication.

Sometimes a project really isn’t delayed by lack of skilled labor?

Perhaps Brooks did not dismiss this aspect when formulating his law, for in the same book he himself mentions:

"Very good professional programmers are ten times more productive than average programmers*, with the same training and level of experience of two years."

*Here he uses the word "foot", that I think would be better translated in this case to "mediocre", but it is at your discretion.

If he believes this, why did he formulate the law? The project could not be saved by bringing more qualified people?

The problem may be identifying qualified people. The mention does not say "more qualified programmers", she says "very good programmers, with the same experience and training". That is: strictly speaking, with the same qualification.

Exceptions to the Brooks Act

Now, this is only a law because he said it is :D You can apply the exceptions you well understand and probably in his own book you will find text that seems to contradict the law.

Some obvious exceptions (easy to elaborate):

  • Instead of adding people, you can replace by adding no communication cost or management.

  • You can replace it with people who already have the proper training, without adding this cost of time and money to the project.

  • You can delegate already delimited work to new people instead of splitting the project.

From what I have read and observed, however, no project is returned to the agenda by simply replacing or adding developers. What I have seen is that when a project changes course because there have been replacements, the first replacement that occurred was the management of the project.

And I warn you that you won’t find much literature saying to put more qualified people on the project in order to bring it back to the agenda as this would shift blame to the pawn (the programmer) instead of keeping it within the scope of management, which is more politically correct.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.