Software Processes

The Rational Unified Process

http://www.therationaledge.com/content/jan_01/f_rup_pk.html

Activity Workload as a function of time

Inferred from the figure

Team Size Influences Productivity

Fixed Team Size N

Forrester System Dynamics model

development rate = 
 nominal_productivity*(1-C_overhead*N2)*N

Team size (N) = 5 simulation results

Team size (N): 3 .. 9 simulation results

Optimal between 7 and 8

The effect of adding new personnel

Forrester System Dynamics model

development rate = 
 nominal_productivity*(1.2*num_exp_working 
                       + 0.8*num_new)*(1-C_overhead*N2)

5 new programmers at day 100 simulation results

2 new programmers at day 100 simulation results

new programmers at day 100: 0 .. 6 simulation results

Conclusions

  1. There is an optimal team size. A larger team does not necessarily mean higher productivity. This is due to interaction overhead.
  2. Adding new developers to a project-in-progress when it is late will delay it even more. This is known as Brooks' Law (described in his seminal book The Mythical Man-Month). It is due to the reduced productivity when training new developers. After the training period, the productivity does increase (if not too many developers were added, see 1.).

Extreme Programming

http://www.extremeprogramming.org/