エンジニア40人規模のソーシャルゲーム会社の開発組織運用

Happy Elements Advent Calendar 2020 21日目の記事です。

Happy Elements株式会社カカリアスタジオ（以下、HEKK）、チーフエンジニアの草苅です。
この記事ではHEKKの開発組織運用と考え方ついて紹介します。
少し特殊な部分もありますが、何らかの参考になれば幸いです。

# はじめに

現在、HEKKには44名のエンジニアが在籍しています。

内訳は以下の通りです。

- ソフトウェアエンジニア×36人
- インフラエンジニア×5人
- 学生アルバイト×3人

インフラグループだけが横断組織になっており、その他のエンジニアはいずれかのアプリグループに所属していて、横断開発グループがないのが特徴的だと思っています。

マネジメント体制としてはチーフエンジニア1人、チーフエンジニア補佐2人が開発組織全体の目標設定や評価などに対応しています。※

※チーフ・チーフ補佐もいずれかのグループに所属しているため、マネジメント専任というわけではありません。

# 開発組織の方針

組織としては、開発ツールや言語を絞ることなどにより、**ゲーム開発に注力できるようにすることで競争力を上げる**ことを重要視しています。

具体的には以下を採用しています。

- クライアント開発: Unity
- サーバー開発: Ruby on Rails
- インフラ: Amazon Web Service

これらの選定には例えば、先進性や料金よりも、実績や情報収集しやすさなどを重視しています。

エンジニア個々としては、全員が何でもできることを目指すのではなく、**専門分野を作り協力しあえるような組織**を理想としています。
また、最新技術で何ができるかという考え方ではなく、実現したいことをどうやって提供するのか、**「枯れた技術の水平思考」的な考え方を重視**しています。

ウェブベースのゲームを開発していたときは、クライアントもサーバーも両方できることを重要視していましたが、ネイティブアプリに移行してからは両方ができる必要は徐々になくなってきているように感じています。

## ソーシャルゲームの技術的新規性

スマホゲーム開発というと技術的に新しいことを多く取り入れてそうと思われるかもしれませんが、多くのユーザーさんにプレイしていただきたいソーシャルゲームでは最新端末でのみ動作するゲームを作っても意味がないため、実際は4〜5年前発売程度の端末で十分に動くことがベンチマークとなる場合が多いです。

また、端末的に問題なくてもむやみに新しい技術に手を出すと、自社でコントロールできない部分（ex.仕様変更など）などにおいて手戻りが発生してしまうこともあります。そうなると結果的に良いゲームを出すという最大の目的と反した動きとなってしまいます。
そういう意味でも「枯れた技術の水平思考」的な考え方が重要になります。

# エンジニア目標

自分たちの業界内での立ち位置を把握することは、自分たちが今度どう取り組んでいくかを決めるときに一番大事なことだと思っています。

競争力を上げていくために同じ方向を向けるように、毎年エンジニア目標を設定し、そこから個々の目標にブレイクダウンしてもらっています。

「Unityを会社の強みにする」というような目標を立てていた時期もありましたが、徐々に個々の業務の延長線上で強みを作るような目標に変わっていっているように思います。

# 人事評価制度

エンジニアの評価制度だけを特別に作られている会社もありますが、HEKKの場合は全社共通の人事評価制度にエンジニアも乗っかっています。
ただし、エンジニアの専門性に関する部分においては、エンジニア独自の評価基準を設定しています。

ゲーム会社の場合、クリエイティブな職種が非常に多いため、それぞれの職種に適した人事評価制度を作ることは現実的に難しいという部分もあるように思います。

実際に評価をしてみると、エンジニアは他職種（ex.プランナー、イラストレーター）と比較すると圧倒的に（全員が納得できる）評価がしやすい職種だと思っています。

# 共有会・交流会

各グループとエンジニアの交流促進のため、毎月1回、各グループの1ヶ月間の取り組みを紹介するLT会「共有会」と、エンジニア同士の交流を目的とした「交流会」を実施しています。

### 共有会

- 目的: 各グループの状況を報告・共有する
- 少なくとも各グループの直近の取り組みがわかるように

### 交流会
- 目的: エンジニア同士の交流をする
- 少なくとも各エンジニアの顔と名前が一致して、相談ができるように

この他にもエンジニア目標への取り組み、外部発表や共有ライブラリーについての共有会も随時行っています。



# 勉強会

これまで様々な形で社内勉強会に取り組んできましたが、発表者の準備コストや参加者のスキルレベルのばらつきを考慮すると、多くの人のニーズに応える社内勉強会を安定的に開催するのは、現在の開発組織規模では難しいことがわかってきました。

そこで、2020年からは基本的には**外部の勉強会・カンファレンスへの参加を推奨**して、それをサポートできるように取り組んでいます。ただし、**自主的に開催される社内勉強会や、社外からも参加いただける勉強会など開かれる場合はチーフ・チーフ補佐でサポート**する方針です。

ただ、2020年は新型コロナウイルスの影響が大きく、社外の勉強会もあまり実施されない年となってしまいました。

# 共有ライブラリー

インフラ以外の横断組織・人員がいないこともあり、**全アプリで共通して利用する「共有ライブラリー」を整備**しています。具体的には通信、Asset Bundle、課金機能などです。

こちらはアプリ開発と平行して開発する形となっており、新規開発やメンテナンスのフローが決まっています。
現状、運用中のアプリグループのエンジニアが共有ライブラリーを新規開発して、新規開発中アプリのグループのエンジニアがレビューするような体制となっています。これは、新規開発中アプリのエンジニアはできるだけアプリそのものに集中して欲しいと考えていることと、運用中アプリのエンジニアには視野を広げるような取り組みをして欲しいと考えているためです。

# これから

HEKKには必ずいずれかのアプリグループに所属する（インフラ以外）という会社の方針があり、アプリグループごとの当事者意識は高まる一方で、アプリグループ間の横のつながりが弱くなりがちです。
そのため、開発組織的にはグループ間のつながりに人・技術の双方から取り組んでいます。

変わらないことがあることは、アプリ開発においても組織運営においてもクオリティーを高めていくためには重要なポイントです。
「良いゲームを出すことが最優先事項とする」というのは今後も変わらないことの一つですが、開発組織自体は周囲や自分たちの状況に応じて、毎年変わり続けていく必要があるものだと思っています。

今後もHEKKらしい開発組織作りに取り組んで、多くの皆様に楽しんでいただけるゲーム作りに邁進していきます。


# メンバー募集
Happy Elements株式会社 カカリアスタジオでは、
いっしょに【熱狂的に愛されるコンテンツ】をつくっていただけるメンバーを大募集中です！
もし弊社にご興味持っていただけましたら、是非一度
下記採用サイトをご覧ください。
[Happy Elements株式会社 採用特設サイト](https://recruit.happyelements.co.jp/)