コラム
システム開発をする際に、コスト削減とリソース確保で検討にあがるのが「オフショア開発」ではないでしょうか。コロナ禍の影響でリモートワークが推進され、オンラインミーティングも定着しオフショア開発に対するハードルも下がりました。しかし、一歩が踏み出せない…。そんなお悩みもしばしば耳にします。本記事では、初めてのオフショア開発の進め方について解説させていただきます。
オフショア開発は、一般的には東南アジアの国々に依頼することが多いですが、東南アジアには様々な国があり、国ごとに宗教・言語・文化など全く違う特徴を持っています。さらに、経済の発展状況やIT化の具合によってITエンジニアの人月単価が変わってきます。安ければ良いというわけではなく、開発に応じた適切な国を選択する必要があります。かつて人気のあった中国やインドでは、開発費が高騰してコスト削減にならない場合もあります。大規模開発や高度な技術力が必要な案件においては、中国やインドを選定した方が、リソース不足の解消や、技術力による開発工数減で、結果的にコスト削減などのメリットを得られる場合があります。また、日本の開発会社同様にオフショア開発業者も得意分野を持っていますので、開発を依頼する範囲、開発言語、実績等について確認しておきましょう。
▼こちらの記事で各国の特徴をまとめておりますので、詳しくはこちらをご覧ください。
まず請負型またはラボラトリー型開発のどちらでオフショア開発を契約するか、オフショア開発の使い方を決めましょう。
指定された期間内で、成果物の完成を単発的に発注する場合は「請負型」をおすすめします。システムの維持・運用のように、年間を通して継続的な発注をする場合は「ラボラトリー型開発」をおすすめします。「ラボラトリー型開発」は、契約期間やラボチームの最小人数が決まっている場合が一般的です。どちらのオフショア開発の使い方の場合も、初めから大規模開発を発注するのではなく、スモールスタートで始めるのがおすすめです。特に「ラボラトリー型開発」では、プロジェクト開始後にコミュニケーションが上手く取れなかったり、仕様書の理解力に問題あることが判明した場合に、小規模開発なら影響が少なくて済みます。
▼こちらの記事で発注形態の違いとメリット・デメリットをまとめておりますので、詳しくはこちらをご覧ください。
オフショア開発の業者選定で一番重要なポイントは、『日本語でのコミュニケーションが円滑にとれるか?』です。開発実績や事例紹介から技術力はある程度判断できますが、日本語のコミュニケーション能力については判断できません。オフショア開発業者内で日本語教育が継続的に行われているか、日本語検定の資格取得者数の情報収集と、オフショア開発業者の技術者に直接日本語でのインタビューを行い、日本語でのコミュニケーション能力の判断材料とするのも良いでしょう。
また、トラブルが発生した場合に備えて、日本人スタッフとの連絡が取れる体制があることも、オフショア開発の業者選定で重要なポイントです。普段の開発の進め方においては、オフショア先のITエンジニアと日本語での遣り取りに支障はなくても、トラブル対策などで緊急性を要する場合には、指示の聞き間違いや認識のズレが起きないように、日本人スタッフに連絡が取れる体制があると安心です。
国内の開発業者に発注する場合は、仕様書にあいまいな記述がされていても、ITエンジニアが真意をくみ取って開発をしてくれる場合もありますが、オフショア開発では「仕様書に記述されていることが全て」と再認識しましょう。コミュニケーションの問題があるので、主語を明確にし、あいまいな表現や日本語特有の表現は使わないように常に意識して記述しましょう。
但し、正確に意図を伝えたいために、細かな内容を全て文章で記述すれば、仕様書作成者の作業負担が増えるだけでなく、日本語からオフショア先用の言語に翻訳する場合には、翻訳コストも増加となります。図版、フローチャート、表などを活用し、文章を減らして分かりやすい内容を心がけましょう。日本の開発業者へ依頼する場合の仕様書よりも、イメージ図が多くある方が伝わりやすいので意識すると良いでしょう。
また、誰が作成しても同じ表現方法や品質で作成できる、システム設計ツールの利用も一つの方法です。弊社ではシステム設計専用ツールとして、VSSD(VeraSym SystemDesigner)という自社製品を取り扱っております。表計算ソフトやワープロソフトなど汎用的なツールで設計を行うと、設計書内の整合性や関連する設計書の変更などを全て手作業で確認・修正しなければなりませんが、VSSDでは内部的に関連を認識しているため、影響箇所を自動的に把握・反映できます。VSSDは、設計に求められる多様なドキュメントが手軽に作成できる専用ツールです。それぞれのドキュメントに応じて、専用のインターフェースを用意。Excelなどの汎用ツールでこれまで行ってきたシステム設計と同じような感覚で使いこなせますので、操作の習得にも労力を要しません。
▼システム開発の設計プロセスを変革するシステムCADを是非ご覧下さい。
オフショア開発は、国内での開発よりも進捗管理が難しいと言われていますが、次のようなツールを使用して適切な進捗管理を行い、開発工程における生産性や品質向上と納期遅延を防ぎます。slackやchatworkなどのビジネスチャットツールを使用することにより、リモートワークが浸透している現在において、コミュニケーションを活性化し情報共有を円滑にします。また、BacklogやJiraなどの課題管理ツールを使用することにより、タスク管理、工数管理、進捗管理を行うことも可能です。ツールを使用することにより、以前よりもコミュニケーションが取りやすくなりました。
しかしながら、ツールの使用だけではなく、定期的にコミュニケーションをとるための、WEB会議も行うことを心がけましょう。開発のスケジュールを遅延させないためには、コミュニケーションを取ることは重要です。さらに、オフショア開発先の文化の違いによって、納期に対する意識の差がある場合があるので注意が必要です。
初めてのオフショア開発を進めるにあたって、特徴的なポイントを中心に解説しました。オフショア開発を検討するメリットと期待は、大きく二つあると思います。一つ目は言うまでもなくコスト削減で、二つ目はITエンジニア不足解消ではないでしょうか。二つ目のITエンジニア不足解消手段として、最近はオフショア開発が利用されているように感じます。
その背景として、経済産業省の「IT人材需給に関する調査(概要)」で、2030年には最大で79万人のITエンジニア不足が記述されています。いかに海外を含めたITエンジニアを確保するかが、企業の重要テーマとなっています。しかし、オフショア開発の全てが成功しているわけではありません。オフショア開発はどんな場合に失敗するのでしょう?またその対策は?
日本語でのコミュニケーションがうまく取れなければ、オフショア開発は失敗のリスクが高くなります。問題が発生した場合に事象を正確に伝えることが出来ず、被害を大きくしてしまう場合もあります。
日本語検定資格を保有するオフショアのITエンジニアでも、理解することが難しい日本語は多いです。例えば、「少なくありません」などの二重否定は理解が難しいと言われています。私達は日本語独特の言い回しや表現を、意識することなく日常的に使用しています。「真面目」「生きがい」「いただきます」「ごちそうさま」などは翻訳ができないと言われています。コミュニケーションを取る際には、ゆっくりと分かりやすい日本語で話すことを心がけ、継続的にコミュニケーション頻度を多く取るように意識することがポイントです。
通常SEは要件定義やシステム設計などを担当しますが、ブリッジSEはオフショア先と日本の依頼元との橋渡しを担当します。ブリッジSEは、宗教・言語・文化などの違いなどによる認識違いを解消し、オフショア開発を成功させるための取りまとめを行います。オフショア開発の失敗理由として、ブリッジSEが原因だったとよく言われます。ブリッジSEの働きいかんで、オフショア開発の成否が左右されてしまいます。オフショア開発におけるブリッジSEのコミュニケーション能力、開発案件の技術面の知識、プロジェクト全体のマネジメント能力などを持っているか、ブリッジSE担当者とプロジェクト開始前に面談したり、これまでの経歴をしっかり確認しておきましょう。
人月単価の安さ優先で、オフショア開発企業を選定するのは失敗の一因です。保有スキルや確保できる技術者数、日本語のコミュニケーション能力、得意とする開発内容、過去案件の納品物、担当した工程や期間など、オフショア開発企業の実績を詳細に確認して選定しましょう。オフショア開発の主な使い方として、基幹システム及び周辺システムのスクラッチ開発や、マイグレーションなど比較的中規模以上の案件ではメリットが出易いが、短納期の小規模案件には向いていません。
但し、システムの維持・運用のように、小規模案件が年間を通して継続的に発生をする場合は、「ラボラトリー型契約」でメリットが出せます。「ラボラトリー型契約」はコスト削減だけでなく、自社専用の優秀なITエンジニア(チーム)を、中長期的に確保できるため、ノウハウの蓄積も可能となります。また、急な仕様変更が発生した場合にも、柔軟に対応できるなどのメリットがあり、「ラボラトリー型契約」をITエンジニア確保の手段として検討する企業も増えてきました。日本国内とは宗教・言語・文化など全く違う特徴もあるので、相互理解不足にならないように、コミュニケーションを取ることが重要です。海外との遣り取りは、時差により打合せや進捗管理に影響するので、考慮しておきましょう。
インフラ整備が進んでいない国や、国民性がのびりしてる国では、納期遅延が発生しやすいと考えておいた方が良いでしょう。
オフショア開発のプロジェクトの進め方として、先に解説したように、進捗管理ツールなどを活用してこまめに確認し、早期にコミュニケーションミスや問題を発見することは納期遅延防止につながります。こまめに進捗管理を行うことで、オフショア開発依頼先のITエンジニアが抱えている問題を早期に発見し、それによりプロジェクトの問題点や品質改善に、早い段階で対応することができます。日本人同士のように、言葉にしなくても察してくれることはないので、明確な指示がなければコミュニケーションの行き違いが発生し、品質不良の原因につながります。すべてを発注業者に丸投げせずに、積極的なコミュニケーションを通じて、要件や仕様を正確に理解してもらい、常に開発状況を把握し管理するようにしましょう。それがトラブル発生を、未然に防ぐことにつながります。
品質不良を防ぐためには、案件内容や案件規模によりますが、ブリッジSEを現地スタッフではなく日本人にすることが有効です。現地の人材の中からブリッジSEを選ぶ方が人件費を抑えることはできますが、その場合は日本語力が高い人が望ましいでしょう。
オフショア開発では、コスト削減とITエンジニアの確保を目的として、主に東南アジアの国々に依頼することが多いですが、国ごとに宗教・言語・文化などが異なり、経済の発展状況によってインフラ整備やIT化の状況も変化していきます。
弊社はオフショア拠点として2002年100%出資で北京DCR設立、2008年China+Oneとして100%出資でミャンマーDCRを設立、長年経験したオフショアノウハウを保有しております。弊社のオフショア開発は、お客様とのプロジェクト窓口、並びに上流工程、プロジェクトマネージメントは弊社(日本人)ITエンジニアが担当します。設計工程以降は圧倒的な価格競争力を持つ中国及びミャンマーでコストダウンを図ります。お客様はオフショアを意識せず、コストダウンが可能です。ミャンマーDCRでは、更にコストメリットが高いラボラトリー型の契約が可能です。