2015年5月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
無料ブログはココログ

« 【ソフトウェア開発における定量的管理①】指標による定量的管理は健康診断なのか、取り締まりなのか | トップページ | 【ソフトウェア開発における定量的管理③】開発者は指標値を意識すべきか否か »

2009年5月12日 (火)

【ソフトウェア開発における定量的管理②】定量的管理は母集団に共通の「定量的」かつ「妥当」な特徴があってこそ

指標値をどのように定めればよいのか…これはかなりの難題である。
「計測を始めて何件かの実績値が集まったら、3σの範囲で上限下限を決めて管理を始めることができる」と言う方もいらっしゃるようだが…。

確かに、数学的には計算可能でしょう。
しかし、それを元に管理することは妥当な結果をもたらすのであろうか。

ここで突然だが、カレー屋さんを例に考えてみたい。
最初店主一人で切りもりしていた時は、店主自身でご飯やルーを盛っていた。一人前のご飯やルーの量が同じになるようにするのには、店主の勘に依っていた。
しばらくして、店が繁盛してきたのでアルバイトを雇うこととなった。一人前のご飯やルーの量が人によりばらばらにならないようにする必要が出てきた。

そこで次のように定めた。

・ご飯 … ハカリを用意し1人前のグラム数を定めた
・ルー … 適当な大きさのお玉を用意し、すりきり1すくいを1人前とした

これで、改善の余地はないか。
ご飯は、いちいち重さを量りながらでは手間がかかることが分かった。
それで、ルーと同様の考えで、型にご飯を詰めて一定量とすることとした。
一定の容積のご飯は一定の重さであるという前提で、以前と同じグラム数となるようご飯を提供した。

次に改善対象となったのは、ルーである。
お客様からの次のようなクレームが多発していた。
「私のカレーと隣の人のカレーでは肉の量が全然違う」

お玉でのすくい方次第で、このような自体が発生することは十分にありえる。

ご飯はおおよそ均質なので、どこの部分をよそっても「一定の容積のご飯は一定の重さである」と言えるが、ルーはお玉1すくい中の具の内容はバラツキが大きい。

キーマカレーなら比較的均一であるが、ごろごろとした鶏肉の入ったチキンカレーでは大きな差が生じる。
では、どうするか。
チキンカレーの鶏肉は別に煮込み、大きなバラツキの要因となるような具のないルーをお玉でよそった上で、予め何個と決めた鶏肉を乗せることとした。

これで、お客様からのクレームは無くなった。
これは、厳密には個々の鶏肉の量にバラツキはあるが問題視されなくなったということであり、お客様の許容範囲内の誤差に収めたことを意味する。

以上のように、料理をよそうという行為はご飯でもルーでも同じはずであるが、定量的に管理する方法はそれぞれに合わせて異なっていたほうが良く、更には、同じルーといっても内容が異なれば定量的管理方法もまた異なった方が良いことがありえる。

さて、ソフトウェア開発において同様の課題はないだろうか。
ソフトウェアは、上の例で言う「料理」に相当しないだろうか。

どれもソフトウェアだからと同じ物差しで測って良いのだろうか。

ご飯のように、均質かつ重さと容積が比較的小さい誤差で比例するのであれば良いであろう。
しかし、ソフトウェアは均質で誤差が少ないのであろうか。

そもそも、カレーと違って、いつも同じ量を作成するのではない。
加えて、物差しが直接の計測値ではなく、バグ摘出率等といった割合で表されることが多いのであるから、カレーより更に難しい。

定量的管理は母集団に共通の「定量的」な特徴に着目して行うのであるが、しかし、「お玉」でどのプログラムも測れるからといって一律に「お玉」だけで管理しようとしても上手く行かない。

「定量的」かつ「妥当」な特徴があってこそ管理できるのだ。

そしてこの「定量的」かつ「妥当」な特徴を1つのメトリクスに求めることは難しいことが多いであろう。
一つにこだわらず、複数のメトリクスを用いて判断すれば良いのであるが、たくさん組み合わせたからといってよく分かるとは限らないので、数字にこだわりすぎることは止めた方が良い。
厳密には個々量にバラツキがあっても、問題視されなければ良いのだ。
問題視されないということはどういうことか、を考えることが重要である。

« 【ソフトウェア開発における定量的管理①】指標による定量的管理は健康診断なのか、取り締まりなのか | トップページ | 【ソフトウェア開発における定量的管理③】開発者は指標値を意識すべきか否か »

ソフトウェア開発品質・生産性私見」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1048600/29586742

この記事へのトラックバック一覧です: 【ソフトウェア開発における定量的管理②】定量的管理は母集団に共通の「定量的」かつ「妥当」な特徴があってこそ:

« 【ソフトウェア開発における定量的管理①】指標による定量的管理は健康診断なのか、取り締まりなのか | トップページ | 【ソフトウェア開発における定量的管理③】開発者は指標値を意識すべきか否か »