[Tweeted 2011-06-01]
One of the typical responses to a project that is behind schedule is to add people to the project with the intent that they will be able to further subdivide the work and develop in parallel, getting the project back on track.
This, of course, is part of the problem in defining software development project timelines using straight developer days or 'man months'. Part of the difficulty lies in the idea that all tasks can be subdivided (hence the concept of the 'mythical man month'). If we apply the idea that all tasks can be subdivided to areas outside of software development, such as pregnancy, then the erroneous conclusions become obvious; after all, we all know that 9 women cannot complete a pregnancy in 1 month.
One of the other, lesser known aspects of Brooks' law is the concept of a 'surgical team' which identifies 'good' developers and 'the rest of the team'. While I won't go into all of Brooks' concepts in detail, this concept deserves special consideration, in part because Brooks estimates that 'good' developers are 5 to 10 times as productive as mediocre developers. In addition, if we factor in the effects of a higher degree of skill on quality we can easily see the error of our ways.
So, next time you're trying to get a product out the door and it's repeatedly behind, remember that not only does it matter how many people you add, no matter how many Novices you add, they'll never equal one Expert (Robert's Rule #16).
A long time ago in a galaxy far, far away... I gave a lecture called Getting Paid to Think to an academic society. In it I presented a simple hypothesis - an education in the humanities and thinking (e.g., Philosophy) is more beneficial than a skill-based education (e.g., Computer Science). This blog is dedicated to getting you to think as I discuss a variety of topics, most of which are related to my career in the tech industry.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment