LuneScript の工数( SLOC )

<http://localhost:1313/posts/2020/2020-08-01-lunescript-man-hour/>

以前 LuneScript の工数を考えたが、今回は別の面から工数を考えてみる。

ソフトウェア開発分析データ集2020

<https://www.ipa.go.jp/ikc/reports/20200930.html>

上記のリンク先の資料「ソフトウェア開発分析データ集2020」の p.84 に、 新規開発の SLOC 生産性の表「A1-2-1 SLOC 規模別 SLOC 生産性(新規開発)」がある。

この表には、コード規模毎に最小、最大、平均の SLOC 生産性が載っている。

このデータから LuneScript の工数を計算する。

LuneScript の工数

LuneScript の現在の規模はコメント含んで約 56 Kline。 SLOC は本来コメントを除外した行数だが、 マジメにコメントを除外するのは面倒なので 仮に 20% がコメント だとする。

すると、 LuneScript の規模は 44.8 KSLOC になる。

先程の参照先の表 A1-2-1 から、この規模の生産性を見ると、

平均: 0.75KSLOC/160人時 

となる。

ここで、160 人時は一人あたりの 一月のフルタイムの勤務時間

これを元に LuneScript の 44.8 KSLOC の工数を計算すると、

59.73   (/ 44.8 0.75) 

つまり、 フルタイム勤務の平均の生産性 で開発すると、 LuneScript は 59.73 人月 かかることになる。

フルタイム勤務で平均 59.73 人月 (= 約5年) かかることを、 プライベートな時間で今の形までもってこれたのは、 我ながらなかなかのことだったんじゃないかと思う。

ただし、参照先の表 A1-2-1 は、開発工程(基本設計〜テスト)までの 期間の生産性である。 一方で、 LuneScript はいろいろな工程をすっ飛ばしている。 それによって早いってのはある。

なお、参照先の表には、 最大の生産性 も載っているので、 それを使って計算すると以下になる。

最大: 2.45 KSLOC/160人時
18.29    (/ 44.8 2.45)

このように、最大の生産性でもフルタイム勤務で 18.29 人月 かかる、ということになる。

さいごに

一般的な生産性と比べても、LuneScript は頑張った。

もう、これで良いよね。