テーマは「ソフトウェア開発において平等な仕事の分担はありえるのか?」です。
やりたいことは「仕事量のばらつきの定量的評価」。
・・・とか大風呂敷広げると後々辛そうなので本音を言います。
GitHub APIで遊びたいだけ。
前回の記事は、作業分担についてContributions(貢献度)の方面から見てみました。
貢献度の算出方法がはっきりしないので、ちょっとすっきりしない内容になってしまいました。
今回はコミット数で調べてみます。
使用するもの
- Python 3.8.5
- Jupyter Notebook for VSCode
- GitHub API REST v3
- リポジトリ情報抜粋の取得 /repos/{owner}/{repo}
- 実際に使用したAPI(リンクを飛べばJSONが返ってきます)
調査内容
データ全体の外観
データの外観をみてみます。249週間分のデータですね。
中央値(50%)と平均値(mean)が近い値になっています。
250付近を開発の勢いの平均値としてもよさそうです。
– | count | mean | std | min | 25% | 50% | 75% | max |
---|---|---|---|---|---|---|---|---|
1週間あたりのコミット数 | 249 | 244.8 | 76.0 | 13 | 203 | 253 | 290 | 421 |
全期間のコミット数推移
2020年は250付近から上に位置しています。
まだ、開発の勢いは衰えていないですね。
全期間のコミット数ばらつき
ばらつきを見ても200-300位で山ができていますね。
人単位で見た場合のデータの外観
人単位でデータの外観を見てみます。
全期間でコミットした人の数は99人でした。コミット数0の人は返ってこないAPIのようです。
コミット数の最小値は9で最大値は8166と大きく開きがあります。
平均と中央値が大きく異なりますので相当偏ってそうです。
count | mean | std | min | 25% | 50% | 75% | max | |
---|---|---|---|---|---|---|---|---|
commit_per_week | 99 | 615.767677 | 1544.193554 | 9 | 14 | 24 | 223 | 8166 |
人単位で見た場合のコミット数ばらつき
ばらつき具合がたまりませんね。かなりそそります。
コミット数と人数比
よく世界のお金の〇%は×%(少数)の人で占めているみたいな話があります。
今回のコミット数にも当てはまりそうなので調べてみました。
全てのコミットの内、約X%はY%の人で行われている。
- 全てのコミットの内、約80%は10%の人で行われている
div | commit | ratio | |
---|---|---|---|
0 | lower 90.0% | 12657 | 20.762455 |
1 | upper 10.0% | 48304 | 79.237545 |
- 全てのコミットの内、約94%は20%の人で行われている
div | commit | ratio | |
---|---|---|---|
0 | lower 80.0% | 3690 | 6.05305 |
1 | upper 20.0% | 57271 | 93.94695 |
何か学術的な内容になった気がします。
まとめ
今回対象としたのがVSCodeだったのでMicrosoft色が強いです。
マイクロソフトのソフトウェア開発を他の会社の人と平等に見ることは難しいですね。
完全有志で立ち上げられたプロジェクトの方が、
仕事量をもっと公平に評価できるかもしれません。
しかし、なかなか面白い知見が得られました。
全てのコミットの内、約94%は20%の人で行われている
零細ソフトウェアハウスにいた経験からあながち間違ってもいない気がします。
おわり
成果物
-
GitHub
https://github.com/zeikomi552/githubapi-python-sample -
Pythonの実行結果(Jupyter Notebook)
https://github.com/zeikomi552/githubapi-python-sample/blob/master/src/githubapi-04.ipynb
コメントを残す