新規プロジェクトでスピード開発を実現するエンジニアの挑戦

スマホゲームの企画・運営・配信を行っているサムザップでは、四半期ごとに活躍したメンバーを表彰しております。
2019年10~12月の期において、MVPに輝いたUnityエンジニアの大庭。
新規プロジェクトにおいて高いコミット力でスピード開発を実現する彼に、MVPの受賞について、新規プロジェクトで大切にしていることを聞きました。

f:id:sumzap_engineer:20200226185824p:plain

四半期MVPを受賞

—— 現在どのような業務を担当していますか?

新規開発中のタイトルでUnityエンジニアをしています。
あえて少人数開発を採用したプロジェクトで各自の裁量を上げ、ロスを最小限に減らしたスピード開発に挑戦しています。
また他のタイトルでのUI/UXのクオリティアップや、立ち上がったばかりの新規タイトルの基盤開発にも携わっています。

—— 今回はどのようなことでMVPを受賞したのでしょうか?

現在携わっている新規タイトルの開発スピードや、安定した開発ワークフローの整備が主な理由です。
後回しにされがちなデザイナーの要望をヒアリングして実装し、他のエンジニアでもできるようにワークフローを作り、職種間の連携を図った点も評価されたのだと思っています。

—— MVPを受賞した感想を教えてください。

何より協力してくれたチームメンバーのおかげです、感謝しています。
先程紹介した通り、僕は幸運なことに様々なプロジェクトに携わるチャンスをいただいています。
最近のサムザップは、プロジェクト間、職種間の枠を越えたコミュニケーションや連携が以前より強くなっているように感じています。

そんなタイミングでMVPを頂けたのは正直とても嬉しかったです。
今後もよりプロジェクト間、職種間の壁をできる限り壊せるよう取り組むつもりです。

f:id:sumzap_engineer:20200226185847p:plain

開発スピードに徹底的にこだわりたい


—— 新規プロジェクトで大切にしていることは何ですか?

開発スピードを上げる事です。

予算が決まっている以上、納期までに最高のものに仕上げたいです。
最高の状態に持っていくための方法として最も有効なのが開発スピードだと考えています。

—— なぜ開発スピードにこだわるのでしょうか?

新規開発をする上で最初から正解を出せる人はいないと思っています。
企画、デザイン、エンジニアリング、どの職種においても、ぼんやりとしたゴールは見えていたとしても100%イメージはできてはいないのではないでしょうか。

その正解に近づけるという事が開発スピードと直結しています。
開発スピードを上げればより早く正解の認識をチームで合わせることができ、より良いプロダクトに仕上げていく事ができます。

だからこそ、開発スピードを上げる事に全力を出したいのです。

—— 開発スピードを上げるポイントは何でしょうか?

僕は以下の3点に気をつけています。

1.開発メンバーは最小限に絞る事

少人数開発の良いところはコミュニケーションロスが極端に少ないという点です。
メンバーの座席が必然的に近くなり、問題が起きても近くにいるため口頭ですぐに解決することが多いのです。
通常ならメールやチャット、MTGを開いたりして解決しますが、少人数開発ではそれが少ない。
無闇に開発メンバーを増やさないということが開発スピードを上げるためのコアな部分だと思います。

ところが納期が短いから最初から開発メンバーを増やして何とかするといったチームビルディングをする場合があります。
開発スピードの観点から考えると逆効果です。人が増えるとその人を管理するコストがかかってきます。
このマネージメントコストは軽視できません。プロジェクトにとって致命的なリスクになり得るので人を増やす際はとても慎重にしています。

少人数開発の弱点も紹介しておきます。
担当ごとに属人性が高くなるのでその人が会社を休んでしまうとプロジェクトが止まることもあります。また、自主性が求められるため自分からやるべきタスクを見つけていけるタイプの人間でないと務まりません。
少人数開発を成功させるためには、それに向いた人をアサインすることも重要だと思います。

誤解がないように補足しますが、開発フェーズによっては人を増やします。
特に終盤です。機能の量産、バグ修正は人海戦術が適しています。
あくまで開発するゲームの方向性が決まるまでは最小メンバーで進んだ方が効率的だという事です。

2.職種にこだわらない事

僕は常に今何をすればプロジェクトは前に進むのかを俯瞰して考えるようにしています。
何がボトルネックなのかを探すのです。

僕にはUnityエンジニアという肩書がついていますが、エンジニアリングにこだわって仕事はしないようにしています。
例えばデザイナーとエンジニア間のコミュニケーションが上手くいっていなければ、その間を取り持ってワークフローの再構築をしたり、細かい事ですがファイル名の規則がなくて効率が落ちているようであれば、運用を見据えた命名規則を考えてディレクションすることもあります。

ビジュアル周りの仕事に関しては僕がもともとグラフィックデザイナーをしていたからこそできるというのもありますが、基本的にプロジェクトにとって必要とされていて、かつ自分にできそうなものは積極的にアプローチするように心掛けています。

3.作り上げたものを壊す事を怖がらない事

「作る」「評価する」「壊す」
開発スピードを上げるために、この3つの作業を何度も繰り返す事が大事だと思っています。
この中でも特に「壊す」という行為が最も重要で開発スピードに直結しています。

企画書通りに作ってもゲームとして面白くならないという事はよくあります。
いざ実機で操作してみると「想像していたのと違う」みたいな事です。
実機で動くものを作ってチームメンバーで体感を共有する事がプロジェクトを前に進めるための最も良い方法なのではないかと思います。
これを開発の序盤に徹底的にやれるとベストです。

例えばUIデザイナーと話して「こうしたい」「ああしたい」という要望が出てきますが、広がった夢を整理して実際の設計に落とし込むときにも「作る」「評価する」「壊す」は有効です。
そして、この「作る」「評価する」「壊す」のサイクルはいかに回数をこなせるかがクオリティにつながるため、少人数であるほど効果が高くなります。
「評価」の時間を最小限に抑える事ができ、チームの意思決定が早くなるためです。

――― 最後に今後の目標を教えてください。

これからリリースされていく新規タイトルがリリース後も安定した運用が出来るような開発をする事です。
自分たちが面白いと思ったものを何度も壊し、長い月日をかけてついに念願のリリース!
でも世に出てやっとスタートラインに立ちます。本番はこれから。
その手塩にかけたタイトルと長い旅ができるよう、更に技術を磨いてあらゆる角度から尽力したいと思います。

f:id:sumzap_engineer:20200624195348j:plain
大庭 俊介

サムザップのUnityエンジニア
新規ゲーム開発に携わっています。