こんにちは、サンタくん(@santa-kun)です。
みなさんはオフショア開発にたずさわったことありますか?
うん、ないですよねw
僕はSIer時代にオフショア開発プロジェクトに数回参画したことがあり、
いずれも中国の会社と仕事をさせてもらいました。
そこでの経験をご紹介したいと思いますので、これからオフショア開発に携わることになるエンジニアのみなさんに少しでも参考になればうれしいです!
オフショア開発ってなに?
一言でいうと、システム開発業務を海外に委託すること、
なのですが、
外国の人件費の安い人材を活用することで、
生産性を向上させるといった
コストメリットが抜群にございます。
以前は中国が多かったですが、ご存じのとおり、現在は世界でもトップレベルの経済大国となっておりますので、
それにつれ、人件費も高くなってきています。
そのため、ベトナムやミャンマーでの開発も増えてきています。
開発体制は?
お客さんー自社ーオフショア会社
といった形で自社が間に挟まる形でプロジェクトを進めていきます。
自社エンジニアはブリッジSEと言われたりします。
ブリッジSEというとなんかかっこいいですが、
お客さんとオフショア会社の間に挟まれる大変なポジションですw
開発の流れ
お客さんとの要件定義は日本側で対応します。
その上で、簡単なものであれば、基本設計からお願いしていましたが、
ある程度規模のあるものや複雑な開発であれば、
日本側で基本設計をし、実装からオフショアで対応してもらっていました。
場合によっては、中国から日本に来てもらい、一緒に要件定義を進めることで、
基本設計以降の生産性をあげるといった取り組みもありました。
どんなメリットがある?
お客さんへのアピールポイントとしては
主には3つあるかと。
・安い人件費で開発ができる
・自社が間に入ることで品質を担保する
・セキュリティも厳しく管理できる
Sier側からすると、オフショア開発もできますよっていう提案ができることが
他企業との差別化するうえでも重要になります。
さらに、オフショア開発の実績があると、お客さんへのアピールポイントにもなるんですよね。
それぞれのメリットをもう少し説明します。
オフショア開発することにより、安く開発できる
なんといってもコストメリット高いです。
僕の知っている範囲では、日本のエンジニアだと、安くても60万〜/月ですが、
オフショアだと30数万/月くらいの単価でしたので、約半分になります。
自社が間に入ることで品質面を担保する
お客さん側からすると人件費安いけどほんとに品質大丈夫なの?
と不安に思われますが、
そこは我々が間に入ることで品質担保するので、大丈夫だぜ!
っていうことで(無理やり)受注します。
基本的にやりとりするメンバーは日本語ができます。
セキュリティも厳しく管理できる
お客さんからすると自社の大切な情報を扱う可能性があるので、セキュリティ面を非常に気にします。
本番データは扱わないようにすることはもちろんですが、
僕が携わったプロジェクトでは、
・作業部屋には、物は持ち込ませない
・監視カメラを部屋に設置
・定期的にお客さんと訪問する
・シンクライアント端末を利用する
といったことをしていました。
シンクライアント端末とは、開発サーバにアクセスし、開発サーバ上で作業を行う用の端末で、PC自体には、ソフトは最小限のものしかインストールされておらず、情報の流出などを防ぐものになります。インターネットにも接続できませんでした。
どんなデメリットがある?
結局お客さんが求める品質は高いですので、
間に挟まれる我々ブリッジSEの負担が大きくなることです。
オフショアメンバの作業は早い!とにかく早かったです。
しかし、その反面、影響調査が甘く、言われたことだけやることも多かったため、抜け漏れも・・・
もちろん、この人優秀!!って人いるんですよ。
しかし、そういった人はすぐ転職していきます。
引き継ぎはしてくれていますが、
ノウハウは溜まっていかず・・・
日本側の負担が大きくなっていきました。
まとめ
オフショア開発はお客さんや、自社にとっては、メリットがあると思います。
ビジネス的には、OKなんですが、担当者として参画する身としては、
もうやりたくないなーというのが本音です。
文化の違いもありますけど、急ぎ対応が必要なのに、定時になると帰っちゃう人もいたり。
まぁ、他国の人と仕事するっていうのは、考え方の違いなど文化の違いもあったり、すごく勉強にはありました。