開発チームの改善効果を定量データでアピール!今日からできる“CMMI流”開発効率改善術(4)(1/2 ページ)

ソフトウェアの測定は一般的に難しく、活用度も低いと言われる。どのように難しいのだろうか。それを明らかにするとともに、CMMIの考え方を適用した定量的なプロセス改善について解説する。

» 2012年12月18日 12時00分 公開
[矢部智, 岡本隆史,@IT]

ソフトウェアの世界に定量的な評価は必要か

 今回から2回にわたりCMMI(Capability Maturity Model Integration、能力成熟度モデル統合)の考え方を使った定量的なプロセス改善について説明します。

 残念ながら、定量的な改善についてソフトウェアの世界ではあまり良い評判を聞きません。皆さんのプロジェクトでは、「この数字、自分にとっては用がないのだけど、何のために報告しているのだろうか」「バグ密度の水準って、いつも実際の数字の範囲とずれているのだけど、参考になるのだろうか」などという疑問を抱いたことはありませんか。

 何の役に立っているのかよく分からない数字を報告させられたり、参考にならない数字との比較を行っていたりすると、「数字での評価なんて意味がない」と思いがちです。

 だからといって、全ての判断を直感や定性的な文言の表現だけに頼ろうとすると、それはそれで問題が出てきます。例えば、メンバーから「品質は問題ありません」「進ちょくは予定通り遅れなし」という報告がいつも上がってくるけれども、スケジュールの終盤になると、バグは出続けているし、納期が遅れ全く先が見通せないという現象がよく見られます。

 チームや組織で開発している場合は、その作業に直接携わっていない他人に「どれくらい問題がないのか、あるのか」ということを可視化して、客観的に伝える必要が出てきます。チームや組織で開発するなら、見える化の手段として数字を使うのが合理的です。

CMMIはソフトウェアの測定に強み

 CMMIの特徴として定量的なデータの利用を重視しており、全22個のプロセス領域の中で測定に関係するものが、「測定と分析」「組織プロセス定義」「組織プロセス実績」「定量的プロジェクト管理」「組織実績管理」「原因分析と解決」と6個もあります。

 本稿では、測定の利用場面を考慮して、「単一チームにおける測定」と「複数チームからなる組織での測定」に分けて解説します。対象とする読者層は、前者は「自分たちの作業をよくしたい」と考える開発現場のメンバー向け、後者は「全体の開発能力を上げてビジネスに貢献したい」と考えるマネジャー向けとなります。ただし、基本的な測定の考え方については両者とも同じです。

ソフトウェアの測定は難しい?

 ソフトウェアの測定は一般的に難しく、活用度も低いと言われています。どう難しいのかについて、測定方法が確立されている製造業と比較してみました。

表1 製造業とソフトウェアの測定の違い 表1 製造業とソフトウェアの測定の違い

尺度の定義が安定していない

 製造業では、尺度はほとんどの場合、決まっています。例えば、製品の大きさを測るときに、「長さはメートルで測りたいと思いますが、よろしいでしょうか」などという会話はあり得えません。ところが、ソフトウェアの世界だと同じ製品の大きさを測るにも、要件定義書のページ数や、ファンクションポイント(FP)、ストーリーポイントと、すぐに複数の案が出てきてしまいます。組織ごと、チームごとに使っている尺度が異なるのも珍しくありません。

測定の精度が低い

 測定方法も、製造業であれば、測定装置を用いて行うのが一般的ですが、ソフトウェアではFPもストーリーポイントもバグ数も基本的には人間の判断です。ページ数やソースコード行数ならカウンターなどのソフトを使う手もありますが、まだ人間の判断によって測定されるものが多いのです。測定に人間の判断が入ることによって、精度は機械とは比べものにならないほど低くなり、測ったけれども分析には使えないデータが多く出てしまう傾向があります。

測定の人的コストが掛かる

 精度が低いだけではありません。人間が関与する度合いが多いため、測定にかかる人的コストが膨大になります。コストの種類としては、尺度を決定するコスト、測定がきちんとできるようにするためにメンバーをトレーニングするコスト、測定したデータを格納したり分析したりする運用コストなどがあります。皆さんも、バグ票の書き方のトレーニングを受けたり、集めたデータを分析する前に表計算ソフトに数値をコピー&ペーストしていたことはないでしょうか。

 このように人的コストが掛かるため、あまり多くのデータを扱えないという問題が出てきます。つまり、限られた測定項目、数少ない(しかも精度が低い)測定結果に頼るしかありません。

 以上のような事情を考えると、製造業と比べるとソフトウェアの測定は難しいことが分かるでしょう。では、CMMIではソフトウェアの測定をどう考えているのでしょうか。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ