こんにちは。アーティサン株式会社 小刀稱(ことね)です。
近年、Power AppやPower Automateをはじめとするローコード開発の市場が拡大しています。
それに伴い、ローコードアプリのエンジニアの需要も高まっています。
そこで、本日は「ローコードアプリのエンジニアが、開発を行うにあたり大切にすべき設計思想」について私の考えを述べたいと思います。
これからローコードアプリを開発していきたい方、会社でローコードアプリの開発を任された方に向けた記事です。
ローコードのメリット・デメリット
はじめに、ローコードでアプリを開発する際のメリット・デメリットについて述べます。
メリット
最大のメリットとしては、「短期間でアプリ開発が可能」という点です。
ローコードを用いてアプリを作成する際は、コーディングを伴わず、標準で提供されているフォームやボタンなどのモジュールを組み合わせることで開発を進めていきます。
また、GUI操作のみで開発が完結するため、従来のコーディングによる開発と比較し、短期間でアプリの開発が可能となります。
デメリット
一方デメリットとしては、「保守性が悪い」という点が挙げられます。
テキストエディタではなくGUIで開発するため、Power Apps上で実行されるプロパティの順番を把握していないと、デバッグが難しいということがあります。
(ブレークポイントなども設定できないので、処理を追っていくのが難しいですよね💦)
このように、短期間でアプリを作成できる一方、保守性の問題を抱えているのが現状です。
ローコードアプリの設計思想
上記を踏まえ、ローコードアプリを設計する際には、「標準機能で対応可能な箇所は、なるべく標準で作成する」という思想が、従来の開発手法と比べ重要になってきます。
「こんなの当たり前じゃん!」という方も多いかと思いますが、案外この思想を守れていない人が多いのではないでしょうか。
それは、従来の開発ではプログラムにて作り込むことが前提であったため、エンジニアはエンドユーザーから要望を受けると、「要望をどのように実現するか」ということに焦点を当てる思想が根付いているためだと私は考えております。
しかし前述したように、ローコードアプリは保守性が悪いため、機能の作り込みが多くなると、その分だけメンテナンスに時間がかかり(たまに誤ってバグを仕込んでしまい…)、ローコードアプリのメリットであった「短期間でのアプリの開発が可能」という点が犠牲になってしまいます。
よって冒頭で申し上げたように、ローコードアプリの開発を行うエンジニアは、「どれだけ標準機能を用いてアプリを作成することができるか」という思想が非常に重要になります。
しかし、実際はエンドユーザーとのヒアリングの中で、標準外の要望を受けるのも多々あります。
その際、「要望をどう実現するか」の前に、一度「その要望は本当に必要なのか」または「標準機能に落とし込むことはできないのか」という視点を持つことが非常に重要です。
(言い換えると、「アプリを人に合わせるのではなく、人をアプリに合わせる」ということです。)
代理承認機能を例にとって説明します。
Power AppsやPower Automateを用いて承認用アプリを作成する際に、「代理承認をできるようにしてほしい」などの要望を受けることがあります。
従来から存在する承認アプリには提供されていることの多い機能ですが、Power AppsやPower Automateで実現する場合、作り込みが必要となります。
代理承認機能をPower Appsにて実現させる場合、(一概には言えませんが)以下のような作業を追加で行う必要があります。
承認者と代理承認者のマッピング用テーブルを新たに追加
承認者と代理承認者の設定画面を新たに追加
新規申請時に、通常の申請か代理申請か選択するボタンを追加
承認履歴テーブルに代理承認フラグを追加
代理承認を実施した際、代理承認フラグをtrueにする処理を追加
しかし、機能の作り込みを行う前に「なぜ代理承認機能が必要なのか」という点を考えてみましょう。
その理由が「承認者が出張中の時、承認できないと困る」というような場合、「Power Automateで承認申請を行うと、TeamsやOutlookに通知される。その通知はスマートフォンでも確認できるため、出張中だから承認できないということにはならないのでは?」という考えに至るのはないでしょうか。
このような理由であれば、代理承認という機能自体が不要となります。
また、作り込みの手間が少ない機能を代替案として実装するというアプローチもあります。
例えば、申請者が自分で承認ルートを設定できる機能を追加するというアプローチです。
この機能を実装すれば、緊急時は申請者が設定した承認者に承認を依頼することが可能になります。
また、承認ルートを申請者が設定する機能だけを追加すれば良いため、先程挙げたテーブルの追加や設定用画面の準備、代理承認フラグの操作が不要となります。
もちろん全ての要望を標準機能に落とし込むことができる訳ではないですが、一度「現在の業務を疑ってみる」という視点を持つことで、ローコードのアプリ開発に対する難易度を下げることができます。
以上、ローコードアプリ開発時の設計思想について、私の考えを述べさせていただきました。
設計する際の考え方について、参考となれば幸いです。
最後までお読みいただき、ありがとうございました!
【こちらも合わせて読みたい】
地方自治体ローコード導入・運用支援サービス(Power Apps・Power Automate)
Microsoft社が提供するローコード技術であるPower Platformを用いて、自治体様のDX化を支援します。
X-SP | SharePoint デザイン・機能拡張サービス
デザイン×機能を兼ね備えたSharePointを提供いたします。
SharePointの利便性を向上し、操作性と視認性を兼ね備えたデザインでユーザーの業務効率化・ストレス低減を提供します。
内製化支援サービス | Power Platform(Power Apps・Power Automate)
Power Platform(Power Apps・Power Automate)開発や運用をスムーズに内製できるよう支援いたします。
DX人材育成プログラム | Power Apps・Power Automte 教育
Microsoft社が提供するローコード技術であるPower Platformを用いて、社内のDX化を推進するための人材を育成いたします。
Power Apps/Power Automateアプリ開発・導入支援サービス
Microsoft社が提供するPower Apps / Power Automateの導入支援として、高度なアプリも最速で作れる業務アプリ作成支援サービスを提供いたします。
SharePointモダン化コンサルティングサービス
従来のSharePoint から移行・モダン化したい方に向けて、事前調査からサイト作成・活用支援までトータルなコンサルティング・技術支援を提供いたします。
小刀稱知哉
大分県出身(温泉大好き)、現在は東京都在住
1990年生まれ
30才でメーカーの技術営業からIT業界にジョブチェンジ!!!
趣味は読書
Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!
持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305/SC-200