見出し画像

プロセス成熟度とは?

ソフトウエア工房孫風雅です。

ブログ投稿しています。最終版は此方から、ご覧ください。

CMM/CMMIという言葉を皆さんはご存じでしょうか?(以下の意味になります)

CMM:Capability Maturity Model

CMMI:Capability Maturity Model Integration

ずいぶん昔に既に取得資格は失効していますが、講師は、CMM・CMMIの成熟度審査(アプレイザル/旧アセスメント)チームへの参加資格を以前は保有していました。

また、当時所属していたソフトウェア部門は社内のアプレイザルですがレベル3(L3)の適格審査結果の受領をした事が有ります。

CMM/CMMIのプロセス成熟度を、簡単に説明すると定義されているレベルは5段階あり、レベル1が最下位で最上位がレベル5となります。

以下、簡単なレベルの定義名です。

  1. レベル1:初期レベル

  2. レベル2:反復できるレベル

  3. レベル3:定義されたレベル

  4. レベル4:管理されたレベル

  5. レベル5:最適化するレベル

各々のレベルの意味は以下の通りです。(注:以下の各レベルの説明は講師が教育を受けた時及びプロセスを改善しようと当時所属していた部門で行った取り組みなどを縫合的に記した内容です。CMMIの教科書と各レベルについて差異がある可能性があります。正確な正しいプロセス定義を知りたい方はすいませんが、CMMIの教科書を確認願います)

  1. レベル1:プロセスが何もない状態です。所謂、プロセス的には混沌状態です。ミスが多く、人頼みの仕事の仕方しかありません。何がしか取り決めが有る可能性はありますが、プロセスらしきものが存在していても守られていなければ、意味を成しません。

  2. レベル2:反復できる状態というのは、単純に考えると、同じ事は繰り返せるが、別な内容の開発になると、刃が経たない状態です。(悪くすれば、その場合は前段のレベル1の状態が垣間見えるでしょう)次のレベルとの大きな違いは、定義されたプロセスを持っているか否かです。

  3. レベル3:定義されたレベルというのは、プロセスがドキュメント化され、同一部門内で標準化され共有化された状態を指します。従って、担当者やリーダーが変わっても、概ね、組織のパフォーマンスは変わらないのがこのレベルです。尚、次のレベルとの大きな違いは定性的なプロセス・データに基づいた定義であり、応用性やベースライン変更に対応できない状態です。(所謂、イベントドリブンなプロセス管理が主流です)

  4. レベル4:管理されたレベルというのは、定量的にデータを採取し活用している状態です。扱われているプロセス(作業手順等見た目は)レベル3とあまり変わり映えしないかもしれません。然しながらデータが定量的であるため、比較や応用が容易であり、色んな施策を最小限のロスでアジャスト可能になります。このレベルではデータドリブンな状態な為、データに基づいた将来予測なども可能になります。

  5. レベル5:最適化するレベルというのは、レベル3でベースラインを記しましたが、正にこのレベルはベースライン変更即ち新しい技術や新しい規格等に最短時間で適正に対応が可能なレベルであり、外的なこの様な変更要求が無くても自律的にプロセス適応・順応を繰り返し、生きた有益な或いは有るべきプロセスを求めつづけていく組織レベルです。

講師が教育を受けた初期の頃は、プロセスの習熟度はL1からL2そしてL3/L4/L5と階段を上がる様に、全てのプロセス定義を満たして、レベルを上げる方法しかありませんでした。

然しながら、途中から、謂わばバームクーヘンを4分割した時の様に内側から外側にある特定の分野のみをL1からL5へと習熟させる手法が出てきました。

両者違いは、初期の頃の習熟方法はレベルごとに定義されているプロセス全体を満遍なく習熟していく方法で、ある部門にとってはあまり重要でないプロセス範囲も習熟させる、即ち、工数・お金をかける必要が有ります。

これに対して、後から出てきた、特定の分野及びその直接関連する分野をL1からL5へと習熟させる方法は、特定の分野のみを先ずは強化したい部門にとっては、最低資源投下で最大効果を得る事の出来る手法となっています。

但し、この後から出てきた手法には、実は落とし穴が有り、プロセスが安定して継続的に機能するには、プロセスの相互依存性が少なからずあり、特定の分野のみを深耕しても、何れは周りのプロセスも強化する必要が出てきて、結局、全てのプロセス全部を強化していくのと同じ状態になり得ます。

要するにプロセスの成熟度をある部分だけL1からL5迄縦方向に一旦引き上げたら、その後、横方向に全体のプロセスを成熟させていく必要が出てくるという感じだと思います。

これとは別に、従来の階段を一つずつ登る成熟方法というのは、既に例に出した、バームクーヘンを作成する過程と似ていると言えます。バームクーヘンは先ずコアになる最初の層を焼いて作り、その上に二層目、三層目と上に焼き重ねていきます。この下から上に順に層を重ねるのが、正に従来のプロセス全体をレベル定義順に成熟を重ねていく方法です。バームクーヘンは真ん中から外側に向かって丸く層が出来ていると思います。要するにこの円というのが各レベルごとの全てのプロセス要件を満たして、成熟させるという事になります。

何方が、取り組み易いかはあまり差異は、無い気がしますが、取り組みが容易か難しかと言う点を考えると、この後から出てきた方法の方が、どちらかと言えば、難易度は高い気がします。

何故かというと、後者は、最初からL1からL5までを見渡した形で、プロセスを成熟させるはずなので、収集データが最初から、定量的データに寄っていくと推測できます。L5が目標なのに、L5で使用できない、定性的データを例えL1レベルであっても、積極的には収集しないと思います。即ち、後で、使えなくなることが解っているのに、注力はしないし・出来ないと思われます。(無駄な努力だと初めからわかっているのに、時間を掛けるのは論理的ではありません)

この意味で、L1からL5にプロセス全体を特定分野だけフォーカスするのは、難しい点があると思います。然しながら、この点が逆に最大の利点でもあり得ます。即ち、兎に角データを収集していれば良い(定性的データの意味です)というモードで段階的なL3は取得可能だと思いますが、そのままではL4は取得できません。何故なら、定性データでは統計学に使用できないからです。

定性的データを無理やり統計学で処理しようとしても、旨く行きません。例え何らかの数値が得られても、正しい指標とは成りえません。

講師はこの事をL3を当時の所属部門が取得した直後に気が付きました。それは、収集しているデータを生かそうとした時、定性的なので、基準が曖昧で、合算出来なかったり、一緒のグループのデータと判断できる材料がなかったりと、気が付いて、正直愕然としました。

幸か不幸か、部門が予算の事等で、プロセスの成熟度を上げる事を放棄したので、この定性データの問題は顕在化しませんでしたが、旗振り役だった講師にとっては、もっと先を見渡して作業していれば良かったと反省しきりでした。

尚、収集用に開発したWEBシステムは、この事の気づいて、未だ、チャンスがあったので、定量的データの収集用に変更を加えてありました。

部門内で利用を呼びかけましたが、細かすぎると直ぐクレームが来ました。尚、このシステムは部門が成熟度の向上を目指さなくなった為、結局お蔵入りになったのですが、方向性が正しかった事は、後に、講師の所属する会社の子会社で成熟度L5を取得した時の発表を聞き、どの様に・どの様なデータを集めているかを注視してみましたが、講師の想像の範囲内でしたので、自己満足ですが、講師自身は確認できました。(変更したWEBシステムを部門内に根付かせられればL4/L5が確実に目指せたと思えた所以です)

尚、CMMからCMMIに移行して、開発・サービス・買収という三分野に対象域が拡大されました。尚、V2規格になって、更にこの三分野が統合されたようです。

皆さんは、プロセス成熟度に興味を持たれたことはありますでしょうか?

講師の経験が、皆様のお役に立てれば幸いです。

この記事が気に入ったらサポートをしてみませんか?