オフショア開発は、海外(外国人)に発注するから難しいのではなく、他人に発注するから難しい――。新シリーズでは、「オフショア開発とコミュニケーション問題」を取り上げる。今回は、文化の違いによる“ドキュメント記述の曖昧(あいまい)さ”について解説する。
ソフトウェア開発で、最も人件費が高い国はアメリカと日本です。生産性の改善には限度がある、というより、この40年間で生産性はほとんど上がっていません。そのため、ソフトウェア工学による生産性向上策に絶望した企業が、“特効薬”として飛びつくのが、インドや中国をはじめとした海外に発注する「オフショア開発」です。
オフショア開発の成否を分ける最大のポイントは何か。それは、異文化コミュニケーションの問題を解決することにあります。そこで、本シリーズでは「オフショア開発とコミュニケーション問題」を取り上げます。
オフショア開発を経験した人が必ず感じるのは、“コミュニケーションの難しさ”です。取引先が外国人の場合、なかなか自国の開発プロセスを完全に理解してもらえません。言ってみれば、隣の家の住人や、結婚相手の家族との関係みたいなものでしょう。
前回お届けしたシリーズ第1回(連載第54回)では、日本と外国との“文化の違い”を“数値”で把握しました。シリーズ第2回となる今回は、文化の違いによる“ドキュメント記述の曖昧(あいまい)さ”について解説します。
「オフショア開発とご近所付き合い」シリーズ: | |
---|---|
⇒ | 第1回:日本と外国との“文化の違い”を“数値”で把握 |
オフショア開発の先駆け本である『オフショアリング完全ガイド―ソフトウエア開発([著]S‐openオフショア開発研究会:2004年 日経BP社)』によると、日本企業が感じるオフショア開発の問題点として、およそ13%の企業が「仕様伝達や変更が困難」を挙げています。ただ、その一方で、受注する海外企業の約29%が「日本側の仕様確定・変更が大きな問題である」と感じています。
この問題の主な原因は、「ドキュメントの表現が曖昧」「仕様が不明確なまま開発を開始する」などに起因します。今回は、日本側が書いた仕様書が曖昧になる原因を取り上げます。
読者の皆さんの中には、海外発注するソフトウェアの仕様書をどこまで厳密に書くべきかで悩んでいる方も多いのではないでしょうか? 日本側からよく聞く話として、「外国人エンジニアは仕様書の行間を読んでくれない」という問題があります。外国人プログラマーは、良くも悪くも日本人が書いた仕様書を文字通りそのまま忠実に実装しようとします。そのため、日本人が見落とした異常ケースをそのまま作り込んだりします。
そんなとき、「外国人エンジニアは仕様書の行間を読んでくれない!」とか、「向こうが作った成果物はバグだらけ。本当に使えないなぁ」などと、人のせいにしてはいけません。もちろん、相手が悪い場合もあるでしょうが、本当に日本側に落ち度がなかったのか、きちんと検証する必要があります。
なぜ、外国人エンジニアは仕様書の行間を読んでくれないのでしょうか? あるいは、読めないのでしょうか? “行間”とは、文脈(コンテクスト)や背景、前後関係のことです。文脈の解釈には、その国独自の文化背景と密接に関係します。日本、アラブ諸国、フランス、イタリア、ギリシャ、南米諸国などは、“高文脈文化”といわれています。中でも、日本は、高文脈文化のトップランナーだそうです。一方、イギリス、アメリカ、オーストラリアなどの英語圏、ドイツ、ノルウェーなどの国は“低文脈文化”だといわれています。
高文脈文化の言語は、文化を背景にして会話が成り立っていて、全てを言葉にしなくても通じる文化です。この最たる国が日本でしょう。一方、低文脈文化の言語、例えば、英語には、文中に全ての情報が入っているので、その文化に初めて触れても、「阿吽(あうん)の呼吸」や行間を読まなくても、相手を理解できます。
日本では、「目を見れば分かる」「阿吽の呼吸」など、一種の精神性に依存することが普通で、細かく説明すると、「やぼったい」とか、「あいつは子どもだ」とか、「空気が読めない」などと言われてしまいます。“目を見れば分かり合える文化”、例えば日本語では、主語がなくても何の支障もなく会話が続きます。まれに誤解を生じることもあるでしょうが、特に不便も感じず、私たち日本人は「主語なし会話」で生活しています。
アメリカ人からしてみれば、テレパシーや特殊能力に思えるかもしれません。アメリカは多民族国家ですから、低文脈文化は、人々のミス・コミュニケーションを避けることに役立ちます。アメリカ人の目から見ると、文字になっていない言葉、言葉として発せられていない情報が飛び交う日本はものすごく理解しにくく、ミステリアスな国なのでしょう。
以下で、低文脈文化と高文脈文化をもう少し掘り下げてみます。
(1)高文脈文化の言語
日本語など、伝えるべき情報の多くは社会的な文脈の中にあるため、コミュニケーションしている人々の間で、ある程度、情報を共有しています。つまり、言葉で表すこと以外に人々が共有しているものが多い社会のことです。日本語の場合、話の流れや背景により、伝える部分が非常に多い言語といわれています。
(2)低文脈文化の言語
英語では、伝達する情報は、全て言葉によるメッセージの中に含まれています。低文脈文化の人々は、文脈の解釈があまり得意でありません。文章中に全ての情報が入っているため、行間を読む必要がないのです。
以上から、日本語は、極めて抽象度が高い言語であることが分かります。日本語の曖昧な表現として、具体的に以下の2つがあります。
i.主語がない場合が多い
日本語は高文脈文化を持っているため、主語を明示的に使わなくても、相手に意図を伝えることができます。主語を使用しなくても、相手に察してもらえる文化背景があるためです。また、例えば、「何を食べる?」「ボクはスパゲッティ」のように、主語が曖昧な場合もあります(「ボクはスパゲッティ」を文字通り解釈するなら、英語では「I am spaghetti.」となるはずです)。
ii.単数・複数の概念がない
日本語には、単数と複数の概念がありません。「山々」や、「国々」など、英語の複数に近い表現もありますが、基本的に日本語は単数と複数を区別しません。日本人が英語の勉強を始めて、最初に戸惑うのがこれでしょう。
以上の理由から、日本人向けに書いた要求仕様をそのまま外国人に見せると、相手にこちらの意図が全く伝わらない可能性があります。曖昧性を排除しようとして、日本人が無理やり英語で仕様書を書いても、日本語感覚で記述する限り、何も変わりません。日本の企業なのに「社内の公用語」を英語にするところもあって、話題になったようですが、日本語感覚で英語を読み書きする限り、「英語流の思考」は身に付きません。日本語を外国語に訳す、あるいは逆に、外国語から日本語に訳すためには、母国語と同レベルの知識の理解が必要になるのです。
Copyright © ITmedia, Inc. All Rights Reserved.