Brook’s Law and Developer Head Count
Scope, time, cost. These three elements compose the standard project management triangle. In consulting, cost usually translates to head count. When cost isn’t fixed, project managers will add more developers to provide a richer featureset or shorten shipping timelines.
Ideally, every developer added to a project yields the same amount of value for every day spent as a member of the team. Staffing with this assumption is straightforward. Let’s say the product owner wants a specified number of story points before shipping, and the product burndown chart predicts the team will fall short. If new developers contribute a fixed number of points per sprint, project managers merely have to add solve this formula:
# of devs to add >= ((points needed)-(points projected))/((developer contribution) * (# of sprints remaining))
Brook’s Law contradicts this formula by stating that “adding manpower to a late software project makes it later.” Here are some factors to consider when adding new developers to a project.
Ramp-up timeGenerally a developer needs time to learn the code base and the best practices of a team. Over a developer’s first two sprints, the team should expect smaller throughput from the new team member.
MentoringFor a new team member to succeed, time must be reserved for integrating this person. Some of these responsibilites include
- Pair programming
- Thorough code reviews
- Explanations of project practices
Diminishing ReturnsAs team size grows, efficiency per team member decreases. Communication overhead and code integration tasks grow with the team. For these reasons, scrum best practices recommend keeping the team size under 10. Expect a percentage drop in team efficiency for each team member added.
Holistic Look at Adding a DeveloperThis graph makes the following estimates
- The team was previously delivering 30 points per sprint.
- A new dev will contribute 8 points per sprint.
- 2 sprints of ramp-up are required.
- Mentoring will take between 3 and 6 points during ramp-up.
- The team will drop 10% in efficiency with a new member.
Does adding more developers to a project lead to an earlier ship date? The answer depends on how much time is remaining on the project. When augmenting staff on an exsting team, be sure to consider Brook’s Law.