「ラボ型開発」とは、ベンダーのエンジニアチームを、自社のリソースとして確保しておける開発手法です。一定期間、エンジニアチームはクライアント専属のチームとして契約し、クライアントのプロジェクトのために働きます。
「ラボ型開発」は、主にオフショア開発の選択肢の一つとして知られています。
しかし、オフショア開発が初めての方にとって「ラボ型開発」という言葉は馴染みがなく、よくわかりにくいと感じるかもしれません。
そこで、本記事ではオフショア開発の進め方の一つである「ラボ型開発」について、初めての方にもよく理解できるように、わかりやすく解説します。
この記事でわかること
ラボ型開発とは何か?
ラボ型開発のメリットとデメリット
ラボ型開発の体制と進め方
ラボ型開発が注目されている背景
Rabiloo(ラビロー)はベトナム・ハノイに開発拠点を置くソフトウェア開発企業です。
お客様のニーズに合わせて、ラボ契約によるエンジニア提供サービスを、最短1ヶ月、最小1名から行っております。一時的な増員にも柔軟に対応できます。
従来のオフショア開発は、プロジェクトベースで行う受託開発が一般的でした。
受託開発では、クライアントは、作りたいプロダクトの要件が明確に決まっていて、ベンダーはそれを完成させる義務を請け負う、という請負契約で開発を進めます。
それに対しラボ型開発とは、「人数」と「期間」に基づく契約で、ベンダーのエンジニアでチーム(ラボ)を組み、契約期間中(通常は半年〜1年)チームを自社専用のリソースとして活用できるという開発手法です。
基本的にプロジェクトはベンダーではなくクライアントが中心になって行い、クライアントが全体のマネジメントを行います。
英語でラボ型開発は「ODC」と表記されることがあります。ODCとはOffshore Development Center(オフショア開発センター)の略で、海外拠点に自社の開発チームを組んでプロジェクトを進める開発手法のことを指します。
日本国内にもラボ型開発を提供する企業はあります。多くの場合、ニアショア開発(物価や固定費の安い地方で行う開発)の要素も含み、言葉や文化の分かり合える日本人エンジニアリソースを提供できることを売りにしています。
ただ、オフショア開発を利用した方がコストは確実に安くなります。また、海外の方がエンジニアリソースが圧倒的に豊富です。
ラボ型開発の特徴をさらに理解するために、受託開発との特徴の違いについてもう少し触れておきたいと思います。
受託開発は、請負契約になります。プロダクトの完成に対して責任を請け負います。
受託開発において、報酬は製品の完成に対して支払われます。ベンダーは納期までに開発を終わらせ、プロダクトを完成させることに責任を持ちます。
一方、ラボ型開発においては、「準委任契約(ラボ契約)」が適用されます。ラボ契約においては、報酬はエンジニアの労働に対して支払われます。
※ラボ契約について詳しくは、エンジニアのラボ契約とは?請負契約・準委任契約との違いを解説!という記事をご覧ください。
受託開発においては、製品の完成がゴールになります。そのため、要件定義の段階で完成形がはっきりしていなければなりません。開発はウォーターフォールで進められるため、基本的にやり直しはできません。後から仕様を変更する場合、契約を結び直さなければならず、追加コストがかかり、納期を圧迫します。
ラボ型開発は「完成」がゴールではないため、MVP開発(最低限の仕様でリリースし改善を繰り返す)ができます。要件がある程度固まった時点で、すぐに開発に着手でき、開発スピードも早くなります。
仕様変更にも柔軟に対応でき、アジャイル開発との相性が良いのも特徴です。
SES(System Engineering Service=システムエンジニアリングサービス)も準委任契約によるエンジニア提供サービスの一つで、エンジニアの能力と労働力によって対価を得ます。SESではクライアントのオフィスにエンジニアを常駐させて労働力を提供します。
一方、ラボ型開発において、労働(開発)はベンダーのオフィスで行います。
ラボ型開発には以下のようなメリットがあります。
柔軟にエンジニアリソースを確保できる
開発にすぐに着手しリリースできる
請負開発よりコストが安い
ノウハウがたまる
ラボ型開発の考え方は基本的に「労働力の提供」です。「必要な時に必要なだけ、エンジニアリソースを柔軟に補強できる」、これがラボ型開発の最大のメリットです。
仮にエンジニアを自社で雇用するなら、採用、育成、福利厚生、労働環境、その他、非常に多くのコストと時間がかかります。また、タスクがない時にも給料が発生し、育成後に独立してやめられるリスクもあります。
ラボ型開発なら、エンジニアを探す手間が省け、案件に必要なスキルセットを持ったエンジニアをすぐに確保できます。また仮に欠員が出ても、代替要員がすぐあてがわれ、タスクを全うすることが契約で保証されています。
受託開発では、後からやり直しが効かないため、要件定義と設計のフェーズを慎重に進め、計画をしっかり立てます。そのため、プロジェクトが始動するまでに時間がかかります。
一方ラボ型開発では、チームの編成ができ次第、すぐに開発に取り掛かることができます。
また、MVP開発で、製品の初期バージョンを早期にリリースでき、ユーザーのフィードバックを収集しながら、製品の改善や方向性の見直しを行うことができます。
受託開発は基本的に、要件の変更は認められませんが、クライアント都合で要件の変更を要求されることがしばしば生じます。
小さな変更点であれば、ベンダーがクライアントの要求を呑んで、要件には含まれていない工数をサービスで行うこともよくあります。
しかし実は、こうしたリスクをとって、見積もりには余分の工数も見込んだ利益が上乗せされていることがあります。
そのため、受託開発は開発単体で見たときラボ型開発よりも費用が高くなる傾向があり、ラボ型を選択した方がコストが安くなる場合があります。
ラボ型開発を長期で利用する場合、時間とともにノウハウが溜まっていきます。
しかし、プロジェクトベースの受託開発では、1つの案件が終了すればチームは解散になり、エンジニアは別のプロジェクトにアサインされ、ノウハウは活かされません。
ラボ型開発なら案件が終了しても同じチームを確保しておけるので、チームが培ったノウハウを、次のプロジェクトに活かすことができます。
そのため、マネジメントがしやすく、品質や開発スピードも向上していきます。
長期的にラボ型開発を活用する場合、このことは大きなメリットになります。
ラボ型開発にはいくつかのデメリットがあるので、採用の前に慎重に考えておくと良いでしょう。
ラボ型開発には以下のようなデメリットがあります。
マネジメントにノウハウが必要
チームを使いこなさないとコストがかかる
品質や納期に関してベンダーの責任が少ない
ラボ型開発では、クライアントが主導でスケジュールを組み、マネジメントしていく必要があり、クライアントの負担が大きくなります。クライアント側にマネジメントをうまく行うノウハウが求められます。
そのため、プロジェクトマネジメントに慣れていないと、言語も文化も異なる海外のエンジニアチームをマネジメントするのは、ハードルが高く、失敗に終わるケースもあります。
さらに、海外ベンダーとの相性もあります。
近年の傾向を見ていると、オフショア開発では、いきなりラボ型で始めるのではなく、最初は小規模案件を請負で初めて、様子を見ながらラボ型に移行してくというのが定石になっています。
ラボ型開発は期間で結ぶ契約です。プロジェクト終了後も契約期間が残っていれば、タスクがなくてもコストが掛かります。
そのため契約期間内にリソースを無駄にしないための計画が必要になります。定期的に案件がない企業、または単発の案件では逆にコストがかかってしまうことがあります。
請負契約では、ベンダーは「契約不適合責任(旧:瑕疵担保責任)」を負います。つまり、ベンダーは製品や納期に対して責任を負います。
一方、ラボ型開発(準委任契約)におけるベンダーの責任は「善管注意義務」になります。簡単にいうと、「プロとして期待される仕事をちゃんとします」という義務で、製品の完成や納期に関する責任ではありません。
そのため、ラボ型開発では、毎日の労働に対して進捗報告が要求されます。
しかしラボ型開発でのクライアントの不安は、チームが本当に仕事しているかどうかが見えづらい、ということです。
こうした不安を取り除くため、弊社ラビローの開発プロジェクトでは、自社開発したプロジェクト管理ツールを使い、プロジェクトの進捗を可視化し、クライアントがリアルタイムで進捗を追えるように工夫を凝らしています。
次にラボ型開発のチーム体制についてご紹介します。
ラボ型開発は柔軟さが特徴なので、基本的にプロジェクトやお客様の要望によってチーム編成は異なります。
しかし基本的に、チームの中にブリッジSE(BrSE)を1名配置して、海外チームの進捗を管理します。
ブリッジエンジニアは、クライアントと海外チームの橋渡しの役割を担い、英語か日本語でクライアントとコミュニケーションを取ります。
ブリッジエンジニアについて詳しくはブリッジSE【BrSE】とは?役割と必要なスキルを具体的に解説!という記事をご覧ください。
例として、4人体制でアプリをラボ型で開発する場合、チーム体制は以下のようになります。
ブリッジSE 1名
プログラマー 2名
テスター 1名
この場合も柔軟に、開発を行う期間のみプログラマーの人月単価が発生し、テストを行うフェーズではテスターのみの人月単価が発生する、といったように、稼働に応じて金額が見積もられます。
では、ラボ型開発は一般的にどのように進めていくでしょうか。
弊社ラビローでは、以下のシンプルなプロセスでお客様にエンジニアを提供しています。
①要望のヒアリング
②スキルセットを備えたエンジニアの候補を提案
③お客様によるエンジニアの面接
④契約の締結
しかし、オフショア開発が初めてで、開発を目的としてラボ型を選択される場合、まず小規模の請負案件で初めて、うまくいけばラボに切り替えていくというやり方も選択肢に入れて考えると良いでしょう。
弊社では、最短1ヶ月、最小1名からでもエンジニアをご利用いただけます。
「オフショア開発白書2023」によると、直近3年でオフショア開発全体に占めるラボ型開発の割合が請負に比べて着実に増えてきています。
このデータはつまり、請負で始めたスモールスタートがうまくいき、継続的にオフショア開発を利用している企業が以前より増えていることを示しています。
参考:『オフショア開発白書(2023年版)』(オフショア開発. com)
https://www.offshore-kaihatsu.com/offshore_hakusho_2023/
さらにその背景として、日本が抱える深刻なエンジニア不足が顕在化し、もはや海外のリソースに頼らざるを得なくなってしまったことが関係しています。
さらにオフショア開発はこれまで、SIer(エスアイヤー)の下請けが大半を占めていましたが、近年ではユーザー企業からの直接活用が進んでいることも注目に値します。
ユーザー企業がラボ型開発を活用し、プロダクトを内製化していく動きが今後も予想されます。
ラボ型開発で注目されているのはベトナムです。ベトナムは親日で日本語学習者も多く、日本とのビジネスを重視しています。
ベトナムのブリッジエンジニアは日本語が堪能で、日本のビジネス文化も理解しているため、全て日本語でコミュニケーションできるのがメリットです。
また、ベトナムは国策でITエンジニアの育成に力を入れているため、若いエンジニアリソースが豊富です。多くのベトナムベンダーでは、日本企業とのラボ型開発のノウハウもかなり蓄積されているため、以前よりもマネジメントしやすくなっています。
本記事では、ラボ型開発について詳しく解説してまいりました。
ラボ型開発は、人数と期間に基づく契約で行い、エンジニアの労働力を対価とします。
ラボ型開発のメリット
柔軟にエンジニアリソースを確保できる
開発にすぐに着手しリリースできる
請負開発よりコストが安い
ノウハウがたまる
ラボ型開発のデメリット
マネジメントにノウハウが必要
チームを使いこなさないとコストがかかる
品質や納期に関してベンダーの責任が少ない
弊社Rabiloo(ラビロー)はベトナムに開発拠点をおくソフトウェア開発企業です。
お客様のご要望に合わせて、迅速にエンジニア候補をご用意し、ご提供いたします。
弊社のエンジニアの8割はベトナムトップの理工系大学、ハノイ工科大学出身です。
ラボ型開発のマネジメントにおいて、お客様から進捗をリアルタイムで可視化できる仕組みを構築しております。
ブリッジSEとのコミュニケーションは全て日本語で行えますので、安心してご利用いただけます。
お客様オフィス常駐型のSESも提供しております。
エンジニア提供に関するご相談は何でもお気軽にお寄せください。
Share