フォーデジットでは職種別で社内イベントを行っています。「DeveDeve(デベデベ)」はデベロッパー(フォーデジットではエンジニア職をデベロッパーと呼んでいます)によるデベロッパーのためのイベント。部署を超えたデベロッパー同士の交流、ナレッジを共有する勉強会などを行い、それぞれの強みをお互いに学び合うことで、さらに強力なチームになることを目指しています。
今回は、10月某日に開催された「DeveDeve」vol.12をレポートします。
まずは「DeveDeve」恒例のアイスブレイクからスタート。vol.11でも好評だった議事録をグラフィックでとる「グラレコ」こと「グラフィック レコーディング」に挑戦しました。
今回のテーマは「人生に影響を与えたゲーム」について。やっぱりエンジニアのみなさんには思い入れのあるゲームが多いのか、とても盛り上がっていました。
大規模サイト運用プロジェクトの道のりを語る
トークセッションでは、Communication Design Div.(以下CD)マネージャーの柞木(ゆすのき)さんにインタビュー。Service Design Div.(以下SD)西垣さんがインタビュアーを務めました。
柞木さんはフォーデジットが合併して1つの会社になる前から現在まで、某ゲーム会社サイトの運用更新を担当しています。今回は6000ページほどはある(日々増えている)大規模サイト運用更新プロジェクトについて、これまでの道のりとこれからの取り組みを聞きました。
マニュアルを作り、効率アップできました
柞木:旧FOURDIGIT DESIGNがリニューアルを担当した某ゲーム会社のサイトを、旧ETHERGRAMが運用から引き継いでプロジェクトが始まりました。かなり大規模なサイトなので、一部別の会社さんが管理している部分もありますが、ほぼサイトの全体をフォーデジットが運用しています。
西垣:引き継ぎ当時、1回納品するだけで6時間もかかっていたって聞いたよ...。何が原因で、どうやって改善していったの?
柞木:サイトの規模が大きいので更新も多くて、常に10個ぐらいの納品データがクライアントのチェック待ちで並んでいる状態でした。最初のものに差し戻しが入ったら、それ以降の9個も直さないといけないとか、毎日届くクライアント側で更新した差分データをこちらの納品データにも反映させないといけないとか...。サイトをローンチした時には想像できていなかった運用の課題が発生していました。
ブランチの切り方や納品のフローなど、ルールを整え、作業手順などと一緒にマニュアル化していくことで改善していきました。これが実物なんですけど(実際のマニュアルを見せながら)各ページのURL、使っている技術やライブラリ、開発環境の準備方法など必要なことはすべてまとめてあります。当時は私自身もGitについての知識があまりなかったので、基本的な概念や操作方法などをまとめました。メンバーを集め、まとめたマニュアルをもとにレクチャーなども行いました。
西垣:マニュアルをまとめるのってすごく大変だと思うんだけど…どうやって作っていったの?
柞木:当時、このプロジェクトだけではなく数社の運用更新が走っていて、関わるメンバーも多く、みんなができるようにならないと、という課題がありました。その流れでこのプロジェクトに限らず、いろいろなプロジェクトのルールをまとめ始めていたんです。最初は必要な項目をあげてフォーマットを作ってみて、新しく見つかる観点は追記を繰り返し、どんどんアップデートしていきました。一度作って終わりではなく今でも更新しています。
やっぱり最初は大変ですが、マニュアルがあることでキャッチアップする側も教える側も時間短縮できています。
立ち上げから運用チームも連携していきたい
西垣:運用から引き継いで、ゆす個人としては全体をどうやって把握したの?
柞木:最初は技術的にも規模的にもわからないことだらけでした。
立ち上げを担当していたメンバーが作ったシステムもあったので、とにかく分かる人に聞いて、キャッチアップしました。
西垣:それをマニュアルにまとめていったんだね。
柞木:だんだん改修も担当するようになり、新しいページを作りたいというオーダーも、運用チームに任せてもらうようになりました。そうやって数をこなしながら任せてもらえる範囲が増えていって、全体が見えるようになってきました。
西垣:やっぱり立ち上げ段階から関われた方がやりやすいよね。
柞木:できれば開発段階で関わって、内容ややり方を把握した上で運用出来た方がいいと思います。でも現実的にはリソースなどさまざまな理由で出来ないことも多いと思うので、逆に運用ルールを開発段階から共有して、一緒に考えていくという連携が出来るようになるといいのかな、と思っています。
新しいマニュアル作成中です
西垣:今、新しいルールやマニュアル、コンポーネントリストを作ってるんだっけ?
柞木:そうなんです、実は今新しいマニュアルや環境を作っています。運用していく中で開発当初に引き継がれたルールでは運用しづらい部分も出てきたので。僕はCSSのところを設計しています。
静的ファイルの差分をもらうのではなく、クライアントにもGitで更新してもらいたいという要望からスタートしました。そのために、一度サイト内の主要パーツを全て洗い出して、それを再整理して新たにコンポーネントリストを作りました。数でいうと45パーツくらいです。それを新しいマニュアルにまとめ始めています。
西垣:いつリリース予定なの?
柞木:部分的にはすでにリリースされていて、段階を分けて進めています。同じようなパーツであっても、個別のページで少し違うみたいなものが結構あり、あらためてパーツを再定義して共通化して、1つ直せば関連するパーツ全部が直るという風に組み直しています。
どうしても新規立ち上げの開発が注目され、運用チームの話を聞く機会は少なくなってしまいがち。デベロッパーのみなさんにも新鮮だったようです。納品して終わりではなく、長く関わっていく中で見えてくる課題もあります。クライアントもプロジェクトメンバーもより良い環境で、より良いものがつくっていけるように、ローンチ後も絶えず最適化を進めています。
トーク後のQ&Aでは、マニュアルを作るにあたり、Google DocumentやNotion, Backlogなど、どんなツールが最適かという話題でとても盛り上がりました。みなさん悩むところですよね。ちなみに回答は、伝えたい情報によるということで落ち着きました(笑)。
エンジニア交流イベント「DeveDeve」は毎月開催予定です。定期的にレポートしていきます!