オフショア開発、というか、ビジネスの勘所(課題)は三つだと思っています。
(1)コミュニケーション
(2)営業
(3)プロジェクト管理
この三つが「核心」だと思っています。逆に言えば、これを超えたら、目標を達成出来ると思います。
今回はコミュニケーションについて。
オフショア、オンサイトに限らず、システムを作る場合には、ユーザとのコミュニケーションがプロジェクトの成否を分けます。オンサイトにしても、ユーザのニーズをしっかりと吸い取れない場合は、失敗すると思います。残念ながら、システムの仕様書というのは、あくまでも仕様書であって、コミュニケーションを取るという観点から考えると不十分な気がします。
システムというのは、ツールであって、それ自体が目的ではありません。多くのケースでビジネスユースになってくるわけです。しかし、ビジネス経験が少ないエンジニアがプロジェクトマネージメントを行う場合、システムの構築そのものが目的になりがちです。そうすると、ユーザ不在、ビジネス不在のシステムが出来上がります。
ターゲットとなるシステムが、一体、何の為に作られているのか?システムが如何にして、お金を生むような仕組みになっているのか?この辺りをよく知って作らなくては、本当の意味でよいシステムというものは作れません。その為には、クライアントのビジネスの理解とそれを開発者に伝える必要があります。つまり、コミュニケーションスキルが非常に重要なファクターになります。このコミュニケーションスキルというのは、中々身につくものではありません。少なくとも、私が出会ったエンジニアの中では数える程しか、満足のいくコミュニケーションスキルを持った人はいませんでした。
システム開発で失敗する一つのケースとして、コミュニケーション能力の欠落からエンドユーザとの認識のずれを生み、様々な意味での「考えていたものと違った」アウトプットが生成される事があると思います。
また、オフショアという事だけで考えていくと、オンサイトと比べて、face to faceのコミュニケーションを取れないという事が問題をさらに難しくしています。極端な話、多少レベルが低くても、face to faceなら「ごまかせる」事はあります。オフショアの場合、電話やメールでのコミュニケーションが主となり、高いコミュニケーションスキルを持った人が要求仕様の確定にあたらないといけないと思います。なぜか?
経験をベースに推し量っていく作業を行わなくてはいけないからです
会話や、情報の交換という意味で、便利なツールはいくらでもあります。ただし、本当の意味でのコミュニケーションというのは、どういう形態でコミュニケーションを取るかが重要なのではなく、相手の意図を推察する、相手に背景まで含めて正確に情報を伝達する等と言った高度なやり取りだと思います。これは資質だけの問題ではなくて、方法論によっても解決できる問題だと思っています。
face to faceが必要だという事でテレビ会議システムを導入し、多少の助けになったとしても、コミュニケーションの本質が分からなくては、結果は同じです。逆に言えば、メールだけでも本質を理解していれば、十分にコミュニケーションは取れます。発信者側にとって重要なのは正確な表記、受信者側にとっては文章の正確な理解、これが出来れば、特にface to faceにこだわる必要はありません。実際に、それで開発出来ているケースもあります。
身近なところで、過去の失敗例を出させて頂くと、プロジェクトの後半で、私の部下とクライアントの間で仕様書にずれがある事に気づいた事がありました(些細なレベルでしたが…)。クライアントから明確な指示が過去に無かった為、仕様書に不足があったのです。単なるヒアリング不足と言えば、そこまでなんですが、問題の本質は以下二つです。
[問題1]仕様説明不足、確認不足
[問題2]クライアントのビジネスを理解していなかった
ずれというのは非常に些細なものでしたが、クライアントのビジネスを理解する努力をしていれば、恐らく、この仕様がおかしい事に気づいていたと思います。確認作業というのは、クライアントがエンドユーザであればある程、困難で、見落としがちになります。なんと言っても、エンドユーザはシステムのプロではないので、確認プロセスに失敗するのは、システムのプロである開発者側の善管義務違反である可能性もあります。
開発者側が積極的に、クライアントのビジネスを理解し、システムの最終利用をイメージしながら作っていく事がバリューなんだと思います。
閑話休題。多くのSEを見てきましたが、SEになるまでのキャリアパスを少し工夫した方がいいと思っています。通常、プログラマー、プログラムリーダ、システムエンジニアになると思いますが、システムエンジニアになる前に、一旦、営業職をやった方がいいと思います。自分達の開発がビジネスの一部である事を理解する為には、それが一番の近道です。
弊社では日本のビジネスを理解しているエンジニアの育成を最大の課題としています。弊社のようなオフショア開発の会社に対するクライアントの最大の期待はコストダウンだと思っています。そこを達成する為には、クライアントとのコミュニケーションを円滑に進める事。これがもっとも重要だと思っていますので、弊社のクライアント対応のエンジニアのレベルアップと、クライアント側のほんの少しの認識の変化によるご協力を頂きたいと思います。
システム開発・クリエイティブ制作に関するお問い合わせはここをクリックしてください。
日本の50%オフで提供中!!