CMMI

さて、今日はCMMIの研修であった。CMMIとか、知っておいたほうが良いと思うのだけど、個人でやる気は全く起こらないので、こういうのを会社の研修としてやってくれると大変有り難い。
http://www.sei.cmu.edu/cmmi/translations/japanese/models/


会社の研修だったのでどれくらい詳しく書いたら駄目なのかわからんけど、研修内容に触れない程度に感想だけ。僕は今日までは、CMMIなど糞どうでもいいものだと思ってたのだけど、若干考えを修正する必要があるなー、と思ったという話を。


まず、CMMIとかが嫌いだったのは、それが、常に「これを導入することによって属人性が下がってウッハウッハ」という話とセットで語られるという点からだ。まあ、確かに、属人性が下がるのはいいことだと思うけど、世の中のそういうこと言う人達の発言って、なんか、作業員のプライドを傷付けてる感じがするのだよね。属人性が下がるのが正しいとしても、そういう考えは前面に押し出さないで、バレないようにやるべきだろと思う、とか、まあ、そういった感じで、プロセスとかがあんまり好きではなかったと。

んで、その関連で常に一緒に語られるCMMIも嫌いになっていったのだけど、CMMIは多分、そういう性質のものではない。CMMIの中では、「属人性が下がるからよい」と、いうのは強く主張されてない。(というか、ぱっと見たかぎりでは、そういう文はひとつも見あたらなかった)

では、CMMIとはなんなのかというと、実はアレは、ただの計測用チェックシートでしかないのだ。あれの中身は、ひたすら「〜というプラクティスは実践されてますか?」と、書いてあるだけなのである。
つまり、CMMIというのは、プロファイラなのである。オプティマイザではない。「ひょっとしたらボトルネックかもしれないよ」という部分を発見するのに使うためのツールなのだ。多分。それを導入することによって、最適化が行われるというものではない。(だから、実際には役に立たないという批判的な意見もアリかもしれない)


CMMIの導入」というと、大変な作業になるようなイメージがある。「コンサルタントを呼んで、対策チームを作り、各作業員にそれを徹底させる」と、そんな感じのイメージが。
たしかに、それも「CMMIの導入」と呼べなくもないだろうけど、まあ、そんな一大作業をやらなくても、「プラクティス一覧チェックシート」を作って、そんで、今目の前で行われてるプロセスがどのぐらいのレベルなのかなーというのをチェックするだけでも、十分な効果が得られるのではないだろうか。いや、やったことないからわからんけど。

実際にチェックシートとして見た場合、CMMIはそれなりの効果をもたらしてくれるように感じる。

  • 標準化されてるので、説明の手間が省ける。
  • それなりの実績があるはず。


他社がどんなプロセスで作業を行ってるか、っていうのは、なかなかわからないものなので、「世の中ではどういうプロセスが良いとされてるのか」とか、導入するかは別にして、そういうのを知っておくというのは、暇潰しぐらいにはなるだろう。ひょっとしたら役に立つこともあるかもしれない。
だから、まあ、大層なプロセス最適化が時間の割に効果が少ない、と思ってた場合でも、チェックシート作って、どっかそこらへんに貼っておくとか、そういうのぐらいはやってもいいのかもしれない。