オフショア開発の体制とは、すなわち契約形態を意味します。オフショア開発を成功させる鍵の一つは、プロジェクトの規模や目的に合った開発体制(契約形態)を選択することといっても過言ではありません。
開発体制には大きく2種類あり、一つは仕様書ベースで所定の成果物を開発する「受託型開発」、もう一つはITリソースベースで期間を定めて開発する「ラボ型開発」です。
この記事では受託型・ラボ型の特徴を踏まえて、それぞれに適したプロジェクトのケースをご紹介します。
【オフショア開発体制】受託型とラボ型の違いとは?
受託型開発は日本の業務委託契約でいうところの請負契約、ラボ型開発は準委任契約にあたります。この二つの大きな相違点は、開発の成果を「契約で定めた仕事の完成(請負契約)」に求めるか、「契約で定めた業務の完遂(準委任契約)」に求めるかです。
より詳細な違いを、以下で紹介していきます。
受託型開発
受託型開発は、自社から提示した要件や仕様に沿って、オフショア開発会社が期日までに成果物を完成させ、納品する開発体制です。上流工程から下流工程まで計画的に開発を進める、いわゆるウォーターフォール型の開発に適しています。
開発チームの構築やプロジェクト管理は、オフショア開発会社が行ないます。日本人のプロジェクトマネージャーをメンバーに入れ、そこから定期的に進捗報告を受けることにより、自社に開発リソースが不足していても製品の開発が可能になります。
受託型開発のコスト算定やスケジュール策定のもととなるのは、要件や仕様からオフショア開発会社が割り出した開発工数です。開発途中で仕様変更が発生し、開発工数内で対応しきれなくなった場合は、追加見積もりが必要となります。そして、オフショア開発会社には実際の開発工数に関わらず、期日までに所定の品質の成果物を納品する義務があります。
ラボ型
ラボ型開発は一定期間、オフショア開発会社に自社プロジェクトの専属チームを設ける開発体制です。短期サイクルで開発とフィードバックを積み重ね、仕様をブラッシュアップしていくアジャイル開発に適しています。アジャイルとは、日本語で「すばやい」「機敏な」という意味です。
ラボ型開発のコスト算定のベースは、ITリソースの人月単価(要員1人にかかる月あたりの価格)です。人月単価に人数とプロジェクト期間を乗算したものが、開発コストになります。人月単価はITリソースのスキルセットによって異なるため、あらかじめ「どのようなスキルセットの人材が必要か」「各スキルセットの人材を何名ずつアサインするか」を自社で検討しておきましょう。自社のプロジェクトマネージャーをアサインすることも可能です。
また、ラボ型開発ではプロジェクトチーム内のコミュニケーションのとり方も、事前に検討することが必要です。コミュニケーションのとり方は2種類に大別できます。一つはオンラインベースでコミュニケーションをとる遠隔タイプ、もう一つは自社メンバーを現地に派遣して一緒に仕事に加わってもらう常駐タイプです。オフショア開発の目的やプロジェクトの目標に照らし合わせて、どちらを採用するか決めましょう。
【オフショア開発体制】受託型のメリット・デメリット
続いては、受託型開発のメリット・デメリットを紹介します。
受託型のメリット1.事前に定めた品質と納期が保障される
受託型開発は、成果を「契約で定めた仕事の完成」に求める体制です。自社から提示した要件や仕様に基づく品質の成果物を、オフショア開発会社が期日までに納品することを前提に、開発が始まります。
期日までに成果物を納品できない場合、オフショア開発会社は債務不履行責任を負い、報酬を請求できません。自社側のリスクヘッジとして、納期遅延や成果物の品質不良について保証制度を備えている企業をオフショア開発先に選定することも重要です。
受託型のメリット2.開発にかかる時間を短縮できる
人件費が割安な海外のITリソースを活用することで、同じコストでも国内開発よりも多くの人材を同時に稼働できます。例えば単純に考えると、2人で9ヵ月かかる開発は、同じスキルセットを備える人材が6人いれば3ヵ月で完了できる計算です。
また、受託型開発では、自社メンバーのマネジメント工数も削減できます。開発に必要なITリソースの検討やチーム構築、進捗管理・問題管理などのプロジェクト管理は、通常オフショア開発会社が行なうためです。
受託型のデメリット1.事前に詳細な仕様書が必要
オフショア開発会社は、依頼元が提示した仕様書をもとに、受託型開発のコスト算定やスケジュール策定を行ないます。なお、海外では基本的に、仕様書に記載されていないことは行ないません。そのため、曖昧な仕様だと、期待した精度の成果は返ってこないものと考えましょう。
進捗管理や報告ルールなど、品質確保のためのコミュニケーション手順についても、事前に取り決めておく必要があります。
受託型のデメリット2.仕様変更・機能追加のたびに見積もりが必要
開発途中での仕様変更や機能追加などは、契約時点のコストやスケジュールで対応しきれない場合があります。その場合には、追加見積もりが発生するのが基本です。見積もり作業や確認で開発が遅滞するほか、最終的な開発コストの増大にもつながります。
受託型のデメリット3.継続的に発注する場合はコストが高くなる恐れも
仕様書ベースで所定の成果物を開発する受託型開発は、その成果物の納品をもって契約完了となります。いわば単発で行なう開発です。
パッチ適用やバージョンアップなど継続的な開発を要する場合でも、その都度に契約し、チーム構築しなければなりません。中長期的に見ると、ラボ型開発と比べてかかるコストは割高です。また、開発タイミングによっては、希望するITリソースを確保できないこともあります。
【オフショア開発体制】ラボ型のメリット・デメリット
対して、ラボ型開発のメリット・デメリットは以下が挙げられます。
ラボ型のメリット1.開発コストが抑えられるケースが多い
国内開発とオフショア開発にかかるITリソースを、同じ質と数で比較した場合を考えてみましょう。例えば、オフショア開発国としてベトナムを選んだ場合には、人件費を国内開発の2分の1から3分の1程度に抑えることができます。
パッケージ製品を使わないフルスクラッチ開発のWebサービスや、バージョンアップを前提としたアプリ開発などの中長期的な開発・運用プロジェクトでは、継続的にラボ型開発を活用することでコスト削減が見込めます。
ラボ型のメリット2.仕様変更・機能追加にも対応できる
先にも触れたとおり、海外では仕様書に記載されていないことは行なわないのが一般的です。しかし、ラボ型開発は期間契約で専属の開発チームを設けるものです。そのため、契約内のITリソースで吸収できる限りは、開発途中の仕様変更・機能追加に柔軟かつ迅速に対応できます。
ラボ型のメリット3.有能な人材を確保し、ノウハウを蓄積できる
ラボ型開発では契約期間中、固定した有能なメンバーで専属チームを組むことができます。それにより、ノウハウの蓄積が容易になり、その蓄積の増加に比例して開発の品質やスピードが向上していくでしょう。
ラボ型のデメリット1.契約期間中は一定量の発注が必須
一定期間、専属チームとして一定のITリソースを確保するラボ型開発は、半年から数年以上かかる中長期の開発に適しています。例えば、10のITリソースに対して1の業務しか発注できない場合でも、契約期間中は最低保証分のコストが発生してしまうのです。
ITリソースを無駄にしないよう、あらかじめ業務の発注計画を検討する必要があります。
ラボ型開発のチームを指揮する権限は依頼元にあり、臨機応変にチームの人員配置を最適化できます。配置計画に基づき、1つの機能に集中して開発することも、複数機能の開発を並行して走らせることも可能です。
ラボ型のデメリット2.開発期間が延びる可能性がある
仕様変更・機能追加に柔軟に対応できるラボ型開発では、変更・追加がしやすいゆえ、かえって開発期間を延長してしまう可能性があります。
その際、避けなければならないのは、個々の仕様や機能の開発に注力しすぎて、全体の進捗やスケジュールのコントロールが疎かになることです。プロジェクトマネージャーには、プロジェクトの明確なゴール設計やロードマップのマネジメントが求められます。
ラボ型のデメリット3.チーム管理のためにリソースを割く必要がある
ラボ型開発では、依頼元企業のメンバーもオフショア開発会社と協働して、開発に必要なITリソースの検討やチーム構築、進捗管理・問題管理などのプロジェクト管理を行ないます。
特に最初は、チームが備えているスキルセットを存分に活かせるよう、文化や言語の壁を超えた体制づくりや、信頼関係構築のためのディレクションが重要です。
【オフショア開発体制】受託型とラボ型、どちらを選ぶべき?
ここまで、受託型開発とラボ型開発について説明してきましたが、実際にはどちらを選べば良いのかが判断しづらいこともあるでしょう。
受託型開発とラボ型開発が適しているケースをご紹介しますので、ぜひ自社で検討する際の参考にしてください。
受託型を選ぶべきケース
- 比較的小規模な短期・単発案件である
ゴールが明確な短期プロジェクトや、成果物の完成をもって終了する単発プロジェクトは、品質・納期が保障されている受託型開発が向いています。
- すでに詳細な仕様書が完成している
受託型開発のコスト算定やスケジュール策定は、依頼元から提示した要件や仕様をベースに行なわれます。開発途中で仕様がぶれないほど、手戻りや開発遅滞が発生せず、精度の高い品質と納期を見込めます。
- 自社での運用が可能で、追加改修は必要ない
受託型開発は、所定の成果物の納品をもって完了します。納品後にオフショア開発会社へのランニングコストは発生しません。
開発部分のみをオフショアで委託したい場合には、受託型開発が向いています。
- 社内リソースはあまり割けない
受託型開発では必要なITリソースの検討、チーム構築、プロジェクト管理をオフショア開発会社が担当します。そのため、自社メンバーのマネジメント工数を削減できます。
ラボ型を選ぶべきケース
- 比較的大規模な長期案件である
自社専属チームとして一定期間一定のITリソースを確保するラボ型開発は、半年から数年以上の中長期の開発に適しています。
- 何事もフレキシブルに進めたい
ラボ型開発では、オフショア開発会社の専属チームで継続的に活動します。そのため、チーム内で設定したゴールに向けて、仕様変更や機能追加にも柔軟に対応できます。
- PMやディレクターを入れて、試行錯誤しながら品質を高めたい
定量的な要件よりも、開発目的(ユーザーストーリー)をもとに機能実装やバージョンアップしていきたいプロジェクトは、ラボ型開発が適しています。
- ローンチ後も調整や追加改修が必要な可能性が高い
ラボ型開発では、オフショア会社内に設けた専属チームに逐次、技術的なノウハウや信頼関係が蓄積されていきます。これらは、中長期的な運用・保守において対応の品質やスピードに直結するでしょう。
まとめ
プロジェクトの目的や特性によって、最適な開発体制は異なります。ここではオフショア開発を検討中の方に向けて、受託型・ラボ型の特徴や、それらに見合ったプロジェクトケース例を解説してきましたが、どちらの開発体制も画一的なものではありません。自社のプロジェクトに合うように調整して導入しましょう。
オフショア開発に関するお悩みは、ぜひ、お客様の信頼できるパートナーを目指すレリパにご相談ください。日本の文化・ビジネスに精通したスタッフが、最適な開発体制について丁寧にアドバイスさせていただきます。