信頼性及び開発効率の高いソフトウェア構成管理を行うには
本記事の内容は、発行日現在の情報です。
製品名や組織名など最新情報と異なる場合がございますので、あらかじめご了承ください。
PDFダウンロード
PDFをダウンロードいただくには、会員登録が必要です
複雑化、大規模化するソフトウェア開発現場では、ソフトウェアの構成管理を確実に行うことが安定したソフトウェア出荷において重要になります。当社が販売しているPERFORCEはあらゆるソフトウェア開発現場に対応する高機能構成管理ツールです。
近年のソフトウェア開発の複雑化
顧客需要の細分化に伴い、ソフトウェア製品、ソフトウェア搭載製品は年々高機能化しています。そのためソフトウェアプログラムは大規模化、複雑化し、ソフトウェア開発エンジニアにかかる負荷は増大しています。さらに企業からは単納期、低コストを課せられ、クライアントからは高品質を要求されます。ソフトウェア開発エンジニアは様々なストレスを抱えながら開発を進めなければなりません。開発技術の向上のみならず、開発管理技術の改善も行わなければなりません。
信頼性の高いソフトウェア構成管理
ツールの導入は必須
一つのソフトウェア製品が数千個のファイルで構成されることもあり、ソースコードを含むソフトウェア部品の管理は品質の良いソフトウェア製品をリリースするのに非常に重要です。ソフトウェア部品の適切な構成を管理するのがソフトウェア構成管理という考え方で、上記のように複雑多岐なソフトウェア構成を管理するには、ソフトウェア構成管理ツールが必須となっています。従来のウォーターフォール型の開発ではなく、短期間に反復型の開発を繰り返すアジャイル開発では、良いソフトウェア構成管理ツールを導入することが開発成功への鍵とも言われています。当社では、米国Perforce Software社製ソフトウェア構成管理ツールPERFORCEを販売しています。PERFORCEは全世界で400,000ライセンスを販売しており(※ 2012年10月1日現在)、様々な業種で運用実績のあるツールです。オープンソースソフトウェアツールにはない多くの利点を持ちますので、ソフトウェア開発エンジニアは余計なストレスから解放され本来の開発業務に集中できます。また管理者は管理工数を下げられますので安定した管理を継続して行えます。
ソフトウェア構成管理を成功に導くPERFORCEの6つのキーポイント
PERFORCEの導入によりソフトウェア開発プロセスに多くの改善を促せますが、ここでは代表的な改善点を列記いたします。
①応答時間
ソフトウェア構成管理ツールでは高速性が非常に重要です。ソフトウェア開発エンジニアは多くのファイルを構成管理ツールから各自の作業マシンに取り出し、修正作業、コンパイル/ビルド作業を行い、ツールにファイル群を戻します。このような作業を毎日行いますので、構成管理ツールの応答が遅いと、多くの開発時間をロスすることになりますし、開発者のストレスにもなります。PERFORCEはネットワークファイリングシステムやFTPプロトコルを介さずファイルの受け渡しを行いますので、非常に快適に作業が行えます。下図は代表的なオープンソースソフトウェアツールSubversionとの動作比較を行った結果データです。明らかな応答時間の違いがわかります。
②ワークフロー支援
ソフトウェア開発では、1つのプロジェクトを複数の開発チームに業務分担し、並行して開発を進めていくことが一般的です。各チームは業務に応じたワークフローを定義し、開発作業を行います。各開発エンジニアはチームのワークフローをよく理解した上で、自らの判断で各自の作業(ソフトウェアの変更修正等)を適切なファイルに反映しなければいけません。ここには常に判断ミスが付きまとい、バグを内在させる原因になります。PERFORCEは、各チームのワークフローを定義することで、そのワークフローに則った操作をナビゲートします。開発エンジニアは最小限の判断で開発を進められ、効率の良い、信頼性の高いソフトウェア開発を実現できます。
③分散拠点開発
ソフトウェア開発では、1つのプロジェクトを離れた拠点間(都市拠点と地方拠点、海外の複数拠点間)で並行開発することもあります。このような分散拠点開発では、拠点間で情報、データを共有しますので、拠点間で不整合を起こさせないように、特定拠点にセンターリポジトリを置く集中管理構成が理想的です。しかし、頻繁に地方拠点とセンターリポジトリを同期するとネットワークの負荷となり他の業務に影響します。一方、頻繁に地方拠点とセンターリポジトリを同期しなければデータの不整合が一時的に発生し、バグの原因になる可能性があります。PERFORCEは地方拠点に一時キャッシュを持たせることでネットワーク負荷を抑え、それをセンターリポジトリに同期する適切なメカニズムを搭載することでデータ不整合を起こさせません。
④管理負荷
企業内のネットワークと同様に、構成管理システムの運用には専任の管理者が必要です。管理者は、ツールユーザの登録管理、ユーザから要望のある運用手順の実装、日々のデータバックアップ、システムダウン時の復旧作業等様々な業務を課せられます。一般的な構成管理ツールでは、ユーザ30名に1名の管理者が必要なこともあります。PERFORCEの洗練された管理メカニズムを使用すると、1名の管理者で数百名以上のユーザを管理できますので、管理負荷、管理コストを大幅に軽減できます。また主要な管理操作はGUIを使って対話形式で行えますので、スクリプティング等の煩雑な作業は必要ありません。
⑤他ツールとの連携
ソフトウェア開発部門は構成管理ツール以外にも色々なツールを導入し、ソフトウェア開発プロセスの改善を図っています。ソフトウェア開発エンジニアはこのような既存のツール環境をなるべく変えずに、新たな有効ツール導入を希望します。PERFORCEのオープンアーキテクチャ構造は他のツールとの連携を簡単にかつ効果的に実装できます。また、ツール連携インターフェースも豊富に用意しております。バグ管理ツール、 ALMツール、CIツール他、多様なツールとの連携実績がありますので安心して開発プロセスに実装できます。
⑥技術サポート
ソフトウェア構成管理ツールはソフトウェア成果物を管理するものですから、システムにトラブルがあった場合には生産業務が滞り、開発コストを増大させます。その為迅速に技術サポートを受けられることも重要です。当社では数名の技術サポートスタッフが常駐しお客様のお問い合わせに対応しています。的確かつ迅速な対応には定評があります。
当社では、ソフトウェア構成管理に関するお悩みから、構成管理ツールのさらなる有効活用まで、皆様の幅広いお問い合わせにお答えいたします。PERFORCEで、一歩進んだソフトウェア構成管理を実現しましょう。