ODCとは?ODCは日本語で「ラボ型開発」と呼ばれており、ODCを略さずに書くとOffshore Development Centerです。別名「ラボ契約」「オフショア開発センター」などとも呼ばれています。ODCとは、オフショア開発(海外の企業・法人にシステム・ソフトウェアの開発業務を委託すること)の一種であり、一定期間(3カ月〜1年間程度が一般的)にわたって専属チームを提供し、委託元の指示で開発を行うことを意味します。オフショア開発全般に関する詳細は、以下の記事で取り上げています。オフショア開発とは?活用される背景や目的、メリット・デメリットを解説ODCと請負型契約の違いオフショア開発の手法には、ODCのほかに請負型契約も存在します。請負型契約では、「ウォーターフォール型」で開発を進めるケースが一般的です。ウォーターフォール型とは、初期に多くの時間を費やし、開発の範囲を全て企画・定義したうえで、設計・実装・テスト・納品を行う手法です。納品によって契約が完了することから、委託元にとっては、その後に修正を依頼すれば追加費用を請求されてしまい、コストがかさむおそれがあります。ウォーターフォール型については以下記事で詳細に解説しておりますので、工程やメリット・デメリットなどを詳しく知りたい方は併せてご確認ください。ウォーターフォール型開発とは?工程やメリット・デメリットを解説これに対して、ODCでは、「アジャイル型」で開発を進めるケースが多いです。アジャイル型とは、設計・企画・テスト・実装を短期間で行い、その一連のサイクルを繰り返しながら納品を目指す手法です。ウォーターフォール型とは違い、委託元が開発プロセスに積極的に関与するため、要望・仕様の変更が発生したときに柔軟に対応できます。また、期間内であれば修正対応をしてもらえるため、請負型契約よりもコストを抑えやすいです。ODCの契約について以下記事で詳しく解説しておりますので、併せてご覧ください。ラボ契約(ラボ型開発)とは?請負契約との違い、メリット・デメリットODCのメリット・デメリットODCの活用により生じる可能性のあるメリット・デメリットを順番に取り上げます。メリットまずは、ODCの活用により期待されるメリットの中から、代表的な4つをピックアップし、順番に解説します。PJT参加するエンジニアの質を選択できるODCでは、既にODCを受ける企業で雇用されているエンジニアをアサインする方法か、新たにプロジェクトに参加するエンジニアを1から採用する方法です。freecracyでは後者の方法をお勧めしております。理由としては、必要なエンジニアは「優秀」ということだけではなく、それぞれの会社やプロジェクトに合致したエンジニアを選択する必要があります。その為、freecracyでは会社やプロジェクトに完全一致し、必要となる人材をfreecracyが保有する50万人の候補者から採用し、即戦力として雇用します。また残念ながらミスマッチだった場合は、無償で新たなエンジニアに変更することが可能です。契約終了までエンジニアを確保できるODCでは、契約期間終了まで、エンジニアチームを抱え込むことが可能です。契約期間内であれば継続的に案件を発注できるため、案件ごとにプロジェクトを再編成したり、最初から順序立てて情報共有を行ったりする手間・時間を省略できます。仕様変更・修正などに柔軟に応えてもらえるODCでは、契約期間内であれば、要望・仕様変更・修正が発生したときに柔軟に対応してもらえます。また一々要件定義を細かく行う必要はないので、非常にスピーディに開発を勧められます。これに対して、請負型契約の場合、納品完了後に修正対応を行ってもらうためには追加費用が必要です。以上のことから、ODCは、仕様変更・修正などが想定される開発業務を委託する際にメリットが大きいです。経験・ノウハウを蓄積しやすいODCでは、契約期間終了まで同じ開発チームで開発が行われることから、自社にシステム・ソフトウェア開発の経験・ノウハウを蓄積しやすくなります。自社に経験・ノウハウが積み重なれば、開発の品質やスピードの向上が期待できます。デメリット続いて、ODCの活用により生じるおそれのあるデメリットの中から、代表的な2つをピックアップし、順番に解説します。一定量の発注が求められるODCでは、契約期間終了までエンジニアチームを抱え込むことから、委託できる開発業務のない期間が生じてしまった場合でも、人件費を請求されてしまいます。そのため、短期間や単発での開発案件の場合、かえって割高になりやすく、コストメリットが期待できないおそれがあるのです。以上の点を踏まえて、ODCを活用する際は、契約期間終了までエンジニアのリソースを最大限に活用できるよう調整しておくことが望ましいです。チームマネジメント能力が求められるODCでは、契約期間中という制限はあるものの、自社の開発チームを新たに設けることに他ならず、委託元である自社が開発プロセスに積極的に関与することが求められます。具体的にいうと、エンジニアチームが最大限に活躍できるように、進捗確認・仕様の明確化などを通じて、積極的にコミュニケーションを取っていく必要があります。