Upload
marco-torchiano
View
126
Download
0
Embed Size (px)
Citation preview
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