blog

DeNAのエンジニアが考えていることや、担当しているサービスについて情報発信しています

2022.11.30 その他

Mobageにおけるプロジェクトマネジメントについて考える

by Kazuyuki Tada

#mobage #pm #pmo #waterfall #agile #scrum

はじめに

こんにちは!ソリューション事業本部 オープンプラットフォーム事業部 ゲームプラットフォーム部のサーバーグループに所属している多田です。

主に Mobage のプラットフォームでサーバーサイドに関するプロジェクトマネジメント(PM) or プロジェクトマネジメントオフィス(PMO)に携っております。入社してからおよそ1年ほど経ちましたので、振り返りつつプロジェクトマネジメントについてお話ししたいと思います。

入社経緯

前職では動画系のアプリの開発PMや通信システムに関する運用・開発のマネジメントを行なっておりました。 更に昔では、以下のような経験もあります。

  • C++やJavaなどでCPU周りのコアなプログラムを作成
  • オンプレでのサーバー構築やCisco関連のネットワーク構築
  • クラウド構築(AWS, GCP, Azure)

他には企画や戦略寄りのプロダクトマネジメント、Pythonでの大規模データの解析などデータサイエンティストのような事もしてたりと、広範囲なジェネラリストでしょうか。そのため開発よりのPMとしての意見と思って頂けたらと思います。

働き方に関しても、独立して仕事をしていた期間もあったりして色んな立場を知ることができました。 そのように経験として多くの事を学んでいく中で、やはりもっと事業の中心でコアな部分にも携って行きたい思いも感じていきます。

そのような事を考えていたところ、丁度声をかけて頂く機会がありました。私の世代ではDeNAと言えばMobageの印象が強く残っており、そのような大規模のサービスが移り変わりが激しいIT業界で未だに会社の基盤を支えている事は本当にすごい事だと思います。そして会社やサービスに対する熱い想いを聞く中で、是非挑戦してみたいと思い入社を決意しました。

入社後に思った事

働く環境

チーム内では裁量労働の場合が多く、お互いを尊重しつつ助け合う環境があるため柔軟に業務時間を決めて、効率良く働く事ができます。

例えば家族がいる場合は「子供を保育園に送ってから働く」、役所で手続きが必要な場合は「午前中に用事を済ませてから働く」、病院に行きたい場合は「一旦離席して病院が終わり次第、業務を再開させる」のような事も可能です。

そのような事からも裁量を持って働く事ができるため、想像以上に働きやすい環境だと感じております。

リモートワーク

会社としてリモートワークを推奨しており週に何回出社が必要と言う事もありません。最近ではリモートワークを中止する企業も多い中、非常にありがたい方針です。オフィス自体も縮小して全員が座れない規模になったので、会社としての本気度も伝わってきます。

特に最大のメリットと感じているのは通勤が無くなった事です。私の場合は1日で3時間程度は自由に使える時間が増えた事になるので体力的な負担はかなり軽減されました。

オンラインでの難しさ

実際に自分も入社日からリモートワークしておりますが、コミュニケーションや業務を学んでいく上で大変な面が多々ありました。関わり合いが減る事でチームや他メンバーと信頼関係を作るのは難しく思いました。

しかし、会社として課題を解決すべくオンボーディングの施策を続々と行なっている事から、どんどんその障壁は小さくなっていると思います。自分としても負担にならない範囲でミーティングや1on1など実施してコミュニケーションを増やしたり、アイスブレイクなど気持ちをほぐす方法を考えたりとオンラインで効率良く働く方法を日々研究しております。

オフィスの考え

所属部署にもよりますが渋谷や横浜などの拠点や各WeWorkなどへの出社も可能です。出社への施策も会社として行なっており、より効率的なハイブリッドの働き方もできる環境と言えます。最近では遠方での採用も行なっており、居住地の問題で入社が厳しく思っていた方にもチャンスは広がっております。

また、拠点によっては夕方からビールが無料で提供されてたり、ボードゲームやアーケードゲーム機が設置してたりと楽しみながらコミュニケーションを行う事も可能です。今ではリモートワークが多くコミュニケーションが取り辛い事もあるので、このような対面の機会を作りやすくするのもありがたく思います。

一般的なプロジェクトマネジメントの話

昔はほとんどのプロジェクトでウォーターフォールを採用し、細かく仕様を検討して段階を踏んで進めていく開発スタイルが主流でした。現在はアジャイルのスクラムで短いスパンで開発を繰り返す手法を取り入れたりする事が多くなっていると思います。また、システムによってはプロトタイピングやスパイラルなど多くの手法が存在します。

そのためプロジェクトマネジメントに正解と言うのは無く、開発するシステムやサービスによって柔軟に変える必要があります。例えば官公庁や金融系などの大規模システムの場合は仕様をしっかり決めて動くので、変化が少ないためウォーターフォールの方が適切の場合もあれば、アプリ開発などユーザーの意見により仕様がブレる場合などはスクラムを組んで行った方が効率が良くなる。

そのようにプロジェクトマネージャーは状況を把握しながら何がベストの手法かを探る必要があります。理由も考えずに安易に手法を決めてしまうと余計な工数が発生し、効率も落ちてスケジュールの遅延に繋がっていきます。

Mobageでの現状は

歴史が長いプロダクトは膨大なレガシーなシステムになっている事が多いです。Mobageについても一部ではそのようになっている場合がありますが、各メンバーの様々な取り組みにより、 クラウド化 など日々改善が進んでおります。

また、Mobageに関わる部署では多くのエンジニアが在籍しております。そのため適切なプロジェクトマネジメントを行い、場合によってはプロジェクトマネジメントオフィスとしてエンジニアをサポートする事で効率を上げ、より成果を最大化させる事も可能となっております。日々チャレンジが必要で大変な面もありますが、やりがいもあります。

どのような手法を採用するか

開発を行う際には都度手法を考えますが、規模もスピード感も毎回違うため非常に悩む事も多いです。

  • 確実に進めるために仕様を深く検討してから順次進める時はウォーターフォールのように進めたい
  • しかし発生する問題や要望にスピード感を持って対処するならスクラムのような動きも欲しい

このように状況を踏まえつつ検討する必要があります。

そのため今は両方の手法をミックスした取り組みを行なっております。ウォーターフォールのように仕様はある程度しっかり考えスケジューリングしつつマイルストーンを設定して、その中の動きはスクラムのように短いスパンのスプリントを設定して柔軟に対応していく。その結果、どちらの状況でも柔軟に対応する事ができます。

手法を調整するのは難しい

しかし、言葉や考えは上記のようになりますが実際に行動すると中々難しいです。例えばプロジェクトは一つだけ動かすわけではないので、複合的に考えなければなりません。また、優先度や緊急度は刻々と変化するので、それらを加味して柔軟に変更できるようにする必要があります。

また、手法を決めてもメンバー毎に得意・不得意を見てタスクの判断をしたり、どこまでサポートが必要かを見極める事も大事になってきます。基本的には得意な部分で最大成果を出すのを重要視して、その上で不得意なところは少しづづ伸ばせるようにする事が本人の負担を最小限で成果は最大化できる事が多いようにも思えます。

このようにパターンや条件や検討すべき事が無数にあるので、日々状況を理解して最適化を進める必要があります。その判断を間違えてしまうと、無駄な作業が発生して効率が落ちてしまったり、一人一人の負担が大きくなってしまいチームが疲弊してしまうなど、多くのリスクが生まれてしまいます。

DevOpsの意識

手法と言うよりは概念に近い形になりますがDevOpsについても意識して進める必要もあります。Mobageはユーザー様やゲームを開発するデベロッパー様など多くの人が関わるサービスなため、開発チームと運用チームが連携し合い高品質かつ効率よく開発する事が求められます。

例えば、開発者の視点だけで開発を行ってしまい、本当に必要な機能を後回しにしてしまうと多くの無駄が発生してしまいます。他にもユーザーの声やステークスホルダーの判断をどれだけ早く反映できるかスピード感も大切で、それらを実現するために開発手法を活用して全力で前に進んで行くことが求められます。

プロジェクトマネジメントオフィスの役割

サーバーグループのエンジニアの裁量は非常に大きく、時にはプロジェクトマネージャーとしての役割を持って仕事をする場合があります。稀に開発もマネジメントも完全にこなす方もいますが、開発に注力すればするほどマネジメント側が疎かになってしまう場合もあります。その際にはプロジェクトマネジメントオフィスとしてサポートに入る事も有効です。

その際にはプロセスなどの標準化を進めたり、資源・方法論・ツール・技法など共有化を進めたりとプロジェクトマネジメントオフィスの動きは広範囲に渡ります。しかし極論これらの作業はしなくてもリリースは出来るし、直近では大きな問題にも基本なりません。

余裕が無い場合ほど後回しにしがちではありますが、長い目で見ると負債が溜まって行きレガシーなシステム化と属人化が進むなど組織としては非常に良くありません。それらの対策をする上での選択肢としてプロジェクトマネジメントオフィスを導入するのは有効であり、目立ちはしませんが非常に重要な役割とも言えます。

おわりに

上記のように開発をしていく上では様々な課題や難問が発生しますが、Mobageには優秀なベテランの方々も多く日々色んな業務で助けて頂いております。時には厳しく、時には楽しくとメリハリをつけて、皆で壁を乗り越えていく良いチームです。

一つ壁を乗り越えると次々と新たな課題が出てきて苦労も多いですが、開発がうまく行った時の喜び。そしてユーザーや関係者からの感謝。そのようなダイレクトな反応を感じれる環境と言うのは、非常にやりがいを感じられると思います。

ゴールは遥か先ではありますが、チャレンジする道のりを楽しみながら進んで行きたいと思います。開発のプロジェクトマネジメントに携わる皆様に、少しでも参考になりましたら幸いです。

最後まで読んでいただき、ありがとうございます!
この記事をシェアしていただける方はこちらからお願いします。

recruit

DeNAでは、失敗を恐れず常に挑戦し続けるエンジニアを募集しています。