SE/プログラマーの生産性や技術力って定量的に評価が非常に難しい。
ただ、一応IPAが統計的に平均のstep(sloc)数など出してくれている。
いちいちソフトウェアデータ白書から探すの面倒なので、今回はその平均・中央値についてまとめました。
目次
前提
ソフトウェア開発分析データ集2020を参考にしています。
https://www.ipa.go.jp/files/000085879.pdf
SLOCはコードの行数です。また、今回の値は全体Step数を開発5工程の工数で除算した値です。
人月は160h計算としています。人日は値を20除算するとだいたいの値が出てくる。
P75は75パーセンタイルで、最小値から数えて75%に位置する値です。ここであれば標準より生産性が高いと考えていいかもしれません。
バグ密度、試験項目数についてもこの記事にまとめているので見てみてください。
新規開発の生産性- 1人月あたりのstep(sloc)数
ソフトウェアデータ白書では規模ごとに生産性を出してくれている。
規模が大きくなるにつれて生産性(step数)が上がっている。
よく、1人月1000stepみたいな話を聞くが、これを見る感じ統計的に間違った数字じゃないことが分かる。このデータだと1000step/1人月はむしろパフォーマンスが高い方だ。
SLOC規模 | 中央値(KSLOC/人月) | 平均値(KSLOC/人月) | P75パーセンタイル |
全体 | 0.66 | 0.9 | 1.0 |
40KSLOC未満 | 0.52 | 0.74 | 0.87 |
40~100KSLOC | 0.71 | 0.75 | 0.96 |
100~300KSLOC | 0.75 | 0.96 | 1.17 |
300KSLOC~ | 0.77 | 1.51 | 1.07 |
改良開発の生産性 – 1人月あたりのstep(sloc)数
新規開発よりは全体的にstep数は低い。
1人月0.6~0.7Kstepが相場ってところだろうか。
SLOC規模 | 中央値(KSLOC/人月) | 平均値(KSLOC/人月) | P75パーセンタイル |
全体 | 0.51 | 0.66 | 0.81 |
20KSLOC未満 | 0.36 | 0.46 | 0.59 |
20~40KSLOC | 0.61 | 0.7 | 0.87 |
40~100KSLOC | 0.6 | 0.95 | 1.05 |
100~300KSLOC | 0.74 | 0.81 | 0.92 |
300KSLOC~ | 0.66 | 0.81 | 0.91 |