グッピーズが実践したオフショア開発の課題を解決する「モダンオフショア」とは #devio_showcase
本記事は、10/30(金)に開催されたDevelopers.IO Showcase Day3でのセッション「オフショア開発の課題を解決する「モダンオフショア」とは」のレポートです。
なお、レポート内容の詳細やサービスについてのご相談がございましたらクラスメソッドの担当エンジニアが承ります。下記のフォームにてご入力ください。
セッション概要
「オフショア開発の課題を解決する「モダンオフショア」とは」
オフショア開発についてはコストや大量動員などのメリットよりも技術力不足が生み出す品質低下や納品スケジュールの遅延などのデメリットに焦点が当たりがちです。このセッションでは日々の活動を記録するアプリ『グッピーヘルスケア』の開発プロジェクトにおいてどのような形でオフショア開発のデメリットを克服しスケジュール通りに品質の高いサービスのローンチが実現できたかをお伝えします。ベトナム開発パートナーとの現地でのキックオフからアジャイルの進め方、開発が進むに従って起こる様々な問題をどのように解決したかを事例を交えてお話していきます。
講演者
株式会社グッピーズ 取締役 事業本部長 ヘルスケア事業部 部長 木村仁士氏
グッピーズについて
およそ3年ほど前にヘルスケアアプリをリリースしました。今回のモダンオフショアの開発事例は、このヘルスケアアプリのリプレイスについてのお話しとなります。
セッションアジェンダ
課題
2016年11月にアプリをリリースしましたが、その時は主にダイエットが目的の個人向けのアプリでした。そこから法人向け、自治体向け、健康保険組合向けサービスなどどんどんサービスを拡張したことにより、当初の設計を越えたサービスとなったため、バグが増えてきました。そこでリプレイスの必要がでてきたというのが1つ目の課題です。
続いて2つ目の課題です。リプレイスする人員がいたのかというと、なかなかリソースの問題としてそこは難しいだろうという課題がありました。ただ、リプレイスだけ外部委託先に頼んだとしても引き継ぎが大変だったり、リプレイス後の運用も考えなければならないなど、外部委託先の選定にも課題が多く見つかりました。そこで、クラスメソッドを始め、色々な会社に見積を取っていくなかで、クラスメソッドから出てきたのがオフショア・アジャイルの提案でした。
オフショア・アジャイルの提案
弊社でも10年ほど前にオフショアを使用したことがありましたが、その時はあまりうまくいかなかったこともあり、オフショアについてはあまりイメージが良くないなっていうのが提案を受けた時の本心でした。
ただ、その時に色々と説明を聞く中で、各国のITスキル標準レベルにおいて、平成28年の時点で日本よりもベトナムのほうが実はレベルが高いという調査結果もあり、オフショアも一つの選択肢としてありなのではと考えが変わってきました。
クラスメソッドからの提案はオフショアとアジャイルでした。弊社はアジャイルの経験が乏しかったことや、他社からの提案はすべてウォーターフォールだったこともあり、正直どうなんだろうと思いましたが、クラスメソッドのアジャイルの事例を見るなどして色々考えた結果、最終的にはクラスメソッドにお願いすることにしました。
クラスメソッドに決定した理由
クラスメソッドに決めた理由としては、この2000社以上の支援実績なども大きな理由の一つでしたが、一番大きな理由はそのリリーススピードでした。
もちろん品質や費用も重要ですが、今回のリプレイスで重要視した要素はやはりスピードでした。他社さんと比べると、クラスメソッドはおよそ半分の期間だったのです。他社さんの見積を見ると、およそ1年近くかかるという話だったのですが、クラスメソッドだけが唯一これが半年でリリースできるということだったので、一番重要視していたスピードを実現するということでクラスメソッドに決定しました。結果としても、このアプリのリプレイスは半年でリリースできました。
いざベトナムへ
やはりチームビルディングがオフショアでは大事であり、ただ仕事を発注して作ってもらうだけだったらレガシーオフショアになってしまう。チームとして機能するためにはベトナムへ行って顔合わせをし、皆さんでチームになりましょうと話すことが重要ということでベトナムへ行くことになったのですが、いきなり事件が起きて、非常に幸先の悪いスタートとなりました。
無事にダナンに到着はしましたが、飛行機が揺れ過ぎたり、搭乗客が騒ぎすぎたことなどもあり、僕の心の中では正直二度とベトナムに行かないと心に誓ったのですが、ホテルにいた猫のおかげで少しテンションもあがり、やっぱりベトナムとの開発はうまくいくんじゃないかと勝手に思うようにもなりました。
翌日ベトナムメンバーと初対面するのですが、行く前に思っていたのとは全然違い、非常にモダンな感じのオフィスで活気もありました。若い人が非常に多く、議論しながらとか、黙々と作業しながら仕事を進めており、思ったよりも先進的で、ここなら大丈夫かなと思いましたし、顔合わせ時もただ宜しくお願いしますという話をするだけではなく、「このアプリで僕たちはどのようなことがやりたくて、だから今このリプレイスが必要で、だから皆さんのお力が必要なんだ。ただ手を動かすということではなく、将来こういうことを実現するために私達と一緒に開発をしてくれませんか」というお話しをしたところ、若い皆さんが非常に真剣な眼差しで見ていてくれていたので、想いは通じたのかなと思っています。
その後何日かはベトナムパートナーのオフィスでリモートワークしていました。2日目の夜には開発メンバー全員でご飯を食べに行って色々なことをお話ししました。ただのパートナー会社だと人の顔と名前が一致しないことが多いと思いますが、こうやって顔を合わせてご飯を食べたり、実際に仕事をしたことで、外注や外の業者というイメージではなく、たまたまオフィスがベトナムにある同じチームという感じになれたと思います。
行く前は、わざわざベトナムに行かなくてもオンラインMTGで大丈夫なんじゃないかと思ってましたが、実際に行ったことで、やっぱりこういうのは顔を合わせて人間同士の付き合いをすることが大事なんだなということが非常によくわかりました。
最終日の業務終了後には、ベトナムメンバーがホイアンへのアテンドを提案してくれて、車まで借りてくれました。友達との別れを惜しむような感じで最後の最後の時まで付き合ってくれて、最終日にはお互いの顔と名前もわかるようになったし、これでチームとしてスタートできることを確信しました。
モダンオフショアの現実
スケジュールは始めの想定とほぼずれることなく進むことができました。エンジニアのレベルは始めに想定していたレベル以上だったし、エンジニアとしては申し分ないレベルだったと思っています。
オフショアの一般的なイメージとしてはグッピーズがクラスメソッドに頼み、クラスメソッドがベトナムパートナーを動かすというイメージが多いと思いますが、今回のモダンオフショアに関してはそうでなく、3社が3社ともきっちり三竦みになって、お互い情報共有とか情報交換しながら進めていくということで、メインとしてはクラスメソッドがベトナムパートナーとやり取りしていますが、私達もベトナムパートナーとSlackやBacklogでいろいろコミュニケーションを取ったり、オンラインで会議も行うことで、頼んでいる会社さんというよりは同じチームの中で、物理的な場所、拠点が違うところにいるだけで、きちんとした協同開発といっても申し分ない形だったと思っています。
情報共有や進捗具合などは、バーンダウンチャートやBacklog、Slackで日々見える化していました。アジャイル開発、オフショアということもあって、そこはかなり重視していました。やっぱり情報が出てこないとか、情報が月に1回、週に1回とかだとどうしても不安になって余計な詮索もしてしまうので、色々な情報を色々なツールを使って日々見える化することで、関係性は非常に透明化されて良かったと思います。
BAは私達とベトナムのエンジニアをつないでくれるのですが、そもそも日本語能力が高く、ベトナムのことも分かっているし、弊社のビジネスモデルや弊社の行いたい事業の話も非常に理解してくれて、こちらが言葉足らずになったところも、BAさんの方できちんと肉付けをしてくれて各エンジニアに落としてくれることで、意思疎通は非常に楽でした。
始めの頃はやはり、このアプリは拡張されて大きくなっていたこともあって、中身を理解するところがちょっと手間取っていたため、なかなか進んでいないことで不安ではありました。けれども、進んでいないことも含め何が問題で、何が今ボトルネックで、そのためにチームをどうしていくかということをきちんとクラスメソッドから共有してもらえていましたし、かつ一旦進みだすと、テストアプリを毎週毎週リリースしてくれて、目の前でそのアプリを触りながら確認しつつ進められるようになりました。やはり動く成果をちゃんと見ることで現状を理解でき、良くも悪くもすぐに対策を打てることが開発プロセスとして良かったところです。
コロナ〜リリース〜現体制
コロナの影響はほぼなかったと言ってよいかと思います。そもそもモダンオフショアは、開発自体がリモートワークなので、コロナが起きたから何があるというわけではなく、コミュニケーションの仕方も何も変わりませんでした。ただし、リリース後にベトナムの訪問が予定に入っていたのですが、それが消滅したことが残念ではありました。
開発スピードの問題だけではなく、諸々な理由でリリースは1ヶ月遅れましたが、大きな不具合もなく無事リリースすることができました。アプリ自体、リプレイス以前に比べて明らかにレスポンスがよくなるなど、リプレイスの効果は顕著に現れています。追加開発の容易さについては、今後要経過観察したいと思います。
リリース後の現在の体制は、クラスメソッド経由でなく、ベトナムパートナーとの直接契約に移りました。いきなり3社でやっていたことを2社で行うのはなかなか難しいところもあるので、現在もクラスメソッドに支援として一部関わってもらっている状況ですが、それも今年いっぱいということで、2021年からは弊社とベトナムパートナーだけで進めていき、最終的には弊社内だけで完結する完全内製化を目指していきたいと思っています。
まとめ
オフショアのイメージは大幅に改善しました。僕が思っていたオフショアのイメージというのは仕様書書いてあとはお願いしますというイメージでしたが、今回やったオフショアというのは名前は同じでも思っていたものとは全然違いました。やっぱりオフショアといえども同じチームとして、実際に顔も合わせて個人のことも分かりつつ、自分たちの実現したいことに向かって全員一丸でいくんだっていうようなオフショアだとうまくいくんだなということがよくわかりました。それを達成するにはアジャイルでしなければいけないんだなということもわかりましたが、アジャイルの進め方については想像どおりでした。
クオリティだけを求めるなら、スピードだけを求めるなら、費用だけを求めるなら、それぞれ色々とやり方はあると思いますが、これらすべてを求めつつ社内にリソースがないなら、やっぱりモダンオフショアというのが今後は選択肢に入れていくべきだと思います。
最後にサービス紹介させてください!
これ一つですべての健康状態を把握できるといっても過言では御座いません。
法人向けサービスの話ですが、アプリの利用率が平均85%ある福利厚生サービスはあまり聞いたことがないので、ぜひとも皆様ご自身で、自社で使ってみてもらえるとありがたいです。
テレワーク、リモートワークで運動不足の方が非常に多いと思いますが、在宅勤務でできるコンテンツも用意しています。
健康経営優良法人の取得にも役立ちます。
料金体系は非常に安く、従業員100名の場合、1ヶ月3万円しかかかりません。
ただいま無料トライアル実施中です!
質疑応答
ベトナムと一緒にアジャイルでの開発とのことでしたが、遠方のメンバーとの開発をアジャイルでやるにあたり発注者として気をつけていた点などあれば教えて下さい。
きちんとコミュニケーションを取るということが前提にあった上で、基本は一度言ったことは曲げずに、きちんとやり遂げることだと思います。コンセプトがグラグラ変わっていくと、たとえどれだけコミュニケーションをとってもうまくいかないと思うので、コンセプト自体をしっかりと決めて、後はコミュニケーションをしっかりと取っていくことだと思います。
もしウォーターフォールで進めていたら、どうなっていたかと思いますか?
想像の話ですが、半年後までアプリの状態が見れない状態だと、うまくいっているか、うまくいっていないか、ちゃんと進んでいるか進んでいないかが何となくでしかわからないので、最悪のパターンだと実際今どうなっているんだとどんどん中に入っていってしまって、開発の方に非常に苦労を与えていたんじゃないかという気がします。
現地に赴いたのは、チームビルディングの一環だと思いますが、現地に行ったことでチームビルドが進んだというエピソードがあれば教えて下さい。
皆の名前と顔を覚えられたということがすごく良かったと思います。例えばSlackやBacklog、オンライン会議上でコミュニケーション取る中で、あのときあだ名が"天使"です!って言ってた人だとか思いながらコミュニケーションを取ると、そこには血の通ったコミュニケーションが取れると思っていて、向こうもこの木村という人があの木村さんだということが分かってもらえるので、顔と名前が一致して、彼が何をやっているのか、僕が何をやっているのかが分かったというのが一番良かったとところだと思います。
感想
モダンオフショア開発の最初の開発事例が、今回登壇頂いたグッピーズさんとのこのプロジェクトでした。グッピーズ様、ベトナムパートナー、クラスメソッドの3社での取り組みは、まさに協働開発であり、今までにないオフショア開発を実現できたのではないかと考えています。
今回のプロジェクトの経験を通して、まずは3社によるモダンオフショア開発から始め、お客様が開発をコントローラブルになった段階でお客様とベトナムパートナーとの直接契約に移行し、最終的にはお客様自身での完全内製化というステップが、今後の内製化支援の一つの方法として機能するのでは無いかと考えています。そのような気づきを与えてもらった意味でも、大変有意義なプロジェクトでした。
グッピーズ様、木村様、本当にありがとうございました。コロナが落ち着いた暁には、ぜひベトナムで打ち上げしましょう!以上、グローバルチームマネージャーの藤村がお届けしました。