規模を「正確に」測るには ― LOC
さて、測るべき3つめの指標「規模」。これは目に見える、ように思えます。どのように測れば「正確に」測ることになるのでしょう。
規模の測り方には諸説ありますが、規模の尺度(単位)を決めるうえで大切なのは、それが開発労力(例えば時間)と強い相関関係にあるかどうか、です。この点において、数多くの開発者の実例を分析した上で、PSPでは、LOC(Lines Of Code)を規模の尺度として用いることにしています。機械で自動計測できること、同じ定義を用いれば、誰が測っても同じ結果になること、が理由です(詳細は参考文献47-54ページ)。
同じ定義を用いれば? ……ピンと来ないという方もご安心ください。今回はこの「定義」、あるいは基準、標準と言われるものについて、演習を交えて分かりやすく説明していきます。
この演習を難なくクリアした暁には、各自で規模を計測する基準を決めていただき、それを守って計測することで、「正確に規模を計測しています」と言えるようにします(第3日)。それをもって、次のプログラミング課題に進みましょう(第4日)。
演習: 「LOCをどう測ったらいいでしょう」について考えます
LOC、日本語で一番近い言葉は「行」ですね。さて、それでは突然ですが下の例題を解いてみましょう。
私は今朝焼肉を食べました。朝から焼肉を食べることは体に悪いかもしれません。
1行のように見えますね。さて、次はどうでしょうか?
私は今朝焼肉を食べました。 朝から焼肉を食べることは体に悪いかもしれません。
あら、2行に増えましたね。さらに続けます。次の例ではどうでしょうか?
私は
今朝
焼肉を食べました。
朝から焼肉を食べることは
体に悪い
かもしれません。
6行……? いや…11行?
何かおかしいと思いませんか? 中身が全く同じなのに行数でカウントすると、こういうことがおきますね。しかも今回の例題の答えは、1行でも、3行でも、6行でも、11行でも、間違いではないのです。なぜなら、何をもって1行とするのか、という「定義」がないからです。しかし同じ文章の計測結果がこうも変動されると、見積もり規模が怪しくなってしまいます。これでは困りますね。ですから、これを解消すべく、各自に計測の定義が必要なのです。
