Monday, March 29, 2010

Adding Developers Is Not the Solution

It’s important to note that adding developers to the project— which is probably the most common attempt to move a project along faster—actually decreases productivity according to this equation.

This might seem illogical at first, but when you think about what happens when new developers join a team, it makes sense.

Adding new developers initially hinders the team from making the usual progress on their tasks. First off, existing team members need to spend time training and communicating with the new team members. More critically, new developers have a limited understanding of your team’s code base. As a result, they cannot efficiently revise the existing code (which, as I mentioned above, accounts for the bulk of software development), and this limits the team’s progress. Their lack of familiarity with the code base also increases the risk of introducing defects and other issues that will later require rework. This too hinders productivity. (In the next section, we’ll look more closely at why all these things impact productivity).

Rather than expanding the team size, the key to completing work faster is making the existing development process more efficient: in other words, increasing the average LOC per head. This is the same lesson that was learned time and time again in other industries. As production processes are optimized and take advantage of the latest technologies, fewer people are needed on the “production line” because those people are able to accomplish more than they did previously—in less time.

The next entries will introduce four ways to optimize the development “production line” to significantly increase the productivity of each developer.

1 comment:

  1. As a part of website and software development i love to know about software fir solutions

    ReplyDelete