現在JavaScriptの設定が無効になっています。このページを利用するにはJavaScriptの設定を有効にしてください。2016の7日目の記事です。一覧はこちらこんにちは。検索メディアユニットの里山です。普段はYahoo!ブラウザというアプリのプロダクトマネジメントをする傍ら、2016年10月より、Androidアプリ黒帯として社内外で活動しています。今回は、アプリのオフショア開発の取り組みについてお話したいと思います。ヤフーはアプリ開発を本気で頑張っています。それゆえの問題が...ヤフーは2015年、日本の非ゲームアプリパブリッシャーランキングで第一位となっています。Playにて配信しているアプリも50種類を超えます。JAPAN」というビジョンとともに、アプリの世界でも日本の課題解決のため日々邁進しています。これだけ大規模に多数のアプリ開発を行っていると起こる問題が、「開発リソース不足」です。国内でも圧倒的なユーザー数を持つアプリがある中、ほとんどのアプリは開発メンバーが1〜2名、さらにそのメンバーも複数アプリを担当する状況です。リソース不足の解決手段として、社内エンジニアのπ型(パイ型)人材化(複数のコアスキルをもつ人材を増やす)や採用のさらなる強化など、いろいろと考えられることもありますが、現在取り組んでいる施策のひとつに、開発のオフショア化があります。VietNamが設立されました。経済力が年々あがっているベトナムですが、リソースコストの圧縮の観点よりも、品質の高い国外リソースを確保し、将来的なヤフーの技術戦力化を目指しているそうです。ホーチミンはとにかくバイク社会です。CENTERにTechbaseが入っています。メンバー構成Yahoo!ブラウザの場合、以下のようなメンバー構成をベトナム側に確保しています。複数プロダクトを横断で見ています。コミュニケーション全般の通訳や仕様書の翻訳をしてくれています。複数プロダクトを横断で見ている技術リーダーです。プロダクト専任で動いてくれています。ベトナムの方々は総じてモチベーションが高く、ポジティブです。年に10%以上年収が上がるという経済事情もあり、「努力が報われる」ということを強く思っており勤勉です。一緒に仕事をしていて実に気持ちが良いです。外部の企業へ開発の委託をする場合、どうしても問題になってくるのが、開発環境の共通化です。環境が異なれば、自社環境への移行コストを毎回の納品時に抱えることになるので、できるだけ共通化することが望ましいのですが、各社のセキュリティポリシーがあるため簡単にはいかないのが現状です。子会社であるTechbaseのメリットとして、ある程度ネットワークや社内ツールが共通化して使えるので、イニシャルの準備を最小化して進めることが可能です。Yahoo!ブラウザでは以下のような開発環境を整備しています。Enterpriseがあります。Scrum開発におけるバックログ管理をしています。開発標準や、仕様書をまとめています。独自Chatツールです。簡単な質問、報告や雑談などを行っています。TV会議に利用しています。ベトナム側がさわることはないですが、共通のリポジトリで開発しているのでベトナム開発分も自動ビルドすることが可能です。開発プロセスYahoo!ブラウザでは、ベトナム開発においては開発プロセスとして「簡易的なScrum」を採用しています。Redmineのチケットで、ベトナム用のプロダクトバックログを準備しておき、2週間単位の期間(スプリント)を切って開発を進めます。スプリントの最初にプランニングを実施してそのスプリントで開発する案件(ストーリー)の合意を取るところまでを東京-ベトナム間で行います。その後各ストーリーのタスク分解や、着手の優先順位付け、進捗管理はベトナム側に完全におまかせしています。おいて必ず整理しておく必要があるのは開発標準です。開発におけるルールを整理しておくことで、開発対象における期待値のギャップを最小化させることができます。Yahoo!ブラウザでは、プロダクトの開発標準として以下を整理してベトナムメンバーと共有しています。UI部品や仕様などに対して、日本語表記と英語表記を整理した一覧さらに、以下のようなものも標準化しています。仕様書のテンプレ案件ごとの仕様も、フォーマット化しRedmineのチケットidと紐付けて管理することで、間違いのないコミュニケーションを図ることができます。アプリ仕様の項目として以下を定義し、1案件1ページにまとめています。(ベトナムのコミュニケーターが記述)上記を翻訳したページへのリンクOSS利用に対してのルールOSSを利用することは一定のリスクを許容しているということを忘れてはいけません。AGPLのライセンスのOSSを利用する場合、必ずソースコードの開示義務が発生します。アプリはその特性上ユーザーの元に配布されるものなので、GPLライセンスのOSSにおいてもアプリ内で使うと開示義務が発生します。ソースコードの開示は、信用失墜、セキュリティ、訴訟など、様々なリスクを背負うことになるので、OSSに関しては発注元が適切に管理できる状態であることが望ましいでしょう。そのため「発注側からの指定がない限り原則OSSの勝手な採用はNG、どうしても利用したい場合は相談必須」というルールを決めています。コミュニケーション設計リモートで開発する環境をもつ場合、一番気にしないといけないのはコミュニケーション設計です。人が主体であるソフトウェア開発において、目に見えない負荷を下げておくことは、メンバーのモチベーションを保ち生産性を保つことにつながります。絶対の正解はないですが、コミュニケーションの阻害要因別に、Yahoo!ブラウザが試行していることについて紹介します。文化のギャップについて文化のギャップは、企業文化に起因する場合や国際文化に起因する場合など多くの問題が起こりえます。企業文化のギャップとしては、エンジニアの主体性の程度やプロダクトに対する責任感の程度が事業会社と開発会社で異なり、発注側から見ると細かく指示しないと理解してもらえないと見えてしまうような場合があります。国際文化のギャップの例としては、日本の商習慣が前提にあるビジネスロジックの実装などで、オフショア開発者が日本の背景を察することができない場合があります。これらは、お互いの立場や商習慣も異なるため、一概にどちらが悪いとも言い切れない問題がほとんどです。このような問題が起こる場合、オフショアであることが真っ先に理由に上がりがちですが、問題を分析し試行するといったサイクルをまわさないと、日本企業に委託したとしても同様の問題が起こり得るでしょう。Team」というスローガンをかかげ、プロダクト文化の充実で企業文化や国際文化の問題を吸収してしまおうという試みをしています。以下にその取組みの一部を説明します。できるだけ対面のコミュニケーションを実施するYahoo!ブラウザでは、対面のコミュニケーションを重視しています。毎日15分程度、Facetimeを利用したTV会議を実施し、進捗だけでなく、お互いに困っているところはないか声を掛け合いながら開発を進めています。毎日TV会議でお互いの状況を確認プロダクトの現状を可能な限り開示し、プロダクトの代表であるという意識を持ってもらう開発委託といえども、開発メンバーとして自走してもらえるような仕組みづくりは非常に大事です。Yahoo!ブラウザでは、プロダクトの現状やビジネス上のインパクトを可能な限り公開し、ベトナムの開発メンバーに期待している点を適切に伝えることを行っています。当事者意識を根付かせることで個人の責任感が増し、前向きな議論の下地になることを期待しています。Actionを検討しています。継続的に改善可能な環境を作ることは非常に重要です。人の交流を活性化させる最後は人の交流です。社内のChatツール「MYM」で雑談部屋を作っておくことで、仕事以外の面でも人としての交流を増やして、気軽に話しやすい関係性を作っています。Requestに対して、日本側でレビューを実施していますが、東京のメンバーも張り切って英語で指摘するように頑張っています。問題が起こることもあります。「must」の一言が原因で強い指摘と捉えられ、お互いの主張合戦になるようなこともありました。(笑)言語文化の違いを前提にすると、コミュニケーションもフリーフォーマットではなく、ある程度テンプレートを設けたほうが良いでしょう。Requestについて、リクエスト時のフォーマットとレビュー指摘時のフォーマットを設けています。(参照)その根拠となる参照先レビュー時の指摘フォーマットは、ベトナムメンバーとのふりかえり時に出てきたものです。いう論法になりがちですが、ベトナムメンバー側から結論を先に知りたいという要望を受けて、新たに日本側でフォーマットを整理しました。当たり前から逃げない今回はYahoo!ブラウザでのベトナム開発における試行のお話を書きましたがいかがだったでしょうか。アプリ開発の事例ですが、考え方はアプリに限ったことではないことがわかると思います。開発委託における観点としても国内/オフショアに関わらないものです。オフショア以外においても、ヤフーでは東京新オフィスのフリーアドレス制度であったり、月に5回まで、場所にとらわれずに働くことのできるどこでもオフィスなど、場所が固定されない働き方が進みつつあります。私たちはオフショア開発においても、自社開発においても、メンバーに最大のパフォーマンスを出してもらう環境を試行錯誤し続け、場所が離れていても「プロダクトを良くする」という当たり前の目的(本質的な目的)に注力できる体制を自分たちの力で作っていくことが求められているのです。最後に私たちヤフーは、新たなビジョン、新たなオフィス環境を元にこれからの新しい働き方を模索しながら、一緒にITを通して日本の課題を解決していける人材を求めています。圧倒的なユーザー規模を持つサービスを開発できる責任とやりがいは、あなたのキャリアにおける大きなステップとなるでしょう。募集職種一覧はこちらからご確認ください。弊社新オフィスのコワーキングスペースLODGEに是非遊びに来てください。新たなヤフーの働き方の息吹を感じていただければ幸いです。(2016年12月現在、利用料は無料です。Inc.の登録商標または商標です。JAPANでは情報技術を駆使して人々や社会の課題を一緒に解決していける方を募集しています。詳しくは採用情報をご覧ください。JAPANのサービス開発を支える技術やデザイン、文化を発信しています。Reserved.このページの先頭へ。