この記事は Retty Advent Calendar 2022 12日目の記事です。
adventar.org Rettyで飲食店向けプロダクトのエンジニアリング部門マネージャーをしている遠藤です。
近年オフショア開発を活用する企業やサービスが増えていますがRettyでも取り入れています。 昨年突如オフショア開発チームとの窓口を任されることになり、右も左も分からない状態の私が四半期ごとの社内表彰式で賞をとるまでに至った苦悩と工夫を紹介していこうと思います。 海外にいるエンジニアチームとうまく仕事を進める方法の参考になれば幸いです。
受発注関係にならずいかに協働できるか
私にオフショア開発チームとの窓口依頼が来たとき、Rettyではすでにオフショア開発を始めた後でした。 海外のアプリ向けと国内の新規事業で取り組んでおり、依頼は当時私が担当していたビジネス側の開発にオフショア開発を取り入れようというものでした。
では私が今後どのようにすすめていこうかと考えたときに、まずは既にオフショア開発に取り組んでいる関係者にヒアリングを行いその中で自分の方針を決めていこうと考えました。
いろんな意見があがりましたが、その中でも私は2つの意見に注目しました。
- 受発注関係でうまくいかなかったことがあった
- 初期から参画してもらっていた開発ではうまくできた
もちろん当たり前なのですがうまくいかなかった時もあるし、うまくいった時もある。 この差でうまくいかない要素として、受発注の関係だとうまくいかないということに着目しいかに協働できるか、更に良くするためにはどうしたかをこれから述べていきます。
体制面の工夫
チーム体制に組み込む
RettyではLeSSを採用しており、バックログに積まれた施策を各チームが開発をしています。 「受注 / 発注」の形ではうまくいかなかったこともあり、オフショア開発をRettyのチーム開発に近づけることができればと考えました。
そこで私はオフショア開発と呼んではいるものの社内チームの一つと捉え協働して開発を進めることができるように体制を組みました。 これにより体制面として受発注ではなくチームの1つだということを認識できるようにしました。
社内エンジニアチームと同様チーム名をつける
チーム体制に組み込むことができ認識的には受発注ではなくなったもののまだ会話の中でどうしても「依頼感」が残るように感じ 協働なのになぜ「依頼感」が強いんだろうという疑問に対しても対応を行いました。
国外にたまたまメンバーがいるチームだと考え、受発注のようなやりとりをやめたく社内チームにはチームごとに好きなチーム名がつけられているのであればオフショアと呼ばず同様にチーム名をつければ「依頼感」は減るだろうという考えです。
このようにチーム体制に組み込み、チーム名をつけ、チーム開発の1チームであることによって受発注という意識は小さくなり、協働しているという意識が強くなりました。
メンバーとの接し方の工夫
BrSEと毎日10分でもいいから雑談・コミュニケーションを図る
私は社内の窓口という役割でもちろんオフショア開発チーム(以下フォーチーム)にはブリッジSE(以下BrSE)が存在します。 基本的には窓口とBrSEがやりとりをするのですが、人間性や癖を知るため・今後のやりとりを円滑に行うためにも毎日顔を合わせてコミュニケーションを図りました。
最初は本当に雑談がメインでどんなものが好きなのかとか、私の趣味の話、日本の好きなところなど様々な話で盛り上がりました。 (やはりゲームの話とアニメの話はほぼ盛り上がります)
徐々に仕様の話などもするようになるのですが、この時にはもう相手の話す時の癖などが見えてきていて仕様説明がすごく楽になってきます。
また、基本的には必ず私が窓口としてやりとりを行っていました。 将来的には他のエンジニアでもフォーチームのBrSEとやりとりをしてもらって良いのですがissueの書き方などフォーマットはあれど伝え方は人それぞれのため困惑しないように、違った解釈をしないように必ず最初は一人の人が徹底的に寄り添ってあげる必要があると考えます。
BrSEが今後も日本で働きたいと言っていたので日本語の勉強を教えたりもし、とてもいい関係が作れたため、賞をもらったときやマネージャーになったときに「おめでとうございます」とメッセージをもらったりしました。
円滑にすすめるため・コミュニケーションミスなどを起こさないためにも、いい関係を築くための雑談は必要であったと思っています。
オフショアエンジニアともBrSEを介さずissue上で直接英語で会話する
先程も記載しましたが基本的にはBrSE同士のやりとりにはなるもののPRなどに関しては例外としています。
エンジニア → フォーチームBrSE翻訳 → 窓口の私 → フォーチームBrSE翻訳 → エンジニア
をやり続けてしまうとかなりのスピード感が失われます。 そのためフォーチームのエンジニアとも直接英語でやりとりをします。 その際に英語のみではなく他の社内メンバーにも残す意味でも日本語と英語を両方記載するようにしています。
またフォーチームの振り返りにも顔をだして参加しました。 顔の見えない人から指摘されるよりも少し安心感を出してあげたいというのが狙いです。 全く言葉は分かりませんでしたが後日フォーチームのBrSEからは「やさしそうな人で安心した」とチームメンバーからのフィードバックをいただいています。
その結果
その結果かゆいところに手が届かないような施策から各種マスタ編集画面の作成など四半期で大小含め40個前後のリリースを継続することが出来るようになりました。 またオフショア開発メンバーが増え、フォーチームだけでなく最大3チームになることになります。その際にも私がどのように行ってきたかの相談を受けるようになったりもしました。
結果としてオフショア開発をうまくすすめ社内チームと協働し1.5倍の開発力を見込めることが出来たことを評価され社内表彰式で賞を取ることが出来ました。 自分でも初めてのBrSEでしたが貢献出来たかなと思っています。
終わりに
体制の面、そして個人間のコミュニケーションこの2つについて私が工夫して取り組んだことを記載させていただきました。 仕事は人と人とで協力し合うため、まずは関係性の構築が大事だと改めて感じました。 少しでもなにかの役に立てれば幸いです。