メルマガ
バックナンバー

第4号:計測と成熟度レベルの関係

2004年07月23日

  • 計測と成熟度レベルの関係

    前回計測についてのお話を書きました。その中で「他の人の計測データを参考にする」ことがテーラリングに関わるというお話をしました。今回はその当たりについて、もう少し補足いたします。

    まずおさらいですが、成熟度レベル毎の特徴とは何でしょう?CMMIではこんな感じで述べられています。

    <成熟度レベル1:初期>
     通常、プロセスは場当たり的で無秩序である。
    <成熟度レベル2:管理された>
     組織のプロジェクトは、要件が管理され、かつプロセスが計画され、実施され、測定され、そして制御されることを確実なものにしている。
    <成熟度レベル3:定義された>
     「組織の標準プロセスの集合」が確立され、時間の経過とともに改善されている。
    <成熟度レベル4:定量的に管理された>
     選択されたサブプロセスは、統計的技法およびその他の定量的技法を使用して制御されている。
    <成熟度レベル5:最適化している>
     漸進的な改善策と革新的な技術上の改善策の両方によって、プロセス実績を継続的に改善することに焦点を合わせる。

    モデルに慣れていない人はこの時点で「何が言いたい?」と言いたくなってくると思いますので、少し解説を。

    レベル1は分かり易いですね。適当にやっているということです。プロジェクトが何をどうやって進めるかは、やりながら考えます。当然無駄ややり直しが多く発生して、あまり上手くいきません。
    レベル2では、「そのプロジェクト内」でやることが決まっています。同じ組織の他のプロジェクトと同じである必要はありません(ただし方針は共有しているので似たようなものになる可能性は高いです)
    レベル3では同一組織内のプロジェクトはみんな「組織内の標準的なやり方」に従っています。ただし全く同じというわけにもいかないので、それを自分のプロジェクトに合わせた形に変更します。これを「テーラリング」といいます。
    レベル4は今回のテーマである「測定」結果を使って、プロジェクトの活動をコントロールします。
    レベル5では、様々な改善策の結果をその測定結果から評価することにより、より良い管理をしていきます。

    これを先月の例で例えると、レベル2では各プロジェクトは車輪が4つでハンドルがついているという方針に従っていれば、トラックだろうが、スポーツカーだろうが好きなもので走ります。レベル3になるとベースとなる車は決められていますが、パーツの追加や改造は決められた範囲内であればOKとなります。これにより多少の差はあるかもしれませんが収集できるデータは、同じような基準で使
    用することができます。こうして基準を合わせたデータを集めていくことにより、レベル4の測定結果を使用した管理ができるようになります。つまり「目的地が500キロ先なら、時速50~100キロで、5~7時間かかって、ガソリンは2回給油するのが普通だ」という基準が出来るので、時速が30キロしか出ていなければ、「もっとスピードを出せ!」とか、工程の3分の2まで来てまだ1
    回も給油していなければ「そろそろ給油しろ!」といった指示を管理者が出すことができます。

    レベル5になると「エンジンを変えたら平均時速が10キロアップしたから、みんなこのエンジンを使いましょう」とか「マフラーを変えたら平均時速が1キロアップしたけど燃費が悪くなったので、元のままの方が良い」という感じで、データを基に分析できるようになります。

    このレベル4や5で言っている管理を行うためには、データの基準が揃っていなければならないので「組織内の標準的なやり方」が必要となります。それをテーラリングするのは良いのですが、原型をとどめないほど変えてしまうと、やはりデータがばらついてしまいます。そこでどこまで変えてよいかを決める「テーラリングガイドライン」もまた必要となります。

    ここで注意したいのは、だからといって測定はレベル3からやれば良いという訳では無いということです。現にCMMIのプロセス領域「測定と分析」はレベル2になりますし、SW-CMMのキープラクティス「計測と分析」も全てのキープロセスエリアにあります。結論は先月と同じです。「まずは測れる所から測ってみてはいかがでしょうか?」

    参考文献

    ・『ソフトウェア能力成熟モデル1.1版(CMU/SEI-93-TR-24 公式日本語版)』ソフトウェア技術者協会
    ・『能力成熟度モデル統合(CMMI),1.1版』SEI