Collective Wisdom from the Experts 27
That won’t work. It will take time, and pull other programmers off-task, to
get the new guys/gals up-to-date. In addition, the communication channels
increase with each addition to the team. With a team of two, there is one chan-
nel: Betsy Sue to Bill. Add Mike, and you jump to three channels. The number
of channels continues to grow exponentially.
Here’s the formula: n(n–1)/2. With 12 people on the team, you have 12(12–1)/2
channels, or 66 relationships you must maintain as the project manager. Add
one more person, and you now have 78 communication channels to oversee.
Building software with average developers exposes two project myths: 1) that
you can shorten a project by adding people, and 2) that it’s OK to have aver-
age developers produce average (buggy/off-task) code at an average pace. In
truth, average developers drag overall productivity down and the project takes
longer than necessary to complete.
The solution? Give good developers powerful tools. You’ll get higher-quality
software faster. Second, having warm bodies doesn’t help projects, and having
to babysit poor developers cuts the productivity of your good developers, who
are craftsmen. Software is too complex to turn into an assembly-line manufac-
turing process.
Want faster software development? Spend the extra money to hire and nurture
excellent software developers. It will pay off in both the short term, and in the
long term when it’s time to maintain the code.