Warm Bodies

Mini-AntiPattern Warm Bodies

Also Known As: Deadwood, Seat Warmers, Mythical Man Month [Brooks 79]

Anecdotal Evidence:

"One out of twenty programmers... produces twenty times the software compared to an average programmer."

There are approximately 2,000,000 working software managers and developers in America. Currently, there are 200,000 additional job openings. These figures indicate a negative 10 percent unemployment rate.

Bruce Webster contends that half of these programmers could be terminated without any software projects missing any deadlines. [Webster 97]

When asked, "What should you do about bad programmers?," an arrogant programmer replied, "Get out the machine guns and kill 'em all."

AntiPattern Problem: Skilled programmers are essential to the success of a software project. So-called "heroic programmers" are exceptionally productive. As few as one out of twenty programmers have this talent. They produce an order of magnitude more working software than an average programmer.

Large scale software projects are prevalent in many industries. These projects employ hundreds of programmers to build an enterprise system. One hundred to four hundred staff on a single project is not atypical. These large projects often involve outsourced development and contractual payments based upon labor-hours worked. Since profits are a percentage of the staff salaries, the more hours worked, the higher the profits. System requirements always change and increase during development; so there is little risk involved if the project is underbid initially; growing the staff to meet inevitable problems and new requirements. [Horowitz 93] The fallacy of adding more staff to an ongoing software project was described by Brooks as the Mythical Man Month. [Brooks 79]

Refactored Solution: The ideal project size is four programmers; the ideal project duration is four months. [Edwards 97] Software projects are subject to the same group dynamics as committee meetings (See the Design By Committee AntiPattern). Project teams that grow beyond 5 people experience increasing difficulties with group coordination. The group cannot make efficient decisions and it is difficult to maintain a common vision. Working towards a near-term deadline is essential to encourage the team to focus and begin producing a solution.

We are suggesting that extremely large projects are futile efforts. Small project teams with individual accountability are much more likely to produce successful software.

Variations: The challenge of finding talented programmers is an important problem for software-intensive companies. Some firms have resorted to testing in their hiring processes. These examinations resemble Intelligence Quotient (IQ) tests. If you fail the test, you will probably end up on a large-scale project with hundreds of other programmers. :-)

Working with independent contractors and consultants is an effective technique for acquiring programming talent quickly. In some areas of the United States, there are hundreds of contract programmers working out of their homes who can be engaged with a phone call or email. Contract programmers can produce significant software products for reasonable rates. Their rates are especially reasonable compared to the project failures and overruns that result from the Warm Bodies AntiPattern. :-)

(w/ compliments, Skip)


CategoryAntiPattern CategoryManagementAntiPattern


EditText of this page (last edited August 14, 2010) or FindPage with title or text search