オフショア開発におけるシステムの品質管理について解説

オフショア開発におけるシステムの品質管理について解説

オフショア開発は、システム開発を事業とする企業にとって、今や欠かせない選択肢のひとつです。近年では実績と定評を兼ねている国が多くあり、コストを抑えながらIT人材を確保できるメリットがあります。しかしオフショア開発が抱える課題を理解して対策しなければ、品質を担保できなくなります。システムの品質管理や対策について解説します。

 

【目次】
1. オフショア開発の品質は低い?どのような問題が起きやすいのか
1-1. 成果物が正常動作しない
1-2. 想定していた成果物と異なる
1-3. 納期が遅延した
1-4. 予算をオーバーした
2. 品質低下につながる原因について解説
2-1. コミュニケーションのすれ違い
2-2. 日本側の曖昧な指示・要求
2-3. 日本とのデザイン感覚のズレ
2-4. 品質管理体制の不備
2-5. 開発プロセスの不備
3. オフショア開発の品質を落さないための対策とは
3-1. 日本人のブリッジSEを配置する
3-2. 綿密なコミュニケーションを取る
3-3. 適切な開発プロセスを導入する
3-4. 品質管理体制の強化
3-5. 開発仕様を明確に提示する
4. オフショア開発の品質を保つための進め方
5. まとめ

 

1. オフショア開発の品質は低い?どのような問題が起きやすいのか

オフショア開発ではどのような問題が起きやすいのか事例をご紹介します。

 

1-1. 成果物が正常動作しない

オフショア開発では、成果物が正常動作しないという問題が発生する可能性があります。

 

システム開発では、要件定義をもとに開発を進めていきますが、要件定義の内容が正確に理解されていなければ、開発がうまく進まず結果的に正常動作しないということが発生してしまうのです。

 

「一つの工程を終えたら動作確認をする」「どのような動作をすれば正解か」「不備があればどうするか」というところまで詳細が伝わっていないと、不具合があるまま開発が進んでしまいます。

 

国内の開発であれば、要件定義や仕様書に細かい指示を記載していなくても、当たり前に開発担当者が処理してくれる場合もありますが、海外ではそうはいきません。日本の感覚が海外では通用しないことが頻発します。

 

1-2. 想定していた成果物と異なる

想定していた成果物と異なる問題が起こる可能性があります。例えば、「指示していない機能が足されている」「UX・UIデザインが日本では馴染みのないデザイン」といったケースもあり得ます。

 

日本人が使いやすいと思っているデザインは、海外ではそうでない場合があります。オフショア開発先の国の感覚で良いとされているデザインにされたり機能が足されたりといったことが起こり、想定しているものとは異なる成果物となる事態が生じるのです。

 

1-3. 納期が遅延した

日本人の納期に対しての考えは、世界から見てもかなり厳しい基準で管理されていると言えます。反対に海外では、仕事よりも家族の時間を大切にしていることや、休日はゆっくりと休むといった国民性である場合もあります。

 

国内での開発スケジュールと同じような感覚でいると、想定どおりには進まず、納期を遅延するといった可能性も出てきます。また上述したように、成果物の品質などの問題での大規模な修正といった事態が発生すると、納期に大きく影響することも考えられます。

 

1-4. 予算をオーバーした

オフショア開発の当初の目的であるコストカットにつながらず、反対に予算をオーバーするといった問題も考えられます。例えば、オフショア開発では、仕様書や指示出しのための翻訳が必要であるため、開発スキルだけでなく言語スキルも必要となり、その分の人件費が必要となります。

 

また為替の変動も考慮しておかなければ、コストメリットがなかったという結果になるかもしれません。国内での開発と同じように予算を管理していると、予算オーバーといった事態を招く可能性もあります。

 

2. 品質低下につながる原因について解説

オフショア開発でなぜ品質低下につながるのか、原因について解説します。

 

2-1. コミュニケーションのすれ違い

オフショア開発先の文化や言葉の違いは大きな壁です。またビジネスにおける習慣も異なります。そのため、国内と同じようなコミュニケーションはもちろん通りません。

 

開発の指示内容がうまく伝わらずにストレスに感じてしまう場合もあるでしょう。反対にオフショア開発先においても、ストレスに感じる部分はもちろんあり、日本側のコミュニケーションの取り方に不満を感じさせてしまう可能性もあります。

 

システム開発は長期に及ぶプロジェクトがほとんどです。プロジェクトを完遂してもらうには、コミュニケーションをとりモチベーションを高く持ってもらうことも必要です。コミュニケーションを円滑に取るための、工夫や意識が必要になります。

 

2-2. 日本側の曖昧な指示・要求

日本人は直接的にものを言うことが苦手な国民です。そのため相手の考えを察する特有の文化があり、認識にずれがないか確認しながら仕事をことを細かに進めて行けます。

 

しかしながら、海外では察する文化は通用せず、「はっきり言ってくれないと分からない」と思われてしまいます。曖昧な指示を出してしまうと、「自由な裁量でやっていい」もしくは「やらなくてもいい」と、受け取られる可能性があります。

 

また指示したつもりでも明確に伝わっていなければ意味がなく、なぜできないのかと責めるような行為は、開発チームの環境を悪化させる原因にもなります。指示や要求を出す際に、相手に理解してもらえるように工夫し、理解度を確認していなければ、最終的に品質低下につながる原因となってしまうのです。

 

2-3. 日本とのデザイン感覚のズレ

日本ではよしとされているUIやUXデザインは、国によって異なる場合があります。そのためアプリやクラウドサービス、WEBサイトなどの完成品が、「デザインのイメージが違う」「どのページに何があるのか分かりづらい」「操作性が悪い」といった、品質に影響する可能性があります。

 

「かっこいい」「おしゃれ」といった見た目や、「分かりやすい」「便利」と感じる操作性などは、国によって感覚が異なる場合が多いにあるのです。

 

2-4. 品質管理体制の不備

オフショア開発では、品質の管理体制に不備があることで、品質低下を招き失敗につながるケースも多いです。特に発注だけおこなってノータッチ、指示出しだけして確認しないといった管理体制では、品質低下どころか失敗に終わる確率が高くなるでしょう。

 

「進捗が定期的に報告されていない」「トラブルがあってもすぐに報告できない」「相談しづらい環境」といった管理体制ではよい開発ができるとはいえません。

 

また長期のプロジェクトの場合、開発メンバーの入れ替わりもあり得ます。加入したメンバーにちゃんと引き継ぎがされていないことや、認識が一致していないといったフォロー不足も考えられます。

 

2-5. 開発プロセスの不備

オフショア開発のプロセスは慎重に進める必要があります。システム開発では、プロジェクトを進めながら細部の設計を調整するケースが多く、開発開始の時点で仕様が明確に定まっていないのが実情です。そのため、開発を進めている途中に仕様変更が頻繁に発生するケースも少なくありません。

 

オフショア開発の場合、仕様変更には要件定義書への追加や修正が必要となります。また現地言語への翻訳といった作業も行わなければなりません。仕様変更についての指示がタイムリーかつ正確に行き届かないといったケースも、品質低下のひとつの原因となるでしょう。

 

3. オフショア開発の品質を落さないための対策とは

オフショア開発において、品質低下を防止するための対策について解説します。

 

3-1. 日本人のブリッジSEを配置する

日本人のブリッジSEを配置することで、品質低下を防止する対策となります。

 

■ ブリッジSEとは

 

ブリッジSEは、システム開発を行うシステムエンジニアを取りまとめ、オフショア開発先と日本企業側の仲介を担当するスタッフです。いわゆる橋渡しの役割があるためブリッジSEと言われています。

 

■ ブリッジSEの役割

 

ブリッジSEは、エンジニアの技術レベルを把握し開発の進捗管理を行い、発注側と受注側との調整といったさまざまなタスクをこなす必要があります。そのため、経験値の有無についても重要になり、ブリッジSEの人材を検討することは必須の対策となります。

 

■ ブリッジSEに求められるスキル

 

ブリッジSEは、システム開発の知識も有しており、双方のコミュニケーションに問題ないレベルの言語スキルが求められます。日本人をブリッジSEに配置することが難しく、オフショア開発国のブリッジSEを配置する場合には、日本のビジネス習慣に理解のある人材であることが望ましいです。

 

オフショア開発では、コミュニケーションのすれ違い、文化や感性が異なることから、品質低下の事例は少なくありません。そのためブリッジSEの存在は開発に大きく影響します。

 

3-2. 綿密なコミュニケーションを取る

オフショア開発では綿密なコミュニケーションは欠かせません。

 

■ 定期的な打ち合わせ

 

まずは、どのような成果物を求めているのか、開発の目的や目指すべきゴールが分かるように明確に伝えること、そして認識に不一致がないか理解度の確認を行うことが大切です。そして、定期的な打ち合わせなどを行い、進捗を確認するなど綿密なコミュニケーションを図ります。

 

■ トラブル時にも報告しやすい環境作り

 

定期的な打ち合わせだけでなく、突発的なトラブルや相談事があれば、すぐに連絡がとりやすいような環境や雰囲気作りを心がけます。開発先によっては、怒られることが苦手、ミスは認めない、といった国民性である場合があります。

 

トラブルやミスが発生した場合に、いち早く共有してもらえるよう、関係性を築いていくことが大切です。

 

■ 同じ仲間意識を持つ

 

さらにより良いコミュニケーションを目指すためには、開発メンバーのモチベーションにつながるような意識も大切です。

 

これはオフショア開発に限らず国内でも同じ事が言えますが、発注者と受注者という関係性ではなく、一緒に開発しているという意識で、コミュニケーションをとればやらされ感はなくなり、必然的に結果も良い方へと向かうでしょう。

 

3-3. 適切な開発プロセスを導入する

オフショア開発の目的によって、開発プロセスも異なってきます。

 

■ 契約方式

 

オフショア開発の契約方式は、「準委任契約」と「請負契約」の大きく2種類あります。準委任契約は、人員を確保して社員に近い形で開発を進めていきます。また請負契約は、開発を依頼して納品してもらう契約です。

 

エンジニアの人材不足、そもそもITに詳しい人がいないなど、企業が抱えている課題はさまざまです。どのような課題を解決したいかに合わせて最適な契約方式を検討しましょう。

 

■ 開発方式

 

開発方式には、「ウォーターフォール開発」と「アジャイル開発」の2つの方式があります。ウォーターフォール開発は、設計から運用まで一連の工程を、それぞれの工程でテスト確認をしながら進めていく方式です。要件定義が変わることのない、大規模プロジェクトに適しています。

 

アジャイル方式は、ウォーターフォール開発よりもより小単位の工程で進め、開発側とコミュニケーションを取りながら、軌道修正などもしやすい開発方式です。開発の規模によっても、適切な開発プロセスは異なります。

 

3-4. 品質管理体制の強化

オフショア開発での品質管理するべき項目をご紹介します。

 

■ 仕様書の内容把握

 

仕様書の内容について、発注側と開発者側で認識のずれがないか、確認しながら開発を進める必要があります。複数のエンジニアが関わるプロジェクトでは、伝達ミスなどの可能性もあります。全員に正しい理解を持ってもらうために、都度確認するようにします。

 

■ 動作テスト

 

なるべく細かなタイミングで動作テストをおこない、バグを早めに検出することが大切です。オフショア開発では成果物が正常動作しないといった事例もあります。

 

納品されてからバグの検証には相当な時間がかかり、修正も困難になります。動作テストを細かく行っていくことで、バグに早めに気づき、改善も比較的容易に行えるようになります。

 

■ スケジュール管理

 

オフショア開発のスケジュールは、余裕をもった納期にしておき、なるべく前倒しすることを目標に進めていくようにします。仕様書の翻訳や定期的な打ち合わせ、動作テストなど、国内で開発するケースよりも工数がかかるからです。

 

3-5. 開発仕様を明確に提示する

オフショア開発では、国内での開発よりも開発仕様を明確に提示する必要があります。

 

■ 開発仕様の役割

 

オフショア開発では、まずは何を目的としてどのようなものを実現したいのかを明確にすることが大切です。開発仕様が定まっていないと、納期管理やコスト管理が行えません。ブレのないようにゴールを目指すには、開発前に自社内で明確な仕様書を作っておくことが大切です。

 

■ 曖昧な表現は避ける

 

オフショア開発では、曖昧な指示や要求は、品質低下につながる要因です。仕様書に記載がなければ、対応してもらえないことや個人の判断で処理される可能性があります。そのため、細かく指示を出していく必要があるのです。

 

■ 伝わりやすいように工夫する

 

開発仕様を明確にしてイメージをしっかりと伝えるためには、開発者側に伝わりやすいかがポイントです。

 

イメージだけだと人によって受け取り方は異なります。また海外だとその差は大きくなるでしょう。そのため、図面を入れる、数値化するなど、伝わりやすさを工夫しましょう。

 

開発仕様を明確に提示することは、時間もかかり大変な作業です。しかし、開発者側に認識の不一致が生まれないようにすることが大切です。

 

■ 途中で仕様変更するには余分な工数がかかる

 

開発仕様は、初期段階で明確化しておく必要があります。開発仕様を明確にする作業は、国内開発よりも慎重に進めなければならず、手間のかかる作業です。

 

仕様書に変更がある場合には、翻訳作業や変更についてエンジニアが理解しているかの理解度を確認する作業も必要になり、容易に変更することは難しくなります。開発途中で仕様の修正が発生しないことが、品質低下を防ぐ対策につながります。

 

4. オフショア開発の品質を保つための進め方

オフショア開発を進める手順を誤ると、納期やコストを含め品質に大きく影響を及ぼします。検討段階から着手、確認までの一連の流れです。

 

1. 開発目的を明確化し、ゴールがぶれないようにする

2. 要件定義は開発者任せにせず、自社で行う

3. 見積りを数社取り、比較検討する

4. 契約内容の確認

5. 細かい仕様書の作成と担当者との共有の強化

6. 定例会を行い進捗管理を徹底する

7. 担当者との動作テスト

8. システムリリース

 

システム開発の目的を明確にして、要件定義の詳細について自社で取りまとめておきます。ゴールをあらかじめ設定しておかなければ、成果物の品質に影響します。

 

見積先から見積書を提示してもらい、契約に至るまでの間に、レスポンスが遅くないか、明確な回答が得られるかなどコミュニケーションに問題ないか探ります。開発が進めば、担当者とのコミュニケーションを綿密に図り、定期的な進捗管理を行うことで、大きな失敗を防いで品質を保持しながら進めていけます。

 

5. まとめ

日本と海外とでは言葉も文化も異なるため、開発を進めるにあたってすれ違いが起こるのは当然なことです。そのすれ違いが品質の低下という結果につながります。ポイントを抑えて対策をとることで、すれ違いを最小限にとどめ、求めていた品質が実現できるようになります。

 

コミュニケーションを綿密にとったり仕様書を工夫したりすることは、手間となり回り道をしているように感じるかもしれません。しかしその手間を惜しまずに対策することで、オフショア開発での成果物の品質は保たれ、結果的にコストカットなどのメリットも享受できるでしょう。

 

「オルグローラボ」では、ベトナムのオフショア開発事業をサポートしています。オルグローラボを利用すれば、業務スタートまでのプロセスを省略でき、納品後の保守運用までサポートしています。特にベトナムは上述したとおり、低価格で高品質な業務を依頼でき、国民性も良いのでおすすめです。