はじめに

こんにちは、じぬです。
最近の趣味はいろんな料理を玉子でとじることです。

自分は BtoB 事業本部 AROW 部という部署でリードエンジニアをしています。
AROW の活動についてはいくつか記事がありますので、よければそちらもご覧ください。

今回は AROW の活動報告を兼ねて、昨年の大きなトピックだった J-LOD(ジェイロッド)に関する取り組みを紹介します。

最近の AROW について

まず、改めて AROW について紹介します。

AROW は元々マップデータと Unity SDK の二つを提供し、リアルマップを扱うゲーム開発のサポートを行ってきました。
2020 年の決算説明会で発表されたように、現在は人気 IP x 位置情報の本格的ゲーム開発も進行中です。

これに向けて、最近は以下のような取り組みを進めています。

  • AROW チームによるマップデータ生成・管理の効率化
  • 開発者によるマップデータの扱いやすさを向上させるための DB 設計
  • 開発者によるマップデータの加工をサポートする管理ツールの開発
  • SDK をベータ版から公式版へアップデート

J-LOD に関する取り組みはここから派生したものです。

J-LOD とは

J-LOD は経済産業省が行っている「コンテンツグローバル需要創出等促進事業費補助金」事業です。
https://www.vipo.or.jp/project/j-lod/

AROW の取り組みは 2020 年の「コンテンツのサプライチェーンの生産性向上に資するシステム開発に関する間接補助事業の公募」に採択されました。
https://drecom.co.jp/pr/2020/07/3dararowj-lod.php

AROW と J-LOD

AROW には「開発者の位置情報ゲームの開発をサポートする」というミッションがあり、これは J-LOD のテーマの一つである「コンテンツのサプライチェーンの生産性向上に資するシステム開発」に合致しています。
また、開発速度向上のために増員などのコストが必要な時期でもあったため、J-LOD に申請する運びとなりました。
この際、特に「マップデータの生成や開発者による管理のコストを低減する」という部分にフォーカスし、主に管理ツールの提供を通じて J-LOD で求められる価値を達成するという方針をとりました。

時系列

全体としては次のような内容で進行しました。

時期 出来事
2020年4月 DB 設計や管理ツールの構想が始動
2020年5月末 J-LOD 応募
2020年6月末 採択が決定
2020年7月~8月 管理ツールを含む提供システム全体の設計
2020年9月 管理ツールの本格開発に着手
2021年1月 外部会社による実証検証が開始
2021年2月上旬 実地検査

管理ツールの詳細

管理ツールは Web アプリケーションとして開発しており、現時点では主に Google Chrome での動作を検証しています。
フロントエンドは TypeScript、バックエンドは C# サーバを採用しています。


図:開発中の画面

現在も開発中のため細かい仕様は変わっていますが、大まかな機能としては以下のようなものを開発しました。

マイグレーション

AROW チームが提供したマップデータを開発者の DB に取り込む機能です。
取り込み済みのバージョンを判断し、そこから最新データまでの差分などを確認することができます。
仮に不正データが混じっている場合は取り込みを止め、バージョン情報などをエラー出力します。

POI の編集

POI(Point of Interest)は人気のある地点など意味のある位置情報を示すものです。
管理ツールを用いて独自の POI を追加したり、既存の POI に新たな情報を付与することが可能です。

プレビュー

現在のマップデータをビューに可視化することができます。
ここには上述の機能による編集結果も反映されます。

実際にやったこと

J-LOD に採択された後、実装業務以外で行った取り組みをまとめます。

要件出しと開発フローの策定

実装やタスク管理はそれまでのフローに則る形で進行しました。
元々 issue 駆動開発をしていたため、J-LOD 用のタスクは専用ラベルをつけて管理しました。
あらかじめプロデューサーも交えて実現すべき要件を出し切っておき、週次のスクラムイベントで確認することで漏れの無いよう努めました。

日報作り

日々の開発業務やミーティングの内容を簡潔にまとめて提供する必要があります。
作業時間などの管理も必要です。
指定したフォーマットに整える必要もあるので、慣れないと少々時間がかかります。

なるべく開発に集中できるよう、スクリプトで集計や入力を楽にするなど工夫を行いました。

外部会社による検証・情報公開

成果物の担保として、外部会社を交えた実証検証の実施、公表を行う必要があります。
これには、以前から AROW のアドバイザーとして交流があった株式会社オーナカ様にご協力いただきました。

検証用に管理ツール(Docker による環境構築)やマップデータを提供し、実際に利用した上での評価をレポートでいただきました。
フィードバックを元に Docker やドキュメントを見直すことで製品価値の向上も行いました。
結果、無事プレスリリースまで至っています。
https://drecom.co.jp/pr/2021/02/3dararow.php

実地検査の準備・リハーサル

最後は実地検査(成果物のデモ)を行うため、終盤はその準備を行いました。
特に、いかに高速に動作するかという観点でスクリプトやデータの検証を入念に行いました。
実地検査はプロデューサー(非エンジニア)が担当するため、フロントエンドアプリはビルド済みバイナリをすぐダウンロードできるよう専用ジョブを用意しました。

検査の1週間ほど前からチームでリハーサルを行い、本番と同じ流れで時間や内容に問題が無いか何度も確認を行いました。
ここではあらかじめ想定していたユーザストーリーをいくつか選択し、それに沿って一通りの機能を確認していきます。
配信されたマップデータの受け取り、管理ツールでの取り込み、マップデータの編集、確認のプレビューなどです。

実地検査(本番)

当初は成果物の確認を会社で直接行っていただく想定でしたが、コロナ禍のためリモートでの実施となりました。
参加いただいたのは経済産業省、J-LOD 補助金事務局、それぞれの担当者の方です。

リハーサルと同じく一連の操作を確認していきます。
利用者から見て違和感がないかなど、途中で質問も入ります。
タスク管理など、開発全体がどのように進行しているのか、という観点の質問もありました。
この部分は、実際に issue リストや管理フローを紹介することで納得いただけました。

正直なところ機能紹介を行うくらいだろうと考えていたのですが、予想以上に細かい部分までツッコミがありました。
また、事前計画書も細部まで読み込まれている印象でした。

ふりかえり

工数がかかる事は最初から想定していたものの、半年近い期間を J-LOD に向けた開発に特化させることが必要になりました。
J-LOD への申請を目指すのであれば、 申請内容と事業計画が高く合致していることが必要になります。
片手間でやりきるのは難しいと感じます。

一方、当時はまだまだ開発初期であり、本来なら外部から評価を得られる機会はありませんでした。
しかし外部評価や実地検査を通して、外部への提供、レビュー、フィードバックという機会を得られたのは非常に有益だったと思います。

総括すると、補助金以外の点でも AROW チームにとって思いのほか有益な取り組みだったと言えます。
AROW の活動報告としてまとめた本記事ですが、この内容が同じ取り組みを目指す方の参考になれば幸いです。