AppSheetによる業務アプリケーション開発

ノーコードの潮流と、AppSheetによる業務アプリケーション開発のススメ

ノーコードがデフォルト化?

DXの世界で「ノーコード」という言葉が聞かれるようになり久しくなりました。業務アプリケーション開発の分野でも例外なく、多くのノーコードツールが存在します。事実、GoogleのAppSheetやMicrosoftのPower Apps、AmazonのHoneycodeなど、主要なプレイヤーもアプリ開発のプラットフォームとしてのサービスを競って提供しています。

この分野に関わらず、業務を支援するツールは無数に存在し、様々なサービスがプログラミング言語を必要とされることなく利用できるツールや環境が提供されています。その多くがノーコード、もしくはローコードと分類されるサービスが多数を占めている事実からも、様々なツールを日頃使っている人でも利用中のサービスがノーコードツールである事実を意識することなく、日々利用されているのが実態ではないでしょうか?

これから提供される業務支援型のアプリケーションが「コードレス」なプラットフォームであることは、なかば必須要件です。そして今後もノーコードツールの利便性が高まり、かつ、より高度な処理をより簡単に実装できるツールとしてのノーコードソリューションの分野が成長する流れが続くものと想定されます。現在、コーディングしなければできない処理や作れないサービスもノーコードで実現できるようになる可能性について否定的な立場を持つ方は少ないでしょう。

市民開発者向けツールとしての注目度が高まるAppSheet

ノーコードが定着し一般化した今、ノーコードを正しく認識し、その活用に当たっての利点に加え課題についても事前に認識しておくことの重要性が高まってきています。

今回は、Googleが提供する業務アプリ開発ツールのAppSheetに焦点をあて、ノーコードによるアプリ開発の利点、および運用に当たっての問題点とその解決方法について整理します。なお、筆者は長い間AppSheetを取り扱い、そのE-learningのコンテンツを提供したり、様々な開発支援を行ってきた立場であるため、バイアスが含まれる可能性もありますが、その点ご了承ください。

ノーコードとローコードの違い

ノーコードを語り始めるにあたり、⁠ローコードサービス」との差異について確認しておきましょう。両者は「コードレス」なサービスと区分されますが、何が大きく異なるのでしょうか?

これから利用しようとしているそのツールが、ローコード、ノーコードのどちらに属するサービスかを正しく認識することが重要です。ノーコードのサービスとして提供されているツールの中でも、実は、プログラミング言語の知識を必要とされるものも存在し、この2つのカテゴリーの境界が若干不明瞭になっていることも問題です。

利用を始め、後日「こんなはずではなかった」といった事態に陥ることなく、事前にこの点を見極めて置くことが必要でしょう。業務アプリケーション開発の分野でいえば、AppSheetはノーコード、Power Appsはローコードツールと定義されています。

昨今、⁠市民開発者」といった言葉も多用されてます。ノーコードとローコードを区別する一つの指標として、誰がそのプラットフォームを利用したアプリケーションの主体的な開発者となり得るかという視点も妥当です。

市民開発者を、プログラミング知識やスキルを持たない一般社員と言い換えた場合、ノーコードが対象とする主たる利用者も市民開発者です。当然ノーコードツールはプログラミング言語を操れるエンジニアも利用します。

しかしローコードツールでは、初歩段階からプログラム言語的要素の習熟度が試される場面も多いことから、その対象となる市民開発者は限定的です。つまり、エンジニアがコードを書く作業を最小限に押さえながらアプリケーションを開発を実現させるものです。よって、両者は似て非なるものと考えることが適切でしょう。

ツール選定にあたり、実際に対象者として想定されている開発者のスキルレベルにあわせたチョイスが重要となることは間違いありません。社内全域でDX文化を広げ、IT部門のメンバー以外の一般社員によるアプリ開発を目指す場合、市民開発者向け、つまりはノーコードツールの選定が推奨されます。

簡単ではあるが、超簡単ではないノーコード開発と運用

続いてノーコードツールの導入、運用において事前に認識しておくべき事項を確認しておきましょう。

「簡単にアプリが作れる!」という宣伝文句を耳にすることがあります。しかしノーコードツールの取り扱いにおいて求められるスキルやリテラシーといった問題をしっかりと認識しておかないと、サービスを上手に活用できません。誤解を恐れずに言うと、ノーコードツールとはいえ、いざ実務レベルの高度なアプリケーションを開発しようとすると、その初期段階では特に「実際、簡単にはアプリが作れない」という事実に気づかされることでしょう。

その背景には、簡単にアプリが作れることが事実だとしても、自由に開発ツールを操作し、千差万別、複雑怪奇な実務上のビジネス要件をアプリ化する過程において、具体的な実装方法について困惑してしまうことが原因と考えられます。

アプリの開発が進展するに従い、求められる機能や要件は複雑化していくことが自然です。たしかにフルスクラッチのアプリをコーディングすることに比べると、⁠簡単にアプリが作れる」という文脈で、この言葉は常に真実ですが、⁠ノーコード=簡単」という定義は誤りです。ノーコードツールを操る上での深い理解が不可欠であり、その結果、ノーコードツールを利用するに際しても相応の「学習コスト」を伴うものである点について事前の理解が必要と感じます。

それではノーコードツールを利用する利点が薄まるのではないか?と問題提起される人がいるかもしれません。しかし、一般にコーディングを学習し、さらに高度なアプリを一人で開発するケースと比較すれば、ノーコード学習のコストは、比べ物にならないくらい少なく、引き続きノーコードツールの優位性が揺らぐものではないでしょう。

「何事にも学習が必要」という普遍的な課題はどこでも絶対なものなのです。これはAppSheetによる業務アプリ開発の世界にも当てはまります。誤解を恐れずに指摘するならば、AppSheetが数多く提供している各種機能を広く理解しない限り、目的とするアプリ開発は容易には進みません。ご自身の業務を高度にサポートするアプリを開発するためには、体系的にAppSheetの基礎を学習することが不可欠です。

なぜ、企業はノーコードの道を選択するのか?

次に、ノーコードのAppSheetによる市民開発者によるアプリ開発の優位性と、AppSheetによる開発の特徴について取り上げます。

一般的なアプリ開発では、機能的な要件の整理作業が開発のスタートポイントとなるのが常でしょう。開発者と利用者が異なる場合、両者間のコミュニケーションが必要となります。時間と工数が求められる作業であることは言うまでもありません。

ノーコード開発の場合、開発者と利用者が一致している場合が多く、この行程が必要とされない点が大きなメリットです。開発の主体者がユーザーの立場となり、機能の実装とテストを検証することや、その作業をサイクル化して連続で進めるのがノーコードによるアジャイル開発です。不確実性の高いアプリ開発において不要な手戻りを最低限に抑えられることが大きなメリットです。

当然、AppSheetによる開発においても開発者と利用者が異なる場面も多いでしょう。そのような場面でもAppSheetによるアジャイル開発の優位性が発揮されます。AppSheetで様々な目的の業務アプリケーションを開発する作業ですが、実は、どのような目的のアプリであっても、アプリの開発ツール側では同じような作業の繰り返しです。その基本は「データベースを操る」という共通の操作に過ぎません。一見、目的が大きく異なるアプリであっても、アプリの裏の構造はしばしば似ているものなのです。

AppSheetでの開発は、業務要件を「AppSheetのアプリ構造」に翻訳し、機能として実装させることの連続作業と解釈されます。⁠〇〇を目的とするアプリで△△の機能を実装したい」という自然言語を「AppSheetの言語」に置き換え、粛々と実装を進めるわけです。開発の過程において追加要件や修正が求められることは普通です。その都度、目的の機能をAppSheet的に実現するために、AppSheetの世界で提供されている数々の「Option(=Solution⁠⁠」から最適解をチョイスし、実装を継続的に進めていきます。新たな機能が既に実装されている機能との間で、矛盾を生じさせないか? ある意味、ロジカルシンキング的な要素が求められる点も特徴的な側面かもしれません。

AppSheetによる開発作業や過程を整理すると、アプリに求める千差万別、唯一無二の単純・複雑な業務要件を「AppSheet的に一般化」して、機能を実装します。アプリ側での設定は、そのアプリが何に利用されるか?を問うているわけではありません。よって、アプリに期待される要件・要望をAppSheetで実現できる機能に置き換えて実装していきます。逆の視点から見れば、内容を問わず、様々な目的のアプリケーションに柔軟に対応して開発できるAppSheetの特性を示しているともいえるでしょう。AppSheetの機能の組み合わせが最終成果物のAppSheetアプリになるわけです。

AppSheetの開発はAppSheet Editorと呼ばれるブラウザ上のWebインタフェースですべてが基本的に完結します。すべての設定が一か所に集約されているわけです。また、AppSheetの開発は、データの操作や複雑なUIなどの画面設定なども、⁠AppSheetの関数」を駆使することで実現します。Editorの各所に組み込まれたこれらの関数を解読すれば、そのアプリに組み込まれている機能がどのような働きを行うかを理解できます。また、バグの修正やトラブル発生時の対応の場面など、業務アプリを運用していくうえで重要な視界と視野も確保されています。企業にとっては、こういったメンテナンスが容易という点が、AppSheetを含めたノーコードツールを選択する上で重要視されるはずです。

ノーコードでできることはさらに拡大していく

AppSheetを含めてノーコードツールは、コーディング・プログラミングと比較して「柔軟性が低い」といった評価の声を聞くこともあります。ノーコードの黎明期ではこの指摘も正しかったでしょうが、ノーコードで実現できる世界が大きく拡大した昨今、この指摘は過去のものになりつつあります。

業務アプリ構造を標準化し、様々なニーズに対応できる柔軟なツールとして展開されているAppSheet。2020年にGoogleに買収されて以降、Google Workspaceを始めとしたオフィススイートとの連携も強化されています。この流れは将来に渡って続き、⁠ノーコードで実現できる世界」はさらに拡大していくことは確実です。この将来性も先見性のある企業を惹きつける魅力となっているのかもしれません。

最近では、Google Apps Scriptとの連携、BigQueryとの接続といった機能が続々と追加され続けています。来年、AppSheetを見れば、いまあるその姿と全く異なるものとなっているかもしれません。時代はノーコードです。フルスクラッチのアプリが簡単に作成できる夢のような時代が訪れました。

とはいえ、AppSheetを自由に操るための学習コストといった壁があることは前述の通り否定しませんが、スキルを身に着けた先で得られるものの大きさとビジネスに与えるインパクトは巨大です。市民開発者のコミュニティが拡大し、結果、具体的なDXの推進による成果を肌で感じられる人がさらに増えていくことでしょう。学習に際しても楽しんで取り組むことが重要で、その成果が日々の業務上の課題解決につながった時の喜びをより多くの人々と共有できるようになるはずです。

おすすめ記事

記事・ニュース一覧