【GASコーディング講座】ケース3「Web新着データの自動通知」

gas coding case3

ITスクール「First」が提供しているGAS(Google Apps Script)コーディング講座のケース3の内容を説明します。題名は「Web新着データの自動通知」で、特定のWebサイトに掲載された新着データの通知を自動化するシステムを構築します。

1. テーマの進め方(プロセス)

GASコーディング講座では、実際の開発プロジェクトに近いプロセスで進めます。全体のプロセスを下図に示します。プロセスはStep.0~3までの全4段階で構成され、各Stepは複数のタスクを持っています。Step.0「企画」から順に進めていきますが、途中に2回ほどレビューを実施し、指摘事項があれば前のStepに差し戻しされます。

gas course detail

ケース3で使用する「開発計画書」を下図に示します。開発計画書には、プロジェクトを進めるチームメンバーの役割分担や開発環境、全体スケジュール、タスク内容などを記載しています。

development plan

各Stepの特徴は以下の通りです。

Step.0「企画」

主に構築するシステムの「要件」を定義します。また、プロジェクトの全体計画も作成します。全体計画については既にプロジェクトマネージャーが実施しております。業務コンサルタントおよび開発者であるスクールの生徒は、「顧客ヒアリングの実施」からスタートすることになります。

スクリプト(プログラム)の作成の前に、「要件定義書の作成」を行います。顧客からヒアリングした要望をもとに、実際に構築するシステムの要件を定義します。そして、要件定義が完了した後に、顧客に対して説明会を開催し合意形成を行います。

Step.1「構築」

Step.0「企画」のアウトプットである要件定義書と開発計画書にもとづいて、実際にシステムを構築していきます(スクリプトを作成)。ただし、GASコーディング講座では、特にお手本となる資料はないため(あえて作っていません)、分からないことがあれば随時、自分でネット情報などを調べながら進めていくことになります。

最初はかなり大変だと思いますが、誰にも頼らずに自分で考え抜く経験を積むことで、ITスキルと思考力が飛躍的に高められます。ケース3では、特定のWebサイトからデータを取得して、新着データの差分を抽出する処理が実装で一番難しいポイントになるでしょう。

スクリプトが完成すれば、「実装レビュー」を実施します。変な癖や非効率的な作り方などを、一つ一つ指摘していきます。自分が作ったものを第三者から指摘されることは辛いと思いますが、レベルの桁を1つ上げるためには、このレビューは必要不可欠です。レビュー後はスクリプトの修正などを行います。指摘事項がすべてなくなるまでこのサイクルを回します。そして、ようやくシステムの完成です。

Step.2「検証」

Step.1「構築」のアウトプットであるシステムが正しく動作するか検証します。いわゆる、システムテストです。システムテストでは、Step.0で作成した「要件定義書」に記載しているすべての要件を満たすか確認します。

特に、不完全な入力データ(ブランクや入力ミスなど)や、分岐処理の全パターン、例外処理の効果などを網羅的に検証します。なお、テスト計画時にはレビューを行います。

Step.3「運用」

Step.2「検証」でシステムが問題なく動作すれば、実際の運用に入ります。基本的にシステム開発を行う場合は、開発する環境と運用する環境が異なるケースが多いです。運用専用の環境にシステムをデプロイしますが、環境の違いによってトラブルが発生する可能性がありますので気をつけましょう。

また、運用時にシステムを実際に使用するユーザーが参照できる簡易な「運用マニュアル」も作成します。運用マニュアルを作成する場合は、開発する側の視点から、運用する側の視点に切り替える(想像する)必要があり、色々と学びが多いでしょう。特にケース3では、新着データの取得や通知の設定に関する説明や使い方などをしっかりと記載しておきましょう。

実際に運用専用の環境にてシステムを仮運用し、何かしら問題が発生すれば、Step.1「構築」に差し戻されます。問題なく仮運用が回り出せば、晴れてプロジェクトは完了です。最後に、チーム内でプロジェクトの簡単な振り返りを行います。今回のシステムの導入によって、どれくらい「投資対効果」が出たか算出してもらいます。

2. テーマの概要

ケース3「Web新着データの自動通知」は、あるコンサル企業の顧客が行っているWebサイトから新着データを抽出・通知する業務を効率化していく架空の物語です。実際に顧客の業務内容の詳細をヒアリングし、システムを開発・導入して、顧客の業務改善を支援してください。プロジェクトの達成を目指して一緒に頑張りましょう。

※本ケースは実際のプロジェクト案件のため、残念ながらヒントはありません。常に自分の頭で考えながら行動していく必要があります。