「導入には難しさがあったものの、それを上回る大きなメリットを得られた」―。不動産情報サービスのアットホームにおいて、CI(Continuous Integration:継続的インテグレーション)導入を指揮した高野孝之氏(情報システム部 チーフアーキテクト)は、こう振り返る。

 CIとは、アプリケーション開発においてソフトウエアを日常的に結合(ビルド)すること。開発支援ツールを使って、コンパイルやテスト、統合テスト環境へのデプロイ(配信)作業を自動化できる。高野氏らは米Microsoftの「Team Foundation Server(TFS)」を使って、このCI環境を構築した。

 CIで得られる具体的なメリットは、大きく二つある。一つはソフトウエアのバグ問題を早期に発見できることだ。「全部のソフトウエアがそろってからまとめてビルドする従来のやり方は、内在していた大量のバグが一斉に見つかる問題があった。日常的にビルドすると、早い段階でその都度バグを発見できる」と、高野氏は説明する。

 もう一つのメリットは、テストの自動化による作業の効率化だ。高野氏は「ソースコードの修正・テストを繰り返す改善型開発を実践すると、テストの負担が大きい」と指摘。その上で「繰り返し同じテストを実行する手間を自動化できるCIは、少人数、短期間で開発する今の開発スタイルになくてはならない」(高野氏)という。実際、CI適用の第1弾となった顧客管理システムは、約10人の少人数で、わずか9カ月で完成させた。

 開発プロセスに詳しいソフトウェアプロセスエンジニアリングの岡 大勝氏(代表取締役CEO ITアーキテクト)は「開発プロジェクトには要求、技術、スキル、政治という四つのリスクがあり、このうち技術リスクを早期に発見・解消できるのがCIだ」と説明する。技術リスクで大きいのは、前述したソフトウエア結合時に問題があり、バグが大量発生するリスクである。CIは、この技術リスクを解消する手法の大本命だという。