CMMIをオフショア開発に生かす
![](https://thinkit.co.jp/sites/default/files/styles/main_image_730x/public/main_images/1649_main_7.png?itok=Fz6ozvG1)
オフショア先での開発環境を構築する手間と費用が心配
オフショア開発を行うにあたり、最初に検討する必要があるのは、開発環境の整備です。オフショアの本来の目的がコスト削減ですから、ここでの大きな投資は、誰も望みません。安い投資で開発環境を整備する方法の1つが、クラウドの活用です。クラウドを活用した分散開発環境には、多くのメリットがあります。
クラウドを活用した分散開発環境のメリット
- 開発基盤を資産として保有しないため、早期かつ低コストで開発環境を構築できる
- 開発拠点や技術者が分散していても、効率的に開発作業を進められる
メリット1: 開発基盤を資産として保有しないため、早期かつ低コストで開発環境を構築できる
まず、開発環境を構築するための費用について説明します。
中国でのオフショア開発を行うためには、システム基盤の構築から、個々の開発者が使う開発ツールの整備まで、大規模な初期投資が必要になります。ソフトウエア開発では、必要な作業量や作業人員数、ツールのライセンス数などが、工程ごとに変動しがちです。すべてを自前でそろえるとしたら、最大使用数ライセンスで購入する必要が生じます。
これに対し、クラウド・サービスを利用すると、必要な期間と時間に限って、必要なものだけを利用できます。自前で資産を保有する必要がなく、使った分だけを支払うことができます。これにより、費用をリーズナブルに抑えることができます。また、すでに所有している自前のツールをクラウド上の仮想開発環境にインストールして活用することも可能です。
図1: 開発フェーズ(工程)と開発人員の推移(クリックで拡大) |
メリット2: 開発拠点や技術者が分散していても、効率的に開発作業を進められる
オフショア開発では、成果物(ソース・コードや設計ドキュメントなど)の共有や情報連携のやり方を検討する必要もあります。例えば、情報のやり取りのために頻ぱんに中国に海外出張していては、作業効率が落ちるだけでなく、出張費用も高くついてしまいます。クラウドを利用すれば、この問題も解決できます。
クラウドを活用した分散開発の運用例は、こうです。まず、クラウド上に仮想開発環境を構築し、共有資源を配置します。ここに対して、中国のオフショア拠点から、ネットワーク経由でリモート・ログインし、仮想開発環境上で、情報の共有、デバッグ、テスト作業などを行います。
ここで1つ問題になるのが、オフショア先からの情報漏えいです。オフショア先の企業が信頼のおける企業であったとしても、オフショア先の担当者個人が情報を盗む危険性は、排除できません。
情報漏えいリスクを回避する方法が、シン・クライアント(シン・クライアント化した既存PC)です。シン・クライアントからのアクセスに限って接続を許可することで、開発作業のためにソース・コードや設計ドキュメントにアクセスすることを許可しつつ、これらを持ち出すことを抑制することが可能になります。
|
図2: クラウド型の分散開発環境 |
クラウドとシン・クライアントを組み合わせてシステムを構築することで、オフショア先から、セキュアかつ効率的なデバッグやテストを実現することができます。また、クラウドを活用することで、国内拠点にいながら、オフショア先の開発作業をリアルタイムに近い精度で管理できるようになります。