オフショア開発と聞くと、どうしても「品質が…」「言語の壁が…」というマイナスなイメージがありますが、実際こうした失敗のほとんどはしっかりと準備をすれば防げることでもあります。
「オフショアは品質が悪い」ということのほとんどの原因は準備不足にあります。
今回はオフショア開発を頼む前にやるべき準備についてお話しします。
目次
- オフショア開発のための準備1:まずは自社でプロダクトへの意識と役割、期待値を統一する
- オフショア開発のための準備2:仕様書にしっかりと落とし込む
- オフショア開発のための準備3:事前にある程度テスト要件を決めるオフショア開発をウォーターフォールのような最初に全部決めてしまってスケジュール通りにやっていく、という開発プロセスで行うことは推奨しません。
- オフショア開発のための準備4:小さな単位でレビューを行うような開発体制を作る
- オフショア開発のための準備5:キックオフにて共通イメージを持てていることを確認する
- オフショア開発のための準備6 : まとめ
- ベトナムでオフショア開発をするなら+αのサービスとメリットがあるバイタリフィへ
オフショア開発のための準備1:まずは自社でプロダクトへの意識と役割、期待値を統一する
まずはオフショア先に委託する前に、下記のことを自社で確認しましょう。これはオフショア開発の準備というより、全ての開発において重要な準備です。
・誰がどこまで責任を持ち、意思決定者が誰か
・オフショア開発先にどのようなことを期待するか
オフショア開発のための準備1-1 : 自社の中でプロダクトに対する意識
「なんのためにプロダクトを作るのか」はオフショア開発のみならず全ての開発プロセスで重要になります。
プロダクトの目的が明確にオフショア開発チームに伝わることで、オフショア開発先はこのプロダクトの目的を参照しながら開発を進めていくことができます。
目的が共有されていることで、オフショア開発チームでも開発しながら、
「この機能、目的を考えるとこっちの方が使いやすいんじゃないか?」
「これは目的に照らし合わせると不必要なのではないか?」
などの議論も活発に起こりやすくなります。
オフショア開発のための準備1-2 : 各役割の責任範囲、意思決定者が誰かを決める
オフショア開発という外部に開発チームを持つ体制で開発をする場合、特にチーム内での意思決定者が明確であることは大切です。
これもオフショア開発を頼む前にやるべきとても大切な準備となります。
オフショア開発に限った話ではありませんが、特にデザインや使い勝手の面では、発注元チーム内で人によって「良い」と思う基準が違うことにより「あの人はOKと言ったのに、こちらの人はNGと言ったので手戻りになりました」ということが発生しやすくなります。
オフショア開発を頼む前に、全ての開発プロセスにおける自社の各メンバーの責任範囲や、最終的な意思決定者を明確にしておくと、後々決定が覆されて開発期間が伸びてしまうというようなことが防げます。
オフショア開発のための準備1-3 : オフショア開発先にどのようなことを期待するか
オフショア開発先へ発注をする前に、オフショア開発に何を一番求めているかもチーム内で認識を合わせておくのも準備として大事なことです。
人によって「オフショア開発」へのイメージは違います。
とにかくコストが安ければいいのか、あまりコストカットにはならずとも自社の社員のように考えて開発して欲しいのか…など
どんな基準でオフショア開発先を選ぶかをチーム内で認識を合わせておきましょう。
オフショア開発のための準備2:仕様書にしっかりと落とし込む
オフショア開発でよくありがちなのが、日本人エンジニアに任せるのと同じように「なんとなく、いい感じにやっといて!」と指示してしまい全然イメージと違うものができてしまうこと
オフショア開発の課題・デメリットに関しては、次の記事もご参考ください。
【No.1老舗企業が教える】オフショア開発の課題・デメリットとは?~ベトナム編~
文化も言葉も違う開発チームに頼むのだということを念頭に置いて、仕様書は誤解しようがないくらいに作り込んでおきましょう。
具体的には、まず画面構成や遷移図、モックアップがあるとそこからユーザーの動きが想像しやすいので、もし可能であればちゃんと作り込んだものを入れた方が良いでしょう。
特に言語の壁があるオフショア開発では、視覚的なイメージは開発メンバーたちの理解を助けます。明確なビジュアルを準備しておくととても話がスムーズに進むでしょう。
「そこまで準備する時間がない!」「変更が入る可能性がある」という場合は、少なくともオフショア開発に出すプロダクトの、メインのユーザーのタイプ、ユーザーフローはきちんと明記しておくと良いでしょう。
これをしっかり準備する背景としては、たまにオフショア開発の失敗例として「ユーザー視点がなくユーザーにとって使い勝手が悪いものが出来上がってしまう」ということを聞くからです。
これはオフショア開発チームに、どんなユーザーがどんな風に使うかを共有されていないことから起こりやすいので、少し意識的に伝えると良いでしょう。
オフショア開発のための準備3:事前にある程度テスト要件を決めるオフショア開発をウォーターフォールのような最初に全部決めてしまってスケジュール通りにやっていく、という開発プロセスで行うことは推奨しません。
ただでさえ認識齟齬がおきやすいオフショア開発で、最後の受入テストでしかプロダクトのレビューをできないような開発体制では、「思ってたのと違う」となり開発やり直しになりやすい、変更を入れづらくマーケットの要望を臨機応変に入れられないなどの問題が発生します。
そのため、準備段階で「どの段階でどのようなテストをするか」を決めることが大切になってきます。
オフショア開発のための準備4:小さな単位でレビューを行うような開発体制を作る
上記したことを関連しますが、やはりオフショア開発は言語の違いや文化の違いからどうしても認識齟齬がおきやすくなります。
あまりコミュニケーションを頻繁に取らないオフショアチームは、大きな認識齟齬ができて開発が無駄になる可能性が高くなる、ということを知っておいた方が良いでしょう。
その共通認識を自社内で持って、アジャイルの開発体制をとるか、ウォーターフォールにするのか、などの開発体制や進め方を準備しておきましょう。
オフショア開発のための準備5:キックオフにて共通イメージを持てていることを確認する
自社内での認識合わせや仕様書が準備できたら、オフショア開発チームとのキックオフをします。
対面でできるのが一番望ましいですが、オフラインでも良いでしょう。
開発の始め方は各社違うと思いますが、キックオフではオフショア開発チームと自社のチームが同じ目的に向かっていけるようにしましょう。
また、オフショア開発チームからの質問や提案を受け入れるための空気感を作ることも、キックオフで必要になることです。
オフショア開発のチームビルディングって何をするべき?
お互いに信頼しあい、スムーズなコミュニケーションを取れる体制を作ることがオフショア開発成功の鍵なので、必ず抑えとく必要がありますね。
オフショア開発のための準備6 : まとめ
ここまでしっかり準備すれば、あとは適宜オフショア開発チームとコミュニケーションをとりながら開発を進めることで大きな失敗は防げるはずです。
せっかく別の国に開発チームを持つのですから、試行錯誤しながら良いものを一緒に作り上げて行くぞ!というポジティブなマインドセットも準備しなければいけないものかもしれません。
オフショア開発チームと一緒にものを作り上げた時の喜びはとても大きいので、しっかり準備して臨みましょう!
ベトナムでオフショア開発をするなら+αのサービスとメリットがあるバイタリフィへ
バイタリフィ並びにベトナム子会社のバイタリフィアジアでは、ベトナムでのオフショア開発に加えて、将来ベトナムのマーケットを狙っていきたい企業のお手伝いができるよう現地情報の提供を行っております、
また、ハイリスクかつ費用の高額な現地法人設立の前に低コスト&リスクでベトナム進出を試せる拠点開設プランなど、13年以上に及ぶベトナムでのオフショア開発経験を活かした+αのサービスとメリットを提供しております。無料でご相談頂けますので、ぜひ一度お気軽にお問合せいただけましたら幸いです。