コラボレーション基盤としてのCLMはALMの進化形
こうした背景もあって、ここ最近日本でも「アジャイル開発手法」が注目されている。従来のウォーターフォール型の開発ではなく、迅速かつ柔軟にチーム・組織で開発を進めるアジャイル開発は、IBMの社内のソフトウェア開発プロジェクトでも近年積極的に導入され、確実な成果を上げているという。IBMはグループ全体の取り組みとして、開発資産(アセット)の再利用を促し、廃棄コードや作業の手戻りを4.5%削減し、さらにメンテナンスコストを300ミリオンドル削減することで、一人あたりの売上高を純利益ベースで15%向上させた。IBM Rationalのアジャイル/反復プロジェクトは、2006年には5%であったが、2011年には85%に達している。今回発表されたCollaborative Lifecycle Management(以下CLM)には、こうしたIBM Rationalのアジャイル開発などの変革への取り組みから得た知見が投入されている。
CLMとは、ひとことで言えば「開発を協調しておこなうための環境」であり、要求、設計、実装、配置・運用といったそれぞれのプロセスでの役割、情報、成果物の結び付けを強化するための基盤である。しかし、CLMというコンセプトそのものは、まだ一般に馴染みがない。
近いソリューションとしては、ALM(Application Lifecycle Management)というものがあり、こちらは徐々に浸透してきている。
ALMもまた、ソフトウェア開発における反復サイクルにおける人、情報、プロセスの流れを操ることを目的に、開発・実装・テスト・配置の各フェーズでの開発の成果物を一元的に管理するものである。
ALMは、開発の成果物やビルドを管理するリポジトリやドキュメント管理ツールとして利用されていて、大規模で複雑な開発案件では成果をあげている。CLMとはこのALMの「進化形」であるともいえる。
ALMは、各工程や組織、部門、役割ごとに分断されてしまい、組織間の協調がなかなか難しい。CLMはこうした開発成果物の一元管理を前提としながらも、複数の異なる組織、拠点、役割を横断した開発を前提としており、サイロ化した開発の壁を超えることを目的にしている。ではCLMは従来のALMのような文書管理型の開発基盤に、グループウェアのようなコラボレーションツールを連携させただけのものなのか。答えはそうではない。