多くのITベンダーはレベル1にあります。たまにレベル2がある程度です。(レベル2でもすごいレベルです。)
レベル1
レベル1は属人的要素が強く、会社としての開発プロセスは整備されていません。先輩のSEのやり方を見て、その背中を見て、開発を覚えろという形です。
依頼側としては、スーパーマンのようなSEに出合ってハッピーなこともあれば、こんなSEに金を払うぐらいならドブに捨てた方がましだという両極端に遭遇する場合があります。
ですが、ほとんどのITベンダーはこのレベルにあります。
レベル2
レベル2ではある程度、開発プロセスが整備されています。過去の開発経験を元に同じような開発であれば、対応できます。ただ新しいツールを使った開発などでは過去の経験が活かせなく、うまくいかない場合があります。このレベル2になると自社だけでは開発できない案件などを協力会社にアウトソーシングし、その作業を管理できるレベルになっています。
現実にはレベル2のITベンダーはほとんどありません。
レベル3取得はすごいレベル
レベル3では組織として定義された標準プロセスがきっちりあります。何かトラブルが発生しても所定の手続きで対処を行い、プロセスを安定へと持っていきます。
試しに検索エンジンのGoogleで「CMM レベル3 取得」をキーワードに検索するとSRA、TIS、日本ユニシス、東芝などずらずらと上場しているITベンダーが並びます。各社ともレベル3を取得したことを宣伝していますが、これがレベル3です。
レベル4、5
レベル4、レベル5は世界トップクラスのレベルです。レベル5は、トヨタの生産管理方式のように自社のプロセスが世界標準となり、しかもカイゼンを絶え間なく繰り返して常に進化させていくようなレベルです。日本では日本IBMが初めてCMMレベル5を取得しています。ただインドや中国が奮闘しており、先日、中国の東軟集団(NEUSOFT)がレベル5を取得しました。日本の国際競争力が問題になっています。
インドという英語が公用語で、しかもCMMレベルが高いITベンダーが登場したことにより、アメリカではソフト開発をインドに発注する会社が増えています。この影響でアメリカのシステムエンジニア、プログラマのリストラが表面化しています。
ITベンダーの選定にCMMをどう使うのか
CMMの認証取得にはISO認証取得よりはるかに多額な費用がかかりますので、一般のITベンダーにCMMのレベルを聞いても意味がありません。またレベル1のITベンダーがほとんどです。では使いものにならないかと言えば、そうでなくITベンダーのプロジェクトマネージャの資質チェックに使います。
ITベンダー選定時に、ITベンダーが受注した時にプロジェクトマネージャとなる人物に少し話を聞かせてくださいと依頼します。
プロジェクトマネージャ候補者には過去の開発経験などと共にCMMやソフトウェア開発工程の改善についてどう思いますか?と質問を投げます。
CMMって何ですか?と反対に質問するような人物は論外です。(基本的な勉強ができていない証拠です。)
色々な苦労話や工夫した話などが返ってきた場合は、その答えで資質を判断します。
実は諸刃の剣に
ただ諸刃の剣にもなります。ITベンダー側にプロセス改善を要求することになりますので、発注側も仕様作成やプロジェクト体制がきっちり定義されたレベルになっていなければ、相手の力は半減してしまいます。この時期に仕様を固めましょうとITベンダーと合意をしていたのに、「ご免、上司が長期出張に出ちゃって2週間待ってくれる」では相手のプロセスが空回りするだけです。たとえCMMレベル5のITベンダーでも対応は不可能です。
▼関連ガイド記事
・最適なITベンダーの探し方・どう開発依頼したらいいの?
・ITベンダーを選択・決定する
・ITベンダーと契約する
・中国企業がCMMレベル5取得 ←「ソフトウェアエンジニア」ガイド記事