Google AppSheetで顧客関係管理(CRM)アプリを作成してみた - 開発手順編 -

はじめに

この記事の筆者の私は、2017年よりベトナムから日本へ来て、2018年ハイペリオンに入社しました。
テスターとしてのキャリアを開始し、単体テスト、結合テスト、総合テストを一通り経験。
品質保証計画プロジェクトへメンバーとして参加するなど、品質管理のエキスパートとして経験を重ねてきました。

今回は、社内で使用している顧客関係管理(以下、CRM(Customer Relationship Management))システム をGoogle AppSheetに取り替えることができるか否か可能性を調査し、CRMアプリの開発を行いました。

前回の記事では、Google AppSheetで開発したCRMアプリの機能についてご紹介しました。
Google AppSheetで顧客関係管理(CRM)アプリを作成してみた - 機能紹介編 -

この記事では、Google AppSheetのCRMアプリの開発手順について10ステップでご紹介します。

開発の目的

既存のCRMシステムのリプレイス

開発の背景

既存のCRMシステムは業務効率向上を支援するクラウド型サービスのプラットフォームを使用していたが、下記の課題があったため。

  • 一部の機能しか使用しない(必要ない)ので、使用機能に見合った利用料のシステムを使いたい。
    → 既存のシステムを利用していく中で使用する機能が明確になり、当面新たに使う機能はなさそうなため、過不足ないシステムが望ましい。
  • 既存のCRMシステムでは、前後の業務(作業)はGoogle ドライブやGoogle スプレッドシートを利用することがほとんど。
    → 入力工数の手間の削減や自動化(データ連携)などを考えると、AppSheetに優位性があった。

開発手順

ステップ1:アプリ設計/要件定義

概要

要望をまとめて、アプリの設計をする。
既存のCRMシステムがあるなら、そのサービスを参考した方が良い。
例えば、下記のようなことを確認しましょう。

  • 作成したいアプリは?
  • 必要な機能は?
  • ユーザー権限は?
    ※ ユーザー権限を分けて管理するのが不要なら、以下のステップ7をスキップする
  • データ移行は?
    ※ データ移行が不要なら、以下のステップ9をスキップする

成果物

要件定義と設計の成果物は、以下のような資料(今回開発したCRMアプリに関する資料)となる。

参考:システム機能関係図
参考:画面遷移図
参考:詳細設計書(添付入力画面)
参考:ユーザー権限図

ステップ2:データのファイル作成

概要

AppSheetに連携するアプリ設計により、Google スプレッドシート(以下、スプレッドシート)でデータのファイルを作成する。

  • スプレッドシートのファイルはデータソースになる
  • 各シートはDBのテーブルになって、画面や機能などで使う(マスターデータもあり)
  • 各シートの各カラムは画面のアイテムになる

ステップ3:データの連携

概要

ステップ2で準備したデータをAppSheetに連携し、アプリの初期設定(initialization)をする。

1.AppSheet管理ページで「Create」をクリックし(①)「App」を選択(②)、「Start with existing data」を選択する(③)。

2.アプリ名を入力し、「Choose your data」ボタンをクリックする。
 ※アプリ名は後からでも変更可能。
 ※分野はオプション項目を設定しても良い。

3.「Google Sheets」を選択し、データソースのファイル種類を指定する。

4.ファイル・パス、そして作成したデータ・ファイルを指定し(①)、「Select」ボタンをクリックする(②)。

5.データ連携すると、アプリの大枠が作成される。

ステップ4:データの設定

概要

ステップ3でデータ連携しアプリの初期設定をした後、ユーザーの要望次第で、各テーブルの項目のキーや項目タイプや表示要件や必須属性などを設定する。

テーブルとスライスのデータを設定するには、AppSheetのアプリ管理の「Data」タブで設定する。

スライス の作成

必要なら、スライス(Slice)を作成。データをテーブルからスライスに分ける場合に使う。

例えば、顧客情報は同じ「顧客情報」テーブルからデータを連携する場合は、「見込み客」と「取引先」のスライスに分け、各スライスは別のフィルター条件を指定した。

Ref の作成

テーブルで他のテーブルと連携する項目があるなら、「Ref」を作成し指定する。

例えば、「顧客情報」テーブルの「社員ID」項目は「社員情報」テーブルと連携する場合は、関連のデータを使う。

Virtual column の追加

特別な計算や表示するための項目があるなら、「Virtual column」を追加し、設定する。

例えば、「顧客情報」の「住所」カラムの情報で「Virtual column」を追加した場合は、「郵便番号」と「住所(都道府県・市区町村)」と「住所(町名・番地・ビル名)」のカラムの情報がまとめて表示される。

ステップ5:ビュー設定

概要

各画面は、相応のビューを作成し設定する。(アプリを初期設定する時、自動初期作成のビューもある。)
ビューを作成し設定するには、AppSheetのアプリ管理の「Views」タブで設定する。

表示形式や順番などの調整

各ビューで画面のデータソースと項目の表示形式や順番などが調整できる。

例えば、「連絡先」の連絡先一覧画面には、「顧客ID」でグループし、グループのカウントも設定した場合は、
ソートはデフォルト(データの行番の上昇)になる。

他の画面とアクションの連携

画面の操作と表示ボタンは、通常、他の画面とアクションを連携することがある。

例えば、連絡先一覧画面のビューは連絡先詳細画面のビューと連絡先入力画面の追加アクションを連携する場合は、下記のようになる。

  • 一覧エリアにデータをクリックするとき、連絡先詳細画面へ遷移するようになる。
  • 追加ボタンをクリックするとき、連絡先入力画面へ遷移するようになる。

ステップ6:アクション設定

概要

各画面のアクションを作成し設定する。(アプリを初期設定する時、自動初期作成のアクションもある。)
アクションを作成、設定するには、AppSheetのアプリ管理の「Actions」タブで設定する。

データソース/アクション属性/アクション名/アイコンなどの設定

各アクションで、データソースやアクション属性やアクション名とアイコンなどを設定できる。

例えば、下記画像のようなアクションを設定すれば、見込み客追加ボタンを作成できる。

他の画面とアクション/アクションなどの連携

他の画面とアクションやアクションなどの連携がある場合も、設定できる。

例えば、アプリのタグをフィルターするには、フィルターのデータを設定するためのアクションと画面移動するためのアクションを呼ぶ。

ステップ7:ユーザー権限設定

概要

要件定義時に、ユーザー権限が必要と決まったなら設定が必要。

1.権限マスターとユーザー権限データの設定

例えば、ユーザー権限の分類は「権限」マスターで管理する。

そして、各ユーザーの権限は「社員情報」の「権限ID」で指定する。

2.ユーザー権限に応じた各テーブルのデータアクセス権限の設定

「Data」タブでテーブルを選択し(①)、「Table settings」ボタンをクリック(②)する。

権限により、データアクセス権限(閲覧、追加、変更、削除)を指定する。

3.ユーザー権限に応じた画面のボタン表示の設定

「Action」タブで画面のボタンと相応のアクションを選択し(①)、「Behavior」を設定すると、表示権限や表示時点などを指定できる(②)。

ステップ8:テスト

概要

不具合や調整するべきことなどがあるなら修正する。
以下のようなテストシナリオで、確認チェックリストやテストケースなどを作成するのがオススメ。

参考:テストシナリオ

ステップ9:データ移行

概要

既存のCRMシステムがあるなら、必要に応じて、データを移行する。

1.移行計画やデータマッピングなどの資料作成

データ移行する前に、以下のように、移行計画やデータマッピングなどの資料を作成するのがオススメ。

参考:データマッピングのシート

2.データ移行

作成した顧客関係管理(CRM)アプリに、既存のCRMシステムのデータをバックアップし、AppSheetアプリにデータを移行する。

参考:データ移行結果

3.移行結果と操作の流れの確認

データを移行した後、画面で移行結果と操作の流れを簡単に確認する。

ステップ10:デプロイ(カスタマイズ含む)

概要

ステップ8・9のテストとデータ移行が完了した後、AppSheetのアプリ管理の「Deploy」タブでアプリのデプロイ状況を確認できる。GUIやロゴなどをカスタマイズすると、アプリがすぐにデプロイできる。

デプロイ前

アプリがまだデプロイしていないなら、デプロイできるかどうか状態の確認や問題まとめなどの情報を表示される。

  • デプロイをチェックすると、不具合があるなら、エラーメッセージが表示される
    ※アプリロゴやアプリ説明などカスタマイズ関係の問題があるなら、警告メッセージが表示される
  • 不具合がなくすぐにデプロイできるなら、デプロイするためのボタンが表示される
  • デプロイボタンをクリックするとアプリをデプロイできる
カスタマイズ関係の警告メッセージの解消
アプリの説明、開発チームや著作権などの情報を設定

AppSheetのアプリ管理の「Settings」タブの「Information」エリアで、アプリ名とアプリの一般的な紹介(アプリ説明)、開発チームや著作権などの情報を設定できる。

アプリのテーマ/色/ロゴなどの設定

AppSheetのアプリ管理の「Settings」タブの「Theme & Brand」エリアでアプリのテーマやメイン色やロゴなどの設定ができる。

アプリの共有ボタン名/メッセージなどの設定

AppSheetのアプリ管理の「Settings」タブの「Localization」エリアでアプリの共有ボタン名やメッセージなどの設定ができる。

デプロイ後

アプリがデプロイ済みなら、デプロイ済み状態を表示される。
必要に応じて、未デプロイの状況へ戻るのができる。

まとめ

AIで分析や予知など高機能はまだAppSheetで展開できないが、他のCRMシステムのメイン機能がAppSheetでリプレイできますよ。
AppSheetは便利で、他のGoogleのサービスも連携可能ですから、AppSheetでCRMアプリの開発をすることをオススメします。
もし、開発が難しい場合やお困りの点があれば、ハイペリオンへご相談ください。