見出し画像

日本人エンジニアが海外案件で挑戦するために押さえておきたい4つの違い

はじめに

海外エンジニアメンバーと一緒に仕事をすることは、グローバルな視点を持ちながら開発を進めるための素晴らしい機会です。しかしながら、異なる文化やコミュニケーションスタイルによる齟齬が生じる可能性もあります。この記事では、海外エンジニアメンバーとの仕事を円滑に進めるために注意すべきポイントについて整理してみたいと思います。

詰めれば他の視点や観点があるかと思いますが、大きく分けて僕の経験からすると以下の4つを理解して適切な行動をとることが大事じゃないかと思います。

  • 業務遂行の文化的な違い

  • コミュニケーションの解像度の違い

  • コンテキストの理解の仕方の違い

  • リモートならではの時差の存在

業務遂行の文化的な違い

異なる国や地域には、異なる業務遂行の文化が存在します。たとえば、納期や優先順位に対する考え方、コミュニケーションのスタイルなどが異なる場合があります。これらの文化的な違いに理解を持ち、互いの期待やスケジュールに合わせることが重要です。定期的なミーティングやコミュニケーションチャンネルの活用により、異なる文化に対する理解を深めることができます。ただ海外人材が皆こうだとか日本人材が皆こうだと主張するつもりはなく、結婚と同様、文化を異にするメンバーが密な時間を共有して一定の目行に向かって進む場合には大なり小なり違いは存在するものです。

例えば、納期を例に比較してみます。日本人が考える納期は、非常に重要な意味合いを持っています。一般的に、納期は約束や期待の実現を意味し、時間に対する約束を守ることが求められます。あるプロジェクトで日本人が納期を設定する場合、そのプロジェクトの進捗状況や目標に基づいて、タスクの完了予定日を決めることが一般的です。この納期は、関係者にとっての重要なマイルストーンであり、その日までにタスクが完了することが期待されます。また、他の関係者やプロジェクト全体のスケジュールにも影響を与える場合があります。

日本人は、約束を守ることやタスクの完了を期待された日に間に合わせることを重視します。そのため、プロジェクトの進捗状況や予定の変更がある場合には、早めに関係者に報告し、調整を行うことが重要です。締め切りを守ることは、日本のビジネス文化において非常に重要な要素です。予定通りにタスクを完了させることは、信頼性やプロフェッショナリズムを示す手段とされています。

以上が、納期という言葉の一般的な意味合いと、日本人が考える納期の具体的な例です。

僕自身が、納期の理解が異なることで海外エンジニアとの開発がうまくいかなかったケースの一つは、休暇前後の開発スピードがあります。日本では、プロジェクトの進捗やスケジュールを優先する傾向がありますが、他の国や文化では休暇や休日を重視することがあります。例えば、日本の祝日や年末年始などの休暇期間には、海外エンジニアメンバーが休暇を取ることがあります。これにより、開発スピードが遅れたり、タスクの進捗が停滞したりすることがあります。

また、個人的な理由から休暇を取得するメンバーがいる場合もあります。異なる国や地域では、家族のイベントや文化的な行事などが重要視されることがあります。これにより、開発チームの一部が休暇を取得することがあります。個人的な理由から休暇を取得することは理解されるべきですが、これにより開発スケジュールに影響が出ることがあります。

最初は「納期はDeadlineであって文字通りDeadなLineじゃないの?」って感がてましたし今でも基本そういう理解しています。一方、無理な締切やスコープを切ってしますプロジェクトマネージャーや営業担当がいると結構バチバチ議論してたものです。

開発遅延が発生していても問題なく個人的な理由から休暇を取得するメンバーがいる場合、以下の点に注意する必要があります。

  1. コミュニケーションと透明性: 遅延が発生した場合、関係者に早めに報告し、状況を共有することが重要です。遅延の理由や見積もりの再評価を共有し、チーム全体で対応策を協力して検討しましょう。

  2. スケジュールの調整: 個人的な理由から休暇を取得するメンバーがいる場合、スケジュールの調整が必要です。他のメンバーとのコミュニケーションを通じて、休暇期間中のタスクの再配分や優先順位の再評価を行いましょう。

  3. チームの協力: 個人的な理由から休暇を取得するメンバーとの協力が重要です。他のメンバーが休暇を取得する際には、予め計画を立ててタスクの引き継ぎやサポートを行いましょう。また、休暇期間中には他のメンバーが補完的な役割を果たすことも検討しましょう。

  4. フレキシブルな働き方: グローバルなチームで働く場合、個人的な理由から休暇を取得することは避けられない場合があります。フレキシブルな働き方やリモートワーキングの活用により、メンバーの個人的なニーズに合わせた柔軟なスケジュール管理を行いましょう。 

コミュニケーションの解像度の違い

海外エンジニアメンバーとのコミュニケーションにおいては、解像度の違いが問題となることがあります。言語の違いやコミュニケーションスタイルの違いにより、情報の伝達がうまくいかないことがあります。コミュニケーションの際には、相手の理解度や疑問点を確認するために積極的に質問をすることが重要です。また、書面の文書化やビジュアルツールの活用により、より明確なコミュニケーションを心がけましょう。

要件の誤解: 言語や文化の違いにより、要件の認識にずれが生じることがあります。例えば、日本の開発チームが明確な要件を伝えたつもりでも、海外のエンジニアメンバーが異なる解釈をしてしまうことがあります。これにより、開発が進行する中で要件の不一致が明らかになり、時間とリソースの浪費が生じる可能性があります。

コードの品質: コードの品質に関しても、コミュニケーションの違いが影響を与えることがあります。例えば、日本の開発チームが一貫性や可読性を重視する一方で、海外のエンジニアメンバーが効率性や柔軟性を重視する場合、コードのスタイルやアーキテクチャに違いが生じることがあります。これにより、コードの保守性や拡張性に問題が生じる可能性があります。

コミュニケーションの不足: コミュニケーションが不足している場合、進捗や問題の共有がうまく行われないことがあります。例えば、日本の開発チームが進捗状況を報告する際には、詳細な情報や問題点を共有することが一般的です。しかし、海外のエンジニアメンバーが進捗報告を簡潔に行う場合、情報が欠落していたり、問題点が見落とされたりすることがあります。

以上が、海外エンジニアメンバーとのコミュニケーションにおける具体的な失敗例です。これらの問題を避けるためには、明確なコミュニケーションと共有の徹底が必要です。定期的なミーティングやドキュメントの共有、相互理解の努力を通じて、円滑なコミュニケーションを実現しましょう。

コンテキスト理解の仕方の違い

開発においては、コンテキストの理解が重要です。しかし、異なる文化やバックグラウンドを持つエンジニアメンバーは、コンテキストを理解する方法に違いがあるかもしれません。これにより、仕様や要件の認識にずれが生じる可能性があります。共有されたドキュメントやデモを活用し、エンジニアメンバーがより良いコンテキスト理解を持てるように努めましょう。

例えば、海外のエンジニアメンバーにとっての「確認」の意味合いは、必ずしも日本の意味合いと同じではありません。たとえば、日本のビジネス文化では、「確認」は完了や承認を意味する場合があります。一方、海外では「確認」が進捗報告や状況の共有を意味することがあります。

また、リーダーが日本の文化的な背景を持つエンジニアメンバーに対して「確認」の依頼をする場合、リーダーが「確認」を完了や承認を意味するものとして理解している一方、エンジニアメンバーが「確認」を進捗報告や状況の共有を意味するものとして理解している場合、思わぬ誤解が生じる可能性があります。

このような誤解を避けるためには、明確なコミュニケーションが重要です。リーダーは「確認」の依頼をする際に、具体的な意図や期待を明確に伝える必要があります。また、エンジニアメンバーは疑問や不明点があれば積極的に質問し、確認を行うことが重要です。

以上が、「確認」の意味合いが違うことで起きうるケースと「確認」の意味合いの違いについての説明です。コンテキストや文脈の違いによる誤解を避けるためには、コミュニケーションの明確化と相互理解の努力が求められます。

リモートチームならではの時差の違い

リモートで働く場合、海外エンジニアメンバーとの時差が生じます。これは、コミュニケーションやタスクの進捗に影響を及ぼす可能性があります。タイムゾーンの認識と尊重、適切なタスクの割り当て、オーバーラップする時間帯の活用など、時差を考慮した効果的なスケジュール管理が重要です。柔軟な働き方やコミュニケーションツールの活用により、時差を乗り越えた円滑なチームワークを築きましょう。

僕は留学後帰国した2008からずっとグローバルチームで業務を進めてきたこともあり、基本がリモートチームだったのでコロナ禍であっても生産性にそれほど変化なく過ごせていました。

リモートチームならではの問題はグローバルチームで開発してきた方々ならお馴染みかもしれません。時差を前提としたチーム開発では、作業指示から作業完了までの間に時間的ズレが生じてしまい当日確認すべきところが明日になってしまう場合や、プロジェクト管理がうまくいかず週末を挟んで翌週にならないと開発進捗確認ができない場合だったりです。

時間的ズレによる確認の遅延: 作業指示から作業完了までの間に時間的なズレが生じるため、当日確認すべきところが明日になってしまう場合があります。これにより、意思疎通や修正が遅れる可能性があります。

週末を挟んだ開発進捗の確認: 時差により、プロジェクト管理がうまくいかず週末を挟んで翌週にならないと開発進捗の確認ができない場合があります。これにより、進捗状況の把握や問題解決が遅れる可能性があります。この週末の前後や時差を活用したDailyでの事業の引き継ぎをする場合は特に要注意です。

タスクの明確化と優先順位の設定: 時差を考慮して、タスクの内容や期限を明確にしましょう。優先順位を設定し、開発チーム全体でタスクの進捗を把握することが重要です。

コミュニケーションの活性化: リモートチームでのコミュニケーションを活性化させることが重要です。コミュニケーションツールやプロジェクト管理ツールを活用し、定期的なミーティングや進捗報告を行いましょう。

タイムゾーンの認識と尊重: チームメンバーのタイムゾーンを認識し、互いの作業時間を尊重しましょう。タスクの割り当てやコミュニケーションのタイミングを調整することで、円滑なチームワークを実現できます。

フレキシブルな働き方の促進: 時差を考慮したフレキシブルな働き方を促進しましょう。リモートワーキングや柔軟な労働時間の設定により、開発チームメンバーが自身のベストな働き方を実現できます。

Conclusion

海外エンジニアメンバーとの開発を進める際には、業務遂行の文化的な違い、コミュニケーションの解像度の違い、コンテキスト理解方法の違い、リモートチームならではの時差の違いに注意する必要があります。これらのポイントに配慮し、効果的なコミュニケーションと協力を心がけることで、円滑な開発プロセスを実現することができるでしょう。


datag社では、世界10カ国以上のメンバーがチーム毎に設定されたチーム合意書に従って日々自社開発およびオフショア開発を行っています。より効果的な開発手法であったり、海外エンジニアを活用した開発チームの組織設計から採用・評価制度設計まで幅広く対応しています。ご興味あれば当社担当者までメールください。



この記事が気に入ったらサポートをしてみませんか?