はじめに
バグは直せます。しかし、認識のズレはプロジェクトを蝕みます。システム開発では、技術的な難題以上に「伝わったはず」が招く誤解のほうが厄介なことがあります。
私はこれまで中国やベトナムのパートナーと数多くのオフショア開発案件を進めてきました。その中で遭遇した、ほんの小さなコミュニケーションの行き違い。些細な出来事でしたが、振り返ってみるとオフショア開発の本質的な難しさを映し出していました。そのエピソードを紹介します。
オフショア開発とは
オフショア開発とは、システム開発を中国や東南アジア、インドなど海外の開発会社へ委託する開発手法です。offshoreという言葉を分解すると、海岸(shore)から離れた(off)状態を指し、沖合や海上という意味になります。offshore rigは海上石油掘削基地です。そこから派生して金融やITの世界では海外の意味で使われるようになりました。
オフショア開発の主な目的の一つにコスト削減があります。物価や人件費が日本より比較的安い国に依頼することで、開発コストを大きく削減できます。とはいえ、近年は事情が変わりつつあります。海外のIT市場は急速に成長しており、エンジニアの給与水準も上昇しています。以前のような圧倒的な低コストは期待しづらくなりました。
そのため現在では以下の目的で活用されるケースが増えています。
- 国内のエンジニア不足を補う
- 開発リソースを確保する
- 開発スピードを向上させる
オフショア開発の最大のネックは、言語や文化・商習慣の違いです。オフショア側はコミュニケータをアサインし、日本側とのやり取りを翻訳・通訳します。日本側は、現地言語を全く知らなくてもプロジェクトを進められる仕組みです。しかし、そこに安住すると落とし穴にはまることもあります。
「性能劣化点を確認してください」という依頼
あるプロジェクトで追加機能の性能テストを依頼しました。
目的はシンプルです。
入力ファイルサイズを徐々に大きくし、処理性能が急激に悪化するポイント(性能劣化点)が存在しないか確認すること。
しばらくして返ってきた報告は簡潔でした。
「性能劣化点はありません」
喜ばしい結果です。しかし、報告書には違和感がありました。処理時間の計測結果が存在しないのです。性能劣化点を確認したにもかかわらず、性能データが一切ありません。
そこで私は質問しました。
「なぜ性能劣化点がないと判断したのですか?」
返ってきた回答は予想外でした。
「目視で確認しました。入力処理と出力処理で異常な現象は発生しませんでした」
同じ言葉を見て、違う世界を見ていた
話が噛み合いませんでした。こちらは処理時間を気にしています。これに対して相手は正常終了するかどうかを話しています。
なぜこんなズレが起きたのか。原因を探るため、こちらが提出した仕様書について、オフショア側で作成された翻訳資料を共有してもらいました。その内容を機械翻訳で再翻訳(逆翻訳)したところ、原因が判明しました。「性能劣化」が「機能悪化」に相当する単語に置き換わっていました。
これですべてがつながりました。
オフショア側の解釈では、「エラーは発生しない、正常終了する、機能に問題はない。だから、機能悪化は存在しない」という結論になりました。論理としては間違っていません。しかし、こちらが確認したかったことは別物でした。日本側とオフショア側は「違う問題」を議論していました。
原因が判明した後の対応はシンプルでした。性能劣化(Performance Degradation)と英語を併記し、期待する成果物(処理時間の計測数値やグラフ)を具体例として提示しました。その結果、認識のズレは解消され、処理時間を計測した性能テスト結果が提出されました。
この画像は自作キャラクター「エフティーアドニャン」を用いて生成AIで作成したアイキャッチ画像です。性能・処理時間(左側)と機能・正常終了(右側)の認識ギャップを表現しました。エフティーアドニャンはファイルの転送を見守るファイルの妖精という設定の架空のキャラクターです。
おわりに
「性能劣化」の確認依頼で認識のズレが生じた際、相手側の翻訳資料を機械翻訳で逆翻訳したことで、「性能劣化」が「機能悪化(正常終了するかどうか)」と誤訳・解釈されていた原因を特定できました。そこで「性能劣化(Performance Degradation)」と英語を併記した上で、期待する成果物(処理時間の計測数値やグラフなど)を具体例として提示し、認識のズレを解消しました。
このような問題が発生すると、「もう一度会議を開いて説明しよう」という対策を取りがちです。しかし、その発想には無意識の前提があります。「相手が間違っているので、こちらが正しい説明をする」という前提です。
今回のようなケースでは、説明より先に「なぜ相手はその結論に至ったのか」を調べることで解決できました。
相手の認識を変えようとする前に、まず相手の世界を理解する。
オフショア開発に限らず、異なる組織や専門分野との協業でも有効なアプローチです。
We Are Hiring!
