はじめまして、kodama-tです。

さて、KLabでは今年より海外拠点での本格的な活動が始まりました。

私は現在、海外での開発拠点となっているフィリピンに赴任し、現地のスタッフと共にAndroidアプリの開発を行なっています。
今回はそちらで行なっている活動の一端を紹介させていただきたいと思います。

フィリピンの開発者達は元々チームを組んでの大規模な開発をあまり経験したことのないようなメンバーがほとんどでした。

私がチームに加わった時には、コードの書き方はそれぞれバラバラですし、チームの他のメンバーがどんなことをやっているのか、どんなコードを書いているのかもほとんど把握できていない状態でした。gitなどのバージョン管理システムを使うのも初めてというメンバーも多くいました。
チーム内での開発者同士のコミュニケーションも不足していたように思います。


サーバーチーム

チームでの開発を行う場合には開発者同士のコミュニケーションというものは非常に大切なことかと思います(もちろん企画の人やデザイナーさんとのコミュニケーションも必要不可欠ですが)。共有しておくべき共通認識も多くありますし、効率的な開発を行うためには欠くことができないものでしょう。
また、私が日本で開発している時には、コードを書いている時に迷ったりすることがあれば、この部分はこんな感じで書いてみたらどうか、と近くの開発者に相談することもしばしばありましたし、そこから議論が発展していく中で自分ひとりでは思い至ることのできなかった発想を得ることもありました。こういったことはプロジェクト内に閉じたものではありませんが、とにかく開発者同士のコミュニケーションの中で多くの学びあったように思います。

今後のフィリピン拠点の発展を考えると、この拠点が日本に負けないくらい品質のよいプロダクトを生み出せるような組織に、また、より自律的に成長していけるような組織になっていくことが望ましいと思います。
幸いなことにこちらの多くの開発者も、もっと新しいことを学んでみたい、チャレンジしてみたいというマインドを持っています。ただ、それをどうやって具体的な行動に移していったらいいのかがわからないといった感じでしょうか。
なので、まずはより積極的に開発者同士でコミュニケーションをとれるような状態に早くしたいと考えるようになりました。

そこで私はチーム内でのコードレビュー会を開くことにしました。


旧オフィスでの風景(※タトゥーはこちらではファッションの一部です。)

目的としては

  • 自分が書いたところ以外のコードの理解を深めるため
  • 自分の書いたコードの理解も深めるため
  • 自分の書いたコードの改善点を探るため
  • エンジニア同士のコミュニケーションの場を提供するため
  • それを通して普段からエンジニア同士のコミュニケーションを促進するため

といった感じです。

はじめはそれぞれが担当している機能について、実際に書いたコードを見せながら、その解説をしていくという体裁で始めました。単純に勉強会という名目にしてもよかったのですが、ひとまずは自分たちのしている仕事を紹介してもらうという方がハードルも低いだとうと思い、このような形にしました。
今はプロジェクトの影響もあってお休み中なのですが、隔日で1回約1時間のペースで続けていました。


もちろん私もやりました。英語のプレゼンは難しいっ(>_<)

毎回の持ち回りを事前に決めておいて、レビューを受ける人は1回に1人。
その他のプロジェクトメンバーがレビューを行うという感じです。
特に制限などは設けず、疑問に思ったことがあればしゃべってる途中でもつっこみが入ります。そして最後まで終わった段階で全体を通しての質疑応答や、改善点を探るための議論が始まります。
実際に初めてみますと、メンバーの一人ひとりから質問が出たり、そこはこうした方がいい、という意見が出たり、かなり活発に意見が交わされて非常に有意義な勉強会となっていきました。
これまではこういう場がなかったので、自分から意見を出したりということはほとんど無かったのですが、それぞれがそれぞれの疑問や意見やノウハウを持っているんだなということを実感しました。
メンバーとしてもこのような取組は楽しかったようです。


彼女は(Android)Masterと呼ばれています。


彼もとても優秀なエンジニアです。

このような勉強会を通して、やっとチーム感のようなものが現れてきました。
開発者同士の中でもコミュニケーションが生まれるようになって、業務中でもノウハウを共有し合うような場面も出てきましたし、私のところへ相談をしに来るようにもなりました。


Amazon IAPを使った課金システムについての発表
ここからは新オフィスに移ってからの風景ですね。

こういったコードレビュー会や勉強会などを通して、我々日本人が持っている技術やノウハウであったり、彼らの中にすでにある知識などをうまく共有できるようにしていきたいと思っています。日本ではまだやっていないけど、こちらではすでにやり始めていることなどもありますし。
フィリピンの開発者は基本的に英語で発信することができますので、世界へ情報を発信することに対して言語的な障壁はほとんどありません。この拠点から世界へ向けてアウトプットできるようになれば、それはとても魅力的なことですね。


この3人は入社後しばらくしてプロジェクトに加わったメンバーです。

こんな感じでフィリピンの開発現場を今後も盛り上げていきたいと思います。
こっちでも日本でやってるALMのようなことができるようになると面白いですね。