前の会社では、全社のオフショア開発プロジェクトの支援を行っていたことがあります。
そのとき、ベトナムで新しいオフショア開発の委託先の選定を行いました。
それまでベトナムの委託先は1社しかなかったのですが、ベトナムオフショア開発の拡大のため、委託先を増やそうとするものでした。

会社の事前選定

システム開発を行っている会社のホームページを調べ、日本向けオフショア開発を行っている会社をピックアップしました。そこにメールを送り、返事があった会社を実際に訪問しました。ハノイとホーチミンで合計10社を訪ねました。

驚いたのは、日本向けオフショアをやっているとホームページに書かれているにも関わらず、日本語でやり取りできる会社が少なかったことです。会議のためにわざわざフリーランスの通訳を雇っていたり、すべて英語でコミュニケーションを行う会社が半数以上でした。

結局、日本語で会話できた3社を候補としました。本当はもっと突っ込んだ内容で判断したかったのですが、止むを得ません。

仮想プロジェクトによる評価

つぎに実際に開発を行ってもらって評価しました。
実際にはない仮想プロジェクトで、3社にまったく同じ内容で作業してもらいました。7画面のWebシステムで、プログラム言語はJava、Struts、spring、Hibernateなどのフレームワークをカスタマイズして適用しています。また、開発規約は細かく規定されているなど、規模の割に制約の多いプロジェクトです。
単に動くものを作るというだけでなく、ルールを守りながら作業を進める力があるかを重要な評価基準としていました。

実際に作業が開始されると、直ぐに違いが出てきました。
まず、質問の件数や内容が違うのです。1社はほとんど質問がなかったのですが、他の会社からは質問がたくさん出てきました。
実は渡している仕様書には、いくつかの間違えや曖昧な記述を入れていたので、質問がない方がおかしいのです。

また進捗報告も、質問を出してきた2社は期限に遅れず内容も問題ないのですが、質問がなかった会社は期限に遅れる上、内容も誤りが目立ちます。完成したシステムの不良件数も、2社が基準値以内だったのに対して、質問がなかった会社は基準値の3倍超でした。

結局、2社を新しいオフショア開発の委託先として採用し、1社は不採用としました。

評価を終えて感じたこと

不採用として会社は、日本の有名国立大学の留学生たちが立ち上げた会社で、経営者の日本語力は群を抜いていました。そのため、事前段階では最も良い印象を持っていました。
多分、実際の開発を行ってもらわずに決めていれば、その会社を採用していたと思います。

同じ内容を複数の会社に発注して比較するというような贅沢なことは、普通できないと思います。
しかし、プロジェクトを小分けにして、複数の会社に発注すれば、管理のためのオーバーヘッドは増えますが、それほど費用は掛からないと思います。

オフショア開発を始めるときには、メインの委託先を決める前に、複数の会社に実際に発注してその結果を評価することをお勧めします。