最近のトラックバック

2018年10月
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      
無料ブログはココログ

« GMC-4 の魅力 | トップページ | Google の表示順位 »

2009-10-08

CMMI について思うこと

ソフト開発を生業にしている人ならば、誰もが CMMI という規格を意識していることでしょう。混沌としたソフト開発現場に厳密な開発プロセスを適用し、管理しやすくするものです。「成熟度レベル」という 5 段階の指標を導入し、レベル 1 が管理されていない段階、レベル 5 が最も高度に管理されている段階と定めています。アマチュアプログラマの開発にあえてこのレベルを適用するならば、ほとんど間違いなくレベル 1 になるでしょう。インドのソフト開発会社の多くがレベル 5 を取得しているというアナウンスを聞いたのもずいぶん久しいことになります。

最近ふと思い立ち、本家のサイト から仕様書をダウンロードしてざっとながめてみました。 CMMI には CMMI-DEV (開発者用途), CMMI-SVC (サービス業者用途), CMMI-ACQ (発注/受注者用途) の 3 種類があるのですが、私の興味の対象は開発者用途のCMMI-DEV です。

内容は、開発に関わるあらゆるプロセスの目的や守るべきルールが記述されています。特に、プロセス間の関連やフローを表した章 (4. Relationships Among Process Areas) は、実際の開発現場をとりしきる際に大いに参考になりそうでした。

一見、これらの決め事をすべて守っていれば自ずと品質の高いソフトを生み出す組織ができるように見えます。でも、どうにも腑におちないところがあります。この規格は、開発者のモティベーションというものを軽視していないでしょうか。

CMMI は開発プロセスを厳密に決めていき、プロセスに従っていれば一定の品質を保てるとしています。重要なのはプロセスであり、属人的な能力に依存した開発スタイルを否定します。これは、いわば開発者一人ひとりを、プロセス内で代替の利く「部品」として扱うことを意味します。

プロセスの中には「トレーニング」という項目もあり、組織を構成する個々の開発者の質も向上できることが謡われています。ですが ... 学ぶのはあくまでも人です。やる気のない人がいくら教育やトレーニングを受けたところで限度があります。管理づくめの環境、個々の自尊心もさほど重視されない中で、質の高いエンジニアが育っていくものなのでしょうか。

ソフト開発は、頭の中の考えをほぼストレートに具現化していくという点で、小説の執筆と似ていると思います (私自身は書いたことがありませんが)。小説家の執筆作業を、プロセスとして厳密に定義し、管理するなどという試みは聞いたことがありません。むろん、ソフト開発は執筆作業と異なり 2 人以上で作業を分担することが多いですから、お互いに守るべきルールやプロセス定義が必要にはなります。しかし、それは極言してしまえばいわば「必要悪」です。ソフトの質の向上をもたらす源(みなもと)は、個々人の能力・創作意欲であり、ルールを強化したところで改善できる領域ではないと思うのです。

そうはいうものの、ソフト開発を職にしていれば避けてとおれないこの規格。私もいつか直面するときが来るのでしょう。どう適用すれば開発者が幸せになれるのか、考えていかなければいけません。

« GMC-4 の魅力 | トップページ | Google の表示順位 »

プログラミング」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: CMMI について思うこと:

« GMC-4 の魅力 | トップページ | Google の表示順位 »