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 は頑張った。
もう、これで良いよね。