外人と英語でシステム要件定義かなり大変そう
英語力に自信ないし、どうすればうまく進められるの?
といった、悩みに答えます。
この記事では、経験談に基づいて、システムエンジニア・社内SEがとるべき『英語でシステム要件定義』を失敗しない為に初めにやるべきことを解説します。
ここで解説する情報は、どのサイトでも語られていない事実です。是非、あなたのプロジェクトに取り入れ要件定義を成功に導いてください。
この記事はこんな人に向けて書いています。
・英語で初めてシステム要件定義を海外の方としなければいけない、システムエンジニアや社内SEの方
・外人の方も初顔合わせくらいであまり知り合いではない人とプロジェクトをしなければいけない人
今回の記事の内容を知らない場合、だいたい要件定義フェーズ中盤で絶望します。
グローバルでのシステム開発にも従事し13か国以上の国にシステム導入した実績もあるので、その経験に基づいた、外人とシステム開発・特に、この記事では上流のシステム要件定義時に気を付ける事や、うまく進めるコツを紹介します。
✅合わせておすすめ
システムエンジニアの方がブックマークですぐに使える英語集
英語でシステム要件定義で英語力以上に必要な事とは?
通常のシステム要件定義でも、不具合発生する場合があります。そんな不具合のほとんどすべての原因はコミニケーションのミスです。
コミニケーションミス例
・ユーザーはこう要望していると思ってた
・システムエンジニアに伝わっていたと思っていた
・プログラマーさんは仕様を勝手に解釈した
等々、すべてがコミニケーションギャップを軸に発生します。
これが、英語でのシステム要件定義になると更にハードルは上がります。
なぜならば、そもそも、日本人の場合英語は学校では習うものの使う機会はほぼ皆無だからです。
英語スキルはすぐには、上達はしません。ですので、そんな中でも失敗を未然に防ぎプロジェクトを推進する必要があります。
その為に実施すべきことが以下です。
プロジェクトで使う、英単語の意味の認識合わせを実施する事
これが非常に重要です。以下詳しく解説します。
システム開発のバグはコミニケーションミスで発生する
私の大先輩の受け売りですが、システム開発の神髄です。
よって、通常よりコミニケーションコストの発生する、英語のプロジェクトでは更に難易度があがります。
この難易度を下げ、リスクを減らすには何をしなければいけないか?がポイントです。
英語でシステム要件定義にまず必要な「英単語の意味合わせ」とは?
英単語の意味なんて決まってるのに、英単語の意味合わせが必要ってどういう意味?
英単語の定義自体は、もちろん決まっています。
しかし、日本人と外人は、同じ言葉での全く違う印象を受ける場合があります。
この『ある英単語で話しているのに、日本人と外人で全く違う解釈をしていた』がプロジェクト失敗の大きな落とし穴になります。
以下2つの例でご紹介します。
・ 日本人とオーストラリア人で違った、System Requirementの意味
・日本人とドイツ人で異なるDatabaseの定義
①日本人とオーストラリア人で異なる【System Requirementとは?】
日本語でもベンダーさんとのすり合わせで非常に重要になるので英語でも同じですね。
日本人は、システムの工程を定義する際に、
・要件定義=system requirement
・基本設計=basic design
と定義しているつもりになっていました。
しかし、当時オーストラリアからきたチームは、
・要件定義=System requirement?ground design?
・基本設計=ground design?basic design?
と定義していました。
結局は、ground designで何を定義するか?を掘り下げそのプロジェクトでは、
・要件定義=system requirement
・基本設計=basic design
を定義しました。
②日本人とドイツ人でずれていた「database 」 の定義
あるプロジェクトでドイツ人と仕事をした際に、databaseの定義で日本とドイツで食い違ってどうも話が進まない苦い経験をしたことがあります。
・日本人:database をデータベースのシステム構造と考えていた
・ドイツの担当者:database=マスター構造ER図のようなものを考えていた
結果、databaseの議論をしたいのにお互い話がまったく噛み合わない
とどのつまり、日本人チームはSQLやORACLEのようなデータベース の種類をデータベースと呼んでおり、そのドイツ人はデータベースと言われたら中身ではなくストラクチャーだと認識しずれていました。
ドイツから日本に出張に来ていただき限られた時間だったので当時は笑いごとではなかったです。。。
そのプロジェクトでは、
・ER設計はdatabase designと定義し
・データベース構成設計は、database architecture designと再定義しました
無事に、認識合わせを実施し進める事が出来ました。
多国籍チームでプロジェクトを推進する際には、簡単にこのような認識齟齬が発生します。
慣れ親しんだメンバーで構成されないプロジェクトチームの場合、まずは言葉の定義合わせから実施する必要があります。
他にも、よくある、定義が必要な項目たちに、
どこまでが基本設計?で、どこからが詳細設計なのか?
システムテストのエントリークライテリアは?イグジットクライテリアは?
障害のプライオリティのつけ方は?
等々、ついつい同じと思い込んでしまう傾向があるので意識して進めるべきです。
外人と仕事する上で知っておくべき違いグローバル化とは?
具体的・概念的に抑えておくべき外人とのシステム要件定義は以下です。
具体的:プロジェクト開始前に言葉の定義合わせを実施する
概念的:外人は日本人の当たり前が通じない、理解が必要 ←重要
上記の「 概念的:外人は日本人の当たり前が通じない理解が必要」を掘り下げて解説していきます。
思い込みを排除し、違い・異文化を受け止める理解力が必要
具体的なシステム開発を失敗しない方法をご紹介しました。
それ以上に重要な事が、日本人のグローバル化です。
グローバル化するとは?
・外人の違いを理解し受入る必要がある
・その違いを認め、違いをそのまま受け止める
日本では外見的にも、宗教的にも、様々な面で共通です。しかし、海外では姿・形だけではなく、考え方・宗教等で様々です。
この違いがある前提で、外人とプロジェクトを推進する・しないでプロジェクト各所での気配りがかわります。
外人と英語でプロジェクトを推進する際には、
本質的なグローバルな視点・考え方が足りないかも?という視点と気配りが重要です。
英語でシステム要件定義を進める為のチェックリスト
ここまでグローバルで外人と仕事を進める上でまず初めに何を知るべきか?をご紹介しました。
まとめると、
1.コミニケーションミス回避の為に、言葉合わせをする
2.(日本人のプロジェクトでもそうですが)チームメンバーを知る
特に、外人なので違いを受け止める、が、重要です=グローバル化
3.通常のプロジェクトと以降の工程は同じです
英語でシステム要件定義で、英語力以上に大事な事まとめ
システム要件定義を外人と始める前に知るべき重要なポイントは、日本人のグローバル化不足の理解です。外人は外見だけではなく、考え方も様々で違うんだ!という事の理解が必要です。この前提で、プロジェクトの各所で配慮した確認が必要です。システム要件定義では、通常の要件定義開始準備にプラスして言葉の定義合わせでプロジェクトをスムーズに開始できます。