CMMI

SEにおけるプロセス改善, SE Standard

Abstract#

CMMI(Capability Maturity Model Integration)です。これは、プロセスに対する要求です。[1]の論文とEMSE284の授業での内容について、記録します。

Topic#

まあ、有名ですので、詳しくは書きません。[2]を読んでください。プロジェクトを実行するための組織のとして良いプロセスを持っているかの成熟度を5段階で表すためのフレームワークなんですかね。

CMMIは、ソフトウェアエンジニアリングのCMMから拡張されてできたプロセスへの要求となりますが、マネージメントのプロセスに対する要求がおもにCMMから、開発系に関するプロセス要求はSystems Engineeringからきているそうです。
CMMIでは22個のプロセス領域があります([SEI 2006], 17)。
OPD#IPPD6 ) Assurance:PPQA)

それぞれのプロセス領域に対し、かなり詳細なプロセスの説明があります。たとえば、リスク管理は、ガイドラインの420-438ページまで説明が続きます([SEI 2006], 420*438)。
PMBOKとCMMIの比較の図が授業で出てきました。CMMI>PMBOKとしては定量的なプロジェクトマネージメントという話と意思決定の分析という話。上記の話と合わせると、この2つはCMMから来て、SEからは来ていないものになる。うーん、あまりピンとこないけど。PMBOK>CMMIとしては、Human Resource Management。CMMIでは、人事の話はあまり扱っていないようです。この話は、[下の方]にも出てきますが。
Fig. 1 Scope of Capability Model[1]

ここからわかることは、CMMIは、プロジェクトチーム・プロジェクトマネージャによる、プロジェクト開発フェーズに適用するのが最も効果的であるということ。CMMIは、経営者が行うような戦略的なマネージメントや末端の技術者が実施するような専門的なタスクをターゲットとしていません。またプロジェクトのフェーズとしても、プロジェクトの早期の研究、運用フェーズの話は、スコープに入っていません。
CMMIは、プロセスを改善するために実施すべき。自分の会社の成熟度をアピールするために、CMMIの認定を受ける会社がある。実際にその会社のソフトウェアの品質が上がったかどうかは疑問だ。たとえばレベル3はプロセスが定義されていることを求めているが、定義だけなら、自分のやったことあるプロセスであれば誰でもできる。問題は、定義したものをプロセス改善に使えるかである。大抵の場合、そのプロセスは他の部隊では使えない。と先生が言ってました。
ここの話は、ちゃんとCMMIのスコープを理解しなさいという話なんだと思う。

いいプロセスの特徴とどんなプロセスが必要かについての情報を提供するが、いいプロセスそのもやいつ使うべきかなどの情報は提供しない。([Sheard and Schoening 2002], 3)

どんな製品がいい製品なのかの情報は提供しない。([Sheard and Schoening 2002], 3)

プロジェクトの組織がどんなものがいいか、どんな人材を入れればいいのかについての情報は提供しない。([Sheard and Schoening 2002], 4)

どうリスクを減らすかの情報は提供するが、どうイノベーション(革新)を起こすか、もしくは起こしやすい環境を作るかの情報は提供しない。([Sheard and Schoening 2002], 5)

興味#

Reference#

  1. [#1]Sheard, Sarah A., William W. Schoening. 2002. Engineering Beyond Capability Models. Proceedings of the International Council on Systems Engineering
  2. [#2]Wikipedia contributors. 能力成熟度モデル統合 Internet. Wikipedia, ; 2008 11月 24, 20:57 UTC cited 2009 3月 10. Available from: http://ja.wikipedia.org/w/index.php?title=%E8%83%BD%E5%8A%9B%E6%88%90%E7%86%9F%E5%BA%A6%E3%83%A2%E3%83%87%E3%83%AB%E7%B5%B1%E5%90%88&oldid=23067660
  3. [#3]SEI. 2006. 開発のためのCMMI 1.2版. Carnegie Mellon Software Engineering Institute. Pittsburgh. http://www.sei.cmu.edu/cmmi/translations/japanese/models/cmmi-dev-v12-j.pdf