On the computation of Truck Factor
-
Upload
marco-torchiano -
Category
Documents
-
view
125 -
download
0
Transcript of On the computation of Truck Factor
![Page 1: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/1.jpg)
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
![Page 2: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/2.jpg)
Agenda
• What is the Truck-Factor?
• What happens to TF in OSS projects?
• When is TF low?
![Page 3: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/3.jpg)
Truck Factor
File 1 File 2 File 3 File 4
Developers
Files
Bob Alice Joe
![Page 4: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/4.jpg)
Truck Factor
File 1 File 2 File 3 File 4
Bob Alice Joe
File 1
![Page 5: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/5.jpg)
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
![Page 6: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/6.jpg)
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
![Page 7: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/7.jpg)
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
![Page 8: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/8.jpg)
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
![Page 9: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/9.jpg)
Sample projects
10 from Google code and 10 from Sourceforge
![Page 10: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/10.jpg)
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
![Page 11: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/11.jpg)
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:
![Page 12: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/12.jpg)
Maximum TF vs. Fragility Threshold
![Page 13: On the computation of Truck Factor](https://reader030.fdocuments.us/reader030/viewer/2022020123/55acb7ac1a28abe9258b45ba/html5/thumbnails/13.jpg)
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