Google Apps Scriptで自作アプリを作り開発体験を向上した事例

はじめに

JCB デジタルソリューション開発部 アプリチームの山田です。

この記事では Google Apps Script で自作したアプリを紹介したいと思います。具体的には、本記事ではチャットでの見落としを防止するチャットアプリと自チームで評価した結果について紹介します。 後続の記事で、より具体的なアプリの構成についても投稿いたします。 同じような課題を抱えている方々のお役に立てれば幸いです!

本記事では Google Chat を利用されている方が前提の話になってしまいますが、コミュニケーションツールとして Slack を利用されている方は echobot というアプリが同じ課題を解決してくれるので良かったら使ってみてください。
↑ 以前、利用していて凄く便利でした。

開発体験を向上するまでのステップ

  1. 開発チームの課題を具体化
  2. 具体化した課題を解決するためのアプリを実装
  3. 開発チームにアプリを利用してもらう
  4. アンケートを実施してアプリの価値/効果を測定

今後は、アンケートのフィードバックをもとにアプリの改善や追加機能に繋げる予定です。

開発チームの課題を具体化

前提条件

  • 開発メンバーは自分を含めて 8 人
  • 分報スペースを各自持っている
  • コード管理は Gitlab を利用している
  • コミュニケーションは Google Chat を利用している
  • Gitlab 上のレビューコメントは integrations で Google Chat に送信している

普段のコミュニケーションは Google Chat を利用しており、Gitlab 上のレビューコメントだとコメントされたことに気付けず、マージリクエストが放置されていました。そこで Gitlab の integrations という機能を利用し、マージリクエスト上のコメントを Google Chat に送信する対処をしました。しかしあまり効果はなく見落としが多く発生していました。(ひどい時だと 5 日間もマージリクエストが放置されていたということも..)

課題

Gitlab の integrations で送られるコメントは 1 つの Google Chat スペースに対象のリポジトリ上の全てのコメントが送信されていきます。そのため、本当に必要なコメントを見逃してしまい結局は、レビュー漏れや確認漏れに繋がり無駄な待ち時間が発生していました。

具体化した課題を解決するためのアプリを実装

Gitlab の integrations で送られてきたコメントに@testのような Gitlab 上でのメンションなど特定のキーワードが含まれている時にだけ別のスペースへ再通知するように作りました。 再通知先・キーワードは複数設定できるように実装したのでそれぞれの個人スペースにコメントを振り分ける事ができるようになりました。
(分報の仕組みとは凄く相性がいいです。)

SpaceA(再通知元)

あらかじめキーワード/Space B(再通知先)を設定しておき、Space A でキーワードを検知したら Space B に再通知する

SpaceB (再通知先)

開発チームにアプリを利用してもらう

実装したアプリを私が所属する開発チームで 2 週間ほど利用してもらいました。

アンケートを実施してアプリの価値/効果を測定

アンケートの設計

アンケートの設計ではプロダクトの価値を総合的に評価できる JCSI (Japanese Customer Satisfaction Index) という経済産業省や複数の企業が支援をして開発されたフレームワークを利用しました。またアンケート設計を効率的に行うため、1 から自身で項目を考えるのではなく、ChatGPT(OpenAI) を利用して叩き台を作成し、そこから最終的なアンケート項目を考えていきました。

調査の目的

チャット再通知機能の利用してみた満足度を調べるため

調査対象

実際にアプリを使ってもらった開発メンバー(7 名)

設問の設計方針

■ 観点( JCSI )
顧客期待:商品・サービスを利用する前に顧客が持っていた企業・ブランド、商品への印象や期待感を聞く
知覚品質:実際に商品・サービスを利用したときに感じた、品質への評価を聞く
知覚価値:商品・サービスの品質と対価を対比して顧客が感じた納得感、コストパフォーマンスへの評価を聞く
顧客満足:商品・サービスを利用して感じた満足の度合いを聞く
推奨意向:利用した商品・サービスの内容を肯定的に人に伝えるかどうかを聞く
ロイヤルティ:今後も商品・サービスを使い続けたいか、もっと頻繁に使いたいかといった再利用の意向を聞く

■ その他に注意したこと
・シンプルな設問を心がける
・設問の数はできるだけ絞る
・適切な回答形式を用いる

ChatGPTへの質問と回答

■ 質問
JCSI ベースでシステム支援アプリの満足度調査

■ 回答
JCSI(Japanese Customer Satisfaction Index)は、日本国内で顧客満足度を測定するための指標です。JCSI をベースにしたシステム支援アプリの満足度調査を行う場合、以下のような質問項目が考えられます。

1. アプリの使いやすさについて、どの程度満足していますか?
2. アプリの機能性について、どの程度満足していますか?
3. アプリのパフォーマンスについて、どの程度満足していますか?
4. アプリの安定性について、どの程度満足していますか?
5. アプリのドキュメンテーション(マニュアルやヘルプ)について、どの程度満足していますか?
6. アプリのカスタマーサポートについて、どの程度満足していますか?
7. アプリの価格について、どの程度満足していますか?
8. アプリが開発プロセスを効率化するのにどれくらい役立っていますか?
9. アプリの拡張性やカスタマイズ性について、どの程度満足していますか?
10. アプリのセキュリティ機能について、どの程度満足していますか?

上記の質問項目は、JCSI の指標に基づいて満足度を評価するものです。各質問に対して、以下の評価スケールを使用することができます。

1. 非常に満足している
2. 満足している
3. 普通
4. 不満を感じている
5. 非常に不満を感じている

また、JCSI では、満足度を総合的に評価するために重み付けも行われます。アプリの機能や重要性に応じて、各質問の重みを設定することができます。重要な要素に対しては、より高い重みを設定して総合的な満足度を反映させることができます。

さらに、追加の質問項目や自由記述のコメント欄を設けることで、回答者が具体的な改善点や意見を提供できるようにすると、より詳細なフィードバックが得られるでしょう。

実際に実施したアンケートの項目

観点 採番 質問
知覚品質 1 アプリは直感的で使いやすかったですか?
2 アプリが MR のマージ時間短縮に貢献しましたか?
3 アプリを利用していて不具合にはどれくらいの頻度で遭遇しますか?
知覚価値 4 アプリに慣れるコストに比べ、受けたメリットの方が大きかったですか?
顧客満足 5 アプリの機能については、どの程度満足していますか?
6 アプリについての初回説明は十分でしたか?
推奨意向 7 もしもアプリについて人に話す場合、肯定的に伝えたいと思いますか?
ロイヤルティ 8 今後も使いたいと思いますか?
顧客期待 9 自作アプリのパート 2 がある場合の期待度をお聞かせください
その他 10 自由回答(要望、感想など)

※ 自由回答以外は 5 段階評価で質問する
※ 集計はその他以外の観点ごとに最大 100 点満点で換算する
※ アプリ本体の「価値」を中心に評価をしたいため「知覚品質」「顧客満足」が多め

実施結果

観点ごとの詳細な点数表

知覚品質 知覚価値 顧客満足 推奨意向 ロイヤルティ 顧客期待
点数 93.3 点 91.4 点 91.4 点 94.3 点 94.3 点 94.3 点

アンケートを実施した結果、開発した側が想像していたよりも良い反応をしてもらい正直驚きました。その一方で 2 つほど改善コメントも頂いたので改善策を考えてみました。

■ 通知が 2 回届く問題
Gitlab の integrations でメッセージを受け取るスペース(再通知元)は通知オフにしてもらうよう説明をしました。

■ ハイパーリンクが失われる問題
これは既知の問題でした。Google の API 仕様で Google Chat からメッセージ一覧を取得するとメッセージ内のハイバーリンクが失われてしまうのが原因です。一旦は対応策として入れているリンク「もとの投稿は:こちら」によって、ハイパーリンクが失われる前の再通知元で投稿されたメッセージへ飛べるようになっていることを説明しました。

おわりに

ここまで記事を読み進めて頂きありがとうございました!

今回、私が所属する開発チームへ向けて開発した自作アプリが開発体験の向上に一定の効果を見込めることが分かりました。 また、この取り組みに興味を持ってアプリの開発に参加してくれる仲間も増えて 3 人体制で開発を進めていけることになりました。今後は追加機能や他の開発チームにも利用してもらえるようにアプリの汎用化や導入手順の整備を目指していきます!

最後になりますが、JCB では我々と一緒に働きたいという人材を募集しています。 詳しい募集要項等については 採用ページ をご覧下さい。


本文および図表中では、「™」、「®」を明記しておりません。
Google Cloud, GCP ならびにすべての Google の商標およびロゴは Google LLC の商標または登録商標です。
記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。

©JCB Co., Ltd. 20︎21