オフショア開発の悩み:請負型か?ラボ型か?

プロジェクトに適したオフショア開発チームを探していく段階で請負型開発とラボ型開発の間に迷ってる方が大勢いるでしょう。この2つの開発形態の選択できるポイントの1つは開発スタイルです。開発スタイルは、システムの目的や状況に応じて選択できます。どんな場合に、どんな開発スタイルが適しているかを見ていきましょう。

 

先ず、ウォーターフォール・モデルについてご紹介します。ウォーターフォール・モデルとは滝の水が上から下へ落ちるのと同じように、初期に膨大な時間をかけて、サービス開発範囲を「全て」定義してから設計、実装、最後にテスト、納品をする形態です。それぞれの工程が終わると次の工程に進み、前の工程には戻らないという開発スタイルです。

ウォーターフォール・モデルで進めていく開発案件は請負契約で締結することが多いです。ウォーターフォール型は利用ユーザが明確に分かっており、業務フローも固定化されて可変しない場合(勤務管理等の社内で使う業務システムなど)には予算変更も少なく済むため有効ですが、新規事業等でターゲットユーザが不明瞭、かつビジネス環境も日々変わる不確実性の高い場合にはあまり適していません。

 

次にアジャイル・モデルについてご紹介します。アジャイル・モデルでは、分析、設計、実装、テストを短い期間で行い、その一連のサイクルを繰り返していきます。ユーザーにとって価値の高い機能から開発し、短いサイクル(1週間〜4週間程度)で動くソフトウェアを完成させます。

ラボ型開発案件にウォーターフォール・モデルを用いられることがありますが、多くの場合には、アジャイル・モデルで実施します。アジャイル型では、ビジネス環境の変動型が起こった場合や当初の想定と異なる事実が見つかった場合には、修正や仕様変更を行うことができます。また、機能の優先順位を途中で変更することになっても、アジャイル開発の場合、開発サイクルが短いためにプロジェクト全体への影響が少なくて済みます。オフショア開発で発生しやすいコミュニケーション不足の課題を避け、安定した開発を行うことが可能です。

 

 

あなたのオフショア開発案件は請負型で実施しますか?ラボ型で実施しますか?本記事の内容ですこしでもお役に立てば嬉しいです。