どうも。つじけ(tsujikenzo)です。このシリーズでは、2021年5月から始まりました「ノンプロ研GAS中級講座5期」について、全8回でお届けします。今日は8回目で最終回です。最終回は、なんと3回でお送りいたします。
前回のおさらい
前回は、「HTTP通信・API」をお届けしました。
今回は、卒業LT大会で発表しました 「ノンプログラマーによるGAS開発モデル」 をお届けします。
卒業LTのアジェンダ
1章. 『ノンプログラマーによるGAS開発モデルとは』
2章. 『プロの開発を知ろう』
3章. 『ノンプログラマーによる開発』
さっそく、第1回目(1章)です。
モデルとは
ものごとの本質・共通項目を抜き出したさまを「抽象的」といいます。 抽象的の反対は具体的です。
「請求書を発行する」という業務は具体的ですが、抽象化すると「書類を発行する」になります。
このように、業務の流れや構造を抽象化したものを 「モデル」 といいます。
モデルは、業務を可視化したり分析したり(モデリング)、実際にシステムを開発するときにモデルが用いられます。
GAS開発モデルとは
Google Workspaceは、オフィス業務に必要なソフトウェアを一揃えにしたサービスです。
このLTでは、「GAS開発」を、「業務アプリケーション開発」 と定義しておきたいと思います。
業務の流れや構造をモデル化し、モデルを用いて業務アプリケーションを開発することを目標とします。
GAS開発モデルの背景
業務アプリケーションが存在する理由は、解決したい課題を持っている人(以降、発注者)と、その課題を解決する業務アプリケーションを作る人(以降、開発者)がいる からです。
わたしたちのようなノンプログラマーは、発注者=開発者 であることが多いのではないでしょうか。
ある日、ルーティンワークを効率化したいなと思ったら、自分でGASを書いてしまうと思います。
しかしながら、発注者=開発者 であることの限界は、かんたんにおとずれます。
次節では、限界がおとずれる理由を、「GAS開発モデルがもたらすもの」 という視点で考察してみます。
GAS開発モデルがもたらすもの
GAS開発モデルがもたらすものとして、以下の3点を挙げてみました。
– 備忘録、および開発の資産化
– 属人化の排除
– 成果物の評価
備忘録、および開発の資産化
プログラミング学習を続けていると、「3日後/3週間後/3ヵ月後の自分は他人」 という格言を耳にすると思います。
「コードを書いたのは自分のはずなのに、なにを書いているのかわからない」という現象に陥ることです。
講座では「インデントを揃える」、「ドキュメンテーションコメントを付ける」、「分かりやすい変数名を付ける」などの、いわゆる「リーダブルコード」のスキルを習得します。
GAS開発モデルでは、コードを書くだけでなく、要件定義書やフロー図などを作成し、「なぜこのコードが書かれたのか」 という理由や成り立ちもドキュメントに残します。
もちろん、「開発の時間短縮」という効果もあるでしょう。
属人化の排除
GAS開発モデルは、誰でも利用できる、GAS開発の手順です。
業務に詳しい人が、社内で限られることは仕方ありませんが、業務アプリケーション開発の担当者=発注者と近い人でなくてもいいはずです。
属人化の排除は、最終的に生産性を大幅に向上させます。
そして、もしあなたが経営者なら、属人化の排除を徹底して評価しましょう。
成果物の評価
いくら便利な業務アプリケーションをつくっても、会社に評価されなければ継続的なモチベーションや、開発につながりません。
しかしながら、評価する側からしても、ぐにゃぐにゃ自動で動く業務アプリケーションをいきなり見せられても、逆に不安かもしれません。
GAS開発モデルは、「どんな課題を解決したのか」に加えて、「正しく解決できているか」 という評価も可視化します。
まとめ
以上で、「ノンプログラマーによるGAS開発モデルとは」 をお送りしました。
わたしたちノンプログラマーが置かれている開発状況を見渡し、「開発をモデル化するといいのではないか」という仮説を立てました。
この仮説の検証をするために、まずプロの開発手法を学んでみましょう。課題解決の糸口が見つかるかもしれません。
次回は、「プロの開発を知ろう」 をお届けします。
このシリーズの目次
- [ノンプロ研]GAS中級講座5期 事前課題
- [ノンプロ研]GAS中級講座5期Day1 スコープと関数
- [ノンプロ研]GAS中級講座5期Day2 クラス・ライブラリ
- [ノンプロ研]GAS中級講座5期Day3 組み込みオブジェクト
- [ノンプロ研]GAS中級講座5期Day4 ScriptServices1
- [ノンプロ研]GAS中級講座5期Day5 ScriptServices2
- [ノンプロ研]GAS中級講座5期Day6 HTTP通信・API
- [ノンプロ研]GAS中級講座5期卒業LT ノンプログラマーによるGAS開発モデルとは
- [ノンプロ研]GAS中級講座5期卒業LT プロの開発を知ろう
- [ノンプロ研]GAS中級講座5期卒業LT ノンプログラマーによる開発