見出し画像

開発の履歴を誰でも簡単に確認できるようにしよう

PicApp Advent Calendar 18日目です。

はじめに

どんなアプリやサービスでも、打った施策に対する振り返りは欠かせません。また、ユーザー行動の変化が数値として観察されたとき、それが何に起因して生じたのか把握できるような準備をしておくことは非常に重要です。

とはいえ、施策を打つチームが細分化されていたり、施策以外の要因が数値に影響しやすいプロダクトでは意外とこれが大変だったりします。

僕がデザイナーとして参加しているDMM TELLERも例外ではありませんでした。

DMM TELLERは、メッセージアプリの形式で物語が読めるアプリで、コンテンツが主役のプロダクトです。チームとしても開発チームとは別に編集のプロフェッショナルが集まった編集チームが存在し、日々コンテンツを回しています。

振り返りの課題

開発コンテンツの大きく分けて2軸が数字に影響するプロダクトなので、振り返りを行うときにはプロダクトの俯瞰的な履歴を把握しておく必要があります。しかし、履歴を残す際にはそれぞれのチームで管理する上での最適を目指すため、俯瞰的な振り返りには向かない場合もあります。

例えば、開発チーム的にはリリース毎にGitHubでリリース用Issueを立てて快適に運用していても、開発チーム外から確認するのはなかなか難しいです。そもそもGitHubに馴染みがないし、普段使われないアカウントにわざわざ権限を付与しないといけないし、何よりちょっと気になったときにささっと確認できないのはロスになります。

同じように、編集チームのコンテンツの管理表も、進捗状況や外部とのやり取りの円滑化に特化した形になっているため、そもそも俯瞰的な振り返りを意識するものではありません

俯瞰的に履歴を確認するツールをつくる

そこで、俯瞰的にプロダクトの履歴を確認するためのこんなツールを作成してみました。

iOS, Android, サーバーのリリース状況と、コンテンツの掲載履歴、そしてその日の1day RRをまとめて見ることができるツールです。(画像はダミーデータです)

開発のリリース状況はマウスオーバーで詳細表示、クリックで当該Issueを表示できるようになっており、コンテンツはクリックすると該当ストーリーの管理画面に飛ぶようになっています。

日軸でまとめられているのが実は特徴で、Github Issueやコンテンツ掲載の粒度に影響されずに俯瞰することができます。このツールにより、意図せず数字が変動したときにどんな開発をリリースしていたのかコンテンツが伸びたときにUI的な変更はあったのか、など数値の動きを解釈する際に確認しなければいけない必須事項を簡単に簡単に見ることができるようになりました。

保守運用問題

この手の解決策につきものなのが保守・運用の問題です。

「ツールを作ったはいいけど、データを更新するのが大変だからだんだんやらなくなってしまった」とか、「ツールを見るための権限を管理するのが大変で使わなくなってしまった」など、便利なものを便利に保つためのコストが意外と大きかったりします。

そんなときにオススメなのがGASです。

GAS、Google Apps Scriptを使用することで、多くの保守問題を何も考えずにクリアすることができるようになります。

権限周り

G Suiteで社内アカウントを管理しているならば、社外に出せないデータを公開する方法としてGASの「ウェブアプリケーションとして導入」は非常に相性がいいです。「アプリケーションにアクセスできるユーザー」を社内アカウントに限定するだけです。難しいことは何も考えずにアクセスを制限できます。

また、適当なスプレッドシートを用意して、入力をツールの表示に反映できるようにしておけば、「この日YouTuberにプロダクトが言及された」など自動的にはつかない外的要因をグラフにメモしておくことができます。スプレッドシートなので誰でも簡単に編集できるところがキモです。

データ周り

アプリに関するデータをGCP BigQueryに投入しているなら問題はさらに簡単です。権限周りは全てGoogleにお任せして、あとはGASからBigQueryにクエリを送信するだけです。GASには定期実行も備わっているので1日1回とか回すようにしておけばコンテンツの一覧やその日の重要指標(1day RRなど)が勝手に溜まっていきます。

開発状況に関してはGitHubのAPIでIssueを取ってきて表示しています。TELLERチーム内ではプラットフォームを問わず「リリースの際に特定のprefixをつけたIssueを発行する」という既存の運用があったため、そのまま利用しています。

取得したログはスプレッドシートで管理しておけば手動でごにょごにょしたいとか文字列で検索したいなんてときも追加で作業する必要はありません。

まとめ

かくして、誰かに何かをお願いすること無しに、俯瞰的にプロダクトの履歴を振り返れるツールを作ることができました。誰かが面倒臭くなって何かをしなくなった結果止まる、というあるあるも(ほぼ)なくなりました。

GASを効果的に使うことで、権限の問題やツールへの慣れの問題などをさらっと解決することができます。

現在GASはclaspというツールを使うことでローカルでの開発も簡単です。しかもTypescriptがサポートされていて、自分でトランスパイルしなくてもpushのタイミングで勝手にトランスパイルしてくれます。

GASなんか使いづらいという時代は終わりました、みんなで使おうGAS!(なんの記事だっけ...)

この記事が気に入ったらサポートをしてみませんか?