on the computation of truck factor

Post on 20-Jul-2015

125 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Is My Project’s Truck Factor Low? Theoretical and Empirical Considerations

About the Truck Factor Threshold

M. Torchiano, F. Ricca,A.Marchetto

Presenter: M.Morisio

Agenda

• What is the Truck-Factor?

• What happens to TF in OSS projects?

• When is TF low?

Truck Factor

File 1 File 2 File 3 File 4

Developers

Files

Bob Alice Joe

Truck Factor

File 1 File 2 File 3 File 4

Bob Alice Joe

File 1

Truck Factor

File 2 File 3 File 4

Bob Alice Joe

The remaining developers know 75% of the system (3 out of 4)

File 1 File 3

Truck Factor

File 2 File 4

Bob Alice Joe

The remaining developer knows just 50% of the system (2 out of 4)

File 1 File 3

Truck Factor

• the number of developers on a team who have to be hit with a truck (i.e., to go on vacation, to become ill, or to leave the company for another) before the project is in serious trouble

i.e.

• before the remaining developers know less than T% of the modules

Which factors do influence TF?

• Team size (n)

• Residual knowledge threshold (T )– Minimum Proportion of known files before

reaching TF

• Knowledge ratio (KR)– The average proportion of files known by each

developer

• Knowledge dispersion (σKR)– Standard deviation of KR

Sample projects

10 from Google code and 10 from Sourceforge

Project Fragility Threshold

• A project is considered fragile when its TF is below a minimum threshold

• Conjecture (Govindaray):

– Small teams (n<10): 40% of team size

– Large teams (n≥10): 20% ofteam size

• In practice:

– 16 out of 20 OSS projects are fragile

– Only 4 are exactly at the threshold level

Maximum TF

• Ideal condition:

– Developers are split into two groups knowing KR ± σ of the system

– Such knowledge is uniformly distributed among files

• The maximum achievable TF is:

Maximum TF vs. Fragility Threshold

Conclusion

• We compared the Govindaray threshold to the theoretical maximum TF:– the threshold appears either above the maximum

or just barely below, i.e. practically unreachable

• Real and healthy projects, when confronted with such metric, appear as fragile

• Further work both empirical and theoretical is needed to define a fragility threshold applicable to real projects

top related