オフショア開発とアジャイル開発を組み合わせるメリットとは?成功のコツも解説
日本国内でも、オフショア開発を取り入れる企業が増加しています。また、近年は、従来の「ウォーターフォール開発」ではなく「アジャイル開発」が主流となっており、オフショア開発とアジャイル開発を組み合わせるケースも少なくありません。本記事では、オフショア開発とアジャイル開発とはどのようなものなのか、これらの手法を組み合わせるメリットや成功させるポイントなどを解説します。
目次[非表示]
- 1.オフショア開発とは
- 2.アジャイル開発とは
- 2.1.ウォーターフォール開発との違い
- 2.2.アジャイル開発のメリット
- 3.アジャイル開発の主な手法
- 3.1.スクラム
- 3.2.エクストリーム・プログラミング(XP)
- 3.3.ユーザー機能駆動開発(FDD)
- 4.オフショア開発×アジャイル開発のメリット
- 5.オフショア開発×アジャイル開発に向いているプロジェクト
- 6.オフショア開発×アジャイル開発を成功させるポイント
- 6.1.ブリッジエンジニアを活用する
- 6.2.開発手法や開発ルールへの理解を促す
- 6.3.ラボ契約を選ぶ
- 6.4.役割分担を明確化する
- 7.オフショア先とのコミュニケーションを円滑にするための注意点
- 7.1.細かい部分まで明確に伝える
- 7.2.こまめなコミュニケーションを心がける
- 8.まとめ
オフショア開発とは
オフショア開発とは、海外の企業や現地法人などに開発業務を委託することです。なお、広義のオフショア開発には、システムやソフトウェアなどの開発業務だけでなく、インフラの構築や保守運用業務なども含まれます。主に、コスト削減や開発リソースの確保を目的として、日本でも取り入れる企業が増えています。
アジャイル開発とは
アジャイル開発とは、実装とテストを小さいサイクルで繰り返しながら開発を進めていく手法です。プロダクトを機能の集合体として捉えて、優先度が高いものから機能単位で開発を進めていきます。
ウォーターフォール開発との違い
アジャイル開発が主流となる前は、ウォーターフォール開発が広く採用されていました。ウォーターフォール開発とは、はじめにプロダクト全体の要件定義や設計を細部まで詰めてから開発を進める手法です。一方、アジャイル開発ではプロダクトを小分けにして、計画・設計・開発・テストのサイクルを繰り返し行いながら開発を進めます。
アジャイル開発のメリット
アジャイル開発は、機能単位で開発を進めるため、仕様変更に強いというメリットがあります。また、重要度の高い機能だけを先にリリースし、ユーザーからのフィードバックを反映しながらブラッシュアップすることも可能です。さらに、リリースまでの期間が短縮できるため、ビジネスをより素早くスタートできます。
アジャイル開発の主な手法
ここからは、アジャイル開発の代表的な手法を紹介します。
スクラム
スクラムとは、チーム内のコミュニケーションに重きを置いた開発手法です。チームメンバーが共同で計画を立て、開発単位ごとにコミュニケーションをとりながら進行の問題点や制作物の動作を確認していきます。スクラムは、次の5つのプロセスで構成されます。
1.スプリントプランニング |
スプリントを開始する際にチームでミーティングを実施し、開発内容や進め方を決定する。 |
2.スプリント |
スプリントプランニングに基づき開発を進め、 機能をリリースする。 |
3.デイリースクラム |
1日15分程度を目安の定例ミーティング。進捗状況や 課題、その日の目標などをチームで共有する。 |
4.スプリントレビュー |
スプリントの成果物をレビューするプロセス。 |
5.スプリントレトロスペクティブ |
スプリントの終了後に行われる、振り返りのプロセス。今回のスプリントを評価し、次回以降に向けて、 品質と効果を向上させるための方法を検討する。 |
エクストリーム・プログラミング(XP)
エクストリーム・プログラミングとは、仕様変更や追加を前提とし、柔軟性に重きを置いた開発手法です。プロジェクト全体の計画を細かく立てることはせず、顧客のニーズを反映しながら開発を進めます。エンジニアが2人1組で共同作業をする「ペアプログラミング」や、「コーディング規約」などを取り入れる点が特徴的です。
ユーザー機能駆動開発(FDD)
ユーザー機能駆動開発とは、ユーザーにとっての機能価値に重きを置いた開発手法です。ログイン機能やユーザー登録機能など、ユーザーから見た機能ごとに開発を進めていきます。機能を重視するため、プロダクトの品質を高めやすい点がメリットです。
オフショア開発×アジャイル開発のメリット
オフショア開発とアジャイル開発を組み合わせるメリットは、主に次の2点です。
ウォーターフォール開発でのデメリットを解消できる
オフショア開発では、現地とのコミュニケーションが大きな壁となります。そのため、コミュニケーションが少なく済むウォーターフォール開発を採用する傾向がありました。
しかし、ウォーターフォール開発には「仕様変更が難しい」「開発期間が長期化しやすい」などのデメリットもあります。オフショア開発とアジャイル開発を組み合わせれば、こうしたウォーターフォール開発のデメリットを解消することが可能です。
両方の開発スタイルのメリットを得られる
オフショア開発とアジャイル開発を組み合わせれば、両方のメリットを得られます。たとえば、アジャイル開発には人的リソースが必要ですが、オフショア開発なら人件費を抑えつつ人的リソースを確保できます。十分な人員で、アジャイル開発によりスピーディーにプロジェクトを進めることが可能です。
オフショア開発×アジャイル開発に向いているプロジェクト
オフショア開発とアジャイル開発の組み合わせは、要件の全体像が決まっておらず、品質を継続的にブラッシュアップしたい場合に適しています。
具体的には、アプリやオンラインゲームなど、ユーザーの要望を迅速に反映させるべきプロダクトの開発に向いているといえるでしょう。また、ビジネスを取り巻く状況によって、途中で優先度が変わる可能性がある案件にもおすすめです。
オフショア開発×アジャイル開発を成功させるポイント
オフショア開発とアジャイル開発を組み合わせる際は、次のポイントを押さえましょう。
ブリッジエンジニアを活用する
ブリッジエンジニアとは、オフショア開発をスムーズに進めるため、現地との仲介をするエンジニアのことです。エンジニアとしてのスキルだけではなく、語学力やマネジメントスキルなども求められます。
アジャイル開発では綿密なコミュニケーションが必要ですが、オフショア開発は文化の違いや物理的な距離によるコミュニケーションの壁があるため、ブリッジエンジニアが必要不可欠といえるでしょう。
自社にこの役割ができる人材がいない場合は、オフショア先にブリッジエンジニアを配置してもらう必要があります。ただし、企業によってはオプション扱いとなる場合や、そもそもブリッジエンジニアがいない場合もあるため注意しましょう。
開発手法や開発ルールへの理解を促す
はじめに厳密な要件定義をするウォーターフォール開発とは異なり、アジャイル開発は開発を進めながら臨機応変に対応していくため、開発ルールの明確化が欠かせません。オフショア先のメンバーにも共有し、開発ルールの理解を促しましょう。また、アジャイル開発の進め方やポイントなどを、現地に理解してもらうことも重要です。
ラボ契約を選ぶ
オフショア開発の契約形態は、請負契約とラボ契約(準委任契約)に分かれます。請負契約では成果物に対して報酬を支払うのに対し、準委任契約では作業人数や時間に対して報酬を支払います。準委任契約は、業務の遂行が目的であるため、請負契約と比べて柔軟性が高い点がメリットです。
オフショアのアジャイル開発では、ラボ契約を締結するケースが一般的です。準委任契約であるラボ契約は、作業内容を柔軟に変更できるため、アジャイル開発に適しています。
役割分担を明確化する
役割分野や責任の範囲を明確にしないと、タスク漏れや混乱が生じやすくなります。プロジェクトマネージャーをはじめ、開発者やテスターなどそれぞれの役割を明確にしましょう。また、自社とオフショア先のチームとの役割分担も明確に設定する必要があります。
オフショア先とのコミュニケーションを円滑にするための注意点
アジャイル開発では、コミュニケーションが特に重要です。そのため、オフショア開発と組み合わせる際は、次のようなポイントに注意しましょう。
細かい部分まで明確に伝える
日本人同士ならざっくりと伝えるだけで理解してもらえることでも、言葉や文化の壁があるオフショア開発では、細部まで明確に指示する必要があります。
特に、日本語はあいまいな表現が多いため、翻訳でうまく伝わらないこともあるでしょう。言葉をなるべく短く、はっきり伝えるよう意識しましょう。
こまめなコミュニケーションを心がける
要件や仕様を正確に伝えるためには、こまめなコミュニケーションが欠かせません。綿密なコミュニケーションを図るためにも、ビデオ会議ツールやチャットツールなどのコミュニケーションツールをうまく活用するとよいでしょう。
まとめ
オフショア開発にアジャイル開発を組み合わせると、両方の開発スタイルのメリットがうまく合わさり、アウトソースの効果をより一層高めることにつながります。
ただし、アジャイル開発では綿密なコミュニケーションが必要なので、オフショア先との間にある言葉と文化の壁がネックになるケースも少なくありません。日本語特有のあいまいな表現はできる限り避け、はっきりわかりやすく伝えることを心がけましょう。
もし、ITインフラ領域での人材確保にお悩みなら、アイエスエフネットのITインフラエンジニア派遣サービスをご活用ください。
アイエスエフネットのITインフラエンジニア派遣サービスは、ITインフラサービス専門としては最大級の規模を誇る人材派遣サービスです。ITエンジニアの教育投資やバックサポートにも力を入れており、お客様の希望条件に合わせた質の高い人材をご提供可能です。まずはお気軽にお問い合わせください。
アイエスエフネットのITインフラエンジニア派遣サービスの問い合わせはこちら
アイエスエフネットがIT担当者の課題を解決!