こんにちは。
インフォシェア株式会社 DX部です。
近年、「誰でもアプリが作成できる」「ローコードだから」といったCMを見ることが多くなりました。ローコードアプリ製品の市場は拡大し、ベンダーに頼らず、自社で業務アプリを作成・活用する企業が増えています。この流れは、変化の激しい世界情勢において、ビジネスの迅速性が常に求められる企業にとって非常に望ましい傾向です。
考えてみると、社員の誰もが日々の業務で「自分たちの業務にピッタリの独自のアプリを必要としている」状態にあるのではないでしょうか。というのも、私たちは日々の業務でたくさんExcelブックを作成し、それを「美しく」「見やすく」「使いやすい」シートに整えています。ある意味、このExcelは「業務アプリ」と同等の役割を果たしています。独自アプリのような画面(UI)が無いだけで、「業務でこのような処理がしたい」という要求を体現したExcelを利用していることからすると、もしExcelではなく、「画面のついた”アプリ”」を自分たちで気軽に作ることができるのであれば、それに越したことはない」と考えるのは自然なことです。
業務アプリが必要になったとき、どのように作成を検討しますか? 一般的に以下の二つの選択肢があります。
一つは「アプリ開発に興味がある、経験がある社員が作成する、市民開発者によるアプリ開発」を検討する。もう一つは「ベンダーに依頼して開発してもらう、プロに依頼する開発」を検討する選択肢です。
それぞれのケースにおいて、実現すべき要件も異なりますし、複雑性も異なります。つまり、かかる工数や割くことができる費用が異なるはずです。
この記事では、それぞれの選択について、適した進め方やアプリ作成を成功させるポイントをお伝えしたいと思います。
まったくアプリ開発を経験したことがない市民開発者が、アプリを作成する時に大切な要素は、大きく二つあると考えています。
一つは「チームワーク」にすること、もう一つは「基本に忠実なシンプルなアプリを作成する」ことです。
一つ一つ説明をしていきます。
1. チームワークの重要性
インフォシェアが担当した様々な企業様の例を考えると、「アプリが必要になった」→「得意そうな人を募り」→「担当者が一人で作成する」というケースがよく見られました。少し前までのPower Appsは一つのアプリを編集できるのは(同時には)一人と限定されていたため、どうしても一人作業になりがちでした。現在でもPower Automateについては複数人同時編集はサポートされていません。なんだか、雰囲気的に「だから一人でやってね」という空気感が出やすいですね。
現在のPower Appsに関しては複数人で同時にアプリを編集する機能があり、一人作業ではなく、みんなでディスカッションをしながら作成することも可能です。
例えば、画面デザインを担当する方が、ボタンや部品をどんどん置いていって骨格となる画面を作成。別の方が、それを見てロジックを入れる。数人で相談しながら関数を解釈し、実装の正当性レビューを進めていく、などです。
「チームとして取り組む」ことは、開発後の運用を鑑みても重要な要素です。可能な限り、チームの多くのメンバーをアプリ作成時から巻き込むことができたら最高です。
複数人での開発は、視点の多様化によりアプリ作成のバグを減らすだけでなく、運用後の責任や保守対応を分担しやすくなる利点があります。
なにしろ、アプリは運用を開始した後が重要です。マイクロソフト側の仕様変更によって改修が必要になるケースもあるかもしれません。人事異動が多い企業では、複数人で関与しておくことでアプリに関する引き継ぎもスムーズになります。
2. 基本に忠実かつシンプルなアプリ作成
アプリを作成する際、基本に忠実であることは重要と考えています。
基本とは、具体的にどのようなことを言っているのでしょうか?
①アプリ作成に必要な最低限の工程を確実に踏む
インフォシェアの伴走支援サービスでは、市民開発者がアプリを作成する際に、「要件定義」を実践するステップを必ず含めるように支援しております。
日々行っている業務であっても、アプリとして形にするには「要件定義」が不可欠です。
ローコード製品でアプリを作成する場合、「やりたいことが全部できるわけでは」ありません。できることより、できないことの方が多いこともあります。オーダーメードの服のように、「裁断から全部フルオーダー」で行うのではなく、ローコードは「すでにあるパターンをつかった簡易オーダー」になります。用意されている部品を使うことになるので、その部品でできる範囲がすべてです。
何を実現して、何を諦めるのかを決める必要があります。
要件定義では、目的・機能・実装範囲・諦める機能(または次回改修時へ持ち越し)などを簡潔に書き出すだけで構いません。
言語化することは重要です。Aさんの理解と、Bさんの理解が「全く同じ」ということは無いのです。
たった1ページのWord文章でもかまわないので、どのような仕様にするのかが文章になっている必要があります。
要件定義ができたら、それを「知見のある方に見せ、フィードバックを求める」ことができたら最高です。
この時点で「実現できること、できないこと」がもっと明確になっていると、アプリ開発が頓挫することはありません。
②アプリの基本形を理解する
「アプリを構成する要素はなにか説明してください」と聞かれたら、あなたならどのように答えますか?
一口に「アプリ」と言っても幅広いです。業務アプリから、ゲームまで、世の中には様々なアプリがあり、それぞれに特徴があります。しかし、業務アプリに関しては、一般的に下記の要素があるのが「業務アプリ」の特徴です。
何かアプリを作らなければならなくなった場合、まずは、上記の形を実現するアプリを想定すると、考えをまとめやすくなります。その結果、基本的なアプリの画面は例えば次のようになるかもしれません。
ローコードでアプリを作成する場合、この基本形に即して作成すると、上記の構成(入力、出力画面)などはあっという間に作成できます。
まずは、最初に画面を開き、必要な部品をどんどん配置してみてください。エラーが表示されるのが気になる人もいるかもしれませんが、まずは全体像を構成することが重要です。
誰かに助けを求めるときも、全体像が見えない中で、その人の頭の中にしかない機能を実現する際に発生した「ピンポイントのエラー」について話をされても、何のことを言っているのか理解するのも、相手に伝えるのも難しく感じるときがあるのではないでしょうか。
画面と部品を配置したら、次に、みんなで合意した要件定義にある機能(ロジック)を作成していきます。
機能を作成するときは、Power Fx関数を使用した実装が良いのか、Power Automateなどワークフローで実装するのが良いのかは、要件や処理内容に応じて使い分けます。Power AppsのPower Fxですべて片付けてしまいたいですが、要件によっては、例えば、大量データの処理やループ(ForAll)処理は、 Power Fxだけではアプリの動作が重くなる可能性があります。これは特に、利用者のPC環境(古いPCやスペックの低いPCなど)によっては、アプリの動作が不安定になったり、期待通りの結果にならないことにもつながります。
機能を実装する上で、必要な知識はPower Fx関数の理解です。
インフォシェアの開発者も、様々な情報をソースにPower Fxの学習を行っていますが、これまでの経験からすると、YouTubeの特定のチャネルが非常に役に立っています。
例えば、以下のチャネルは是非チェックしていただきたい有益なチャネルです。(ほんの一部です)
https://www.youtube.com/@RezaDorrani
Rezaさんのチャネルは情報が早いですし、「これができたら良いのに・・・」という所を取り上げてくださっているチャネルです。この機能がどのような意味で実装されているのか、どう使えばいいのか、などを理解するのに非常に役に立ちます。
https://www.youtube.com/@ShanesCows
Shaneさんは、Power Apps初期から情報を提供し続けている技術者です。ほぼすべての(アプリを作る上で必要な)Power Fxは説明尽くされています。ここを見て解決しない問題は無いほどです。
https://www.youtube.com/@matthewdevaney3912
Matthewさんはチャネルの動画もそうですが、ブログ記事が非常に参考になります。「まとめ」を提供してくださっているので、「○○するときの関数一覧」といった具合に、必要な情報が探しやすく、辞書的な使い方ができて助かっています。
https://www.youtube.com/@powerplatform_work
一つ一つの動画が1分前後で解説されている、見やすさに配慮されているYouTubeチャネルです。動画の時間が短いので、自分の知りたい情報かどうかの判断が容易です。自分では思いつかなかった「方法」などに気づかせてもらえる有益なチャネルです。
なかなか業務時間中にYouTubeの動画を見るのは難しい、という場合は、GoogleのNotebookLMやMicrosoft 365 Copilotのノートブックなどで文字ベースの要約・質問ができる活用方法もあります。

③いっぺんにたくさんの機能を実装しようとしない
要件定義で是非実現していただきたいですが、「あれも、これも」機能をつけようとしないことが重要です。
そもそも、そんなに機能って必要ですか? アプリに対してあまりに高望みをしていませんか?
気持ちはよくわかります。いままでExcelではできなかった、あれやこれやを実現したい。
ただ、「こんな間違いが起こると困るから・・・」など、利用する頻度で言うと数パーセントしかない機能を実装することに、どんなコストメリットがあるでしょうか?
ただみんなで気をつけながら作業すれば良いだけなら、それを周知徹底し運用すれば良いだけです。たとえ利用時に数回間違いが発生しても、それぞれの社員が間違いから学習するでしょうから、そんなにコストをかけて「今」実装しなくとも良いかもしれません。
内部統制がとれない、毎日利用する人が違う、など、様々な要件がありますから、必要であれば機能は積極的に実装します。ただ、「あれもこれも」と機能を盛り込むと、開発工数が過多になる、不具合発生リスクが増します。
アプリは、まず、「データの確実な”読み・書き・表示”」の基本機能が確実にできるのが最優先です。
④使いやすい画面をデザインする
画面のデザインは、案外難しい作業です。正解が見つけにくいですし、画面デザインはある意味専門分野です。
インフォシェアの伴走支援サービスでよく申し上げるのは、「普通を見つける」ことの重要性です。
私たちは毎日スマホで、PCで、様々なアプリを使い生活しています。あまりに普通すぎて、それらのアプリの画面構成を気にしていないかもしれません。今一度、自分が毎日使用しているアプリの画面構成を気にして見てください。メニューは左にありますか? 右にありますか? 上ですか? 下ですか? 折りたたみですか? など。
その後、自分の作った画面を見て、「なんか変だな・・・」と感じますか?
変だと感じるのは、「自分の基準からズレている、違和感がある」からです。つまり、毎日見ているもの、使っているものと比較して「変」に感じているのかもしれません。
その違和感を大切に、普段のものに合わせてみることで、画面の問題を解決できることがあります。できるだけプロが作った(Power Appsに限らず)メーカーが提供しているアプリの画面構成を観察してみましょう。見やすく、迷いにくい画面構成が理想です。
自分たちで開発することができるのが望ましいですが、「業務が多忙なため時間がとれない」、「急いでいる」などといった事情から、ベンダーに開発を依頼するケースもあります。
その際に意識したいポイントは以下の4つです。
①沢山のアプリを作成しているベンダーを選ぶ
開発経験の多いベンダーほど、「成功と失敗」の知見が蓄積されています。
ここでの”失敗”とは「バグがある」とか、「動かない」という話ではありません。ベンダーが作成し、納品している以上は、動く前提のアプリであるはずです。
とはいえ、「ここは、実際にマイクロソフトのドキュメントに書かれている動作とは違った」「もっと良い実装方法があった」「次はこうすればもっと良いアプリになる」など、数をこなしているからこそ蓄積されるノウハウがあるはずです。
②わかりやすい説明をしてくれるベンダーを選ぶ
たとえベンダーに依頼してアプリを開発するとしても、「依頼して終わり」とはなりません。要件定義を確実に行い、できること、できないことを明確にし、加えて「できないことを ”どのように” 実現するのか」をコンサルするのもベンダーの役割です。
できないことを実現するとはどのような意味ですか? それは、なんらかのPowerApps、Power Automateの制限事項があり、アプリでは実装できないので、「運用で回避する」というケースなどがそれに当たります。どう運用で回避できるのかまで、積極的にコンサルティングしてくれるベンダーは、「アプリの役割」だけではなく、依頼者の業務に関する深い理解があり、本当の意味での「DX」を実現できる可能性があるからです。
要件定義においても、ベンダーによる「わかりやすい説明」が重要です。
インフォシェアの伴走支援サービスや、アプリ開発サービスを提供していて感じるのは、「依頼者が100%自分たちの要望を話しきっている」とは限らないということです。要望がうまく言語化されていないことも多くあります。
わかりやすく説明できるベンダーであれば、様々な角度からヒアリングを行い、可能な限り100%要件を聞き出すことができるよう努力するはずです。
③可能な限り最新の情報に精通しているベンダーに依頼する
これは、最新の機能をすぐに取り入れたアプリ開発をするという意味ではありません。
例えばPower Apps、Power Automateの場合、年に2回大型のアップデートのアナウンスが出され、結果として新機能が実装されたり、実装されなかったり、プレビューまでいくものの、正式リリースがされたり、されなかったりと、毎日変化しています。
最新の情報に精通しているベンダーは、新しい機能に振り回されているのではなく、「メーカーがどのようなビジョンや方向性を持っているのかを考え、理解して」います。
作り手(Power Appsなら米マイクロソフト社)の方向性を理解していれば、「今、この仕組みを利用するのが最適なのか否か」など、先を見た提案ができるため、長期にわたって、もっとも有効なアプリを作成できるかもしれません。
④要件定義やテストなどに積極的に関わらせてくれる提案をするベンダーを選ぶ
たとえベンダーに依頼した開発であっても、現場の利用者が要件定義やテストなどの様々なフェーズに積極的に関与できる体制が理想です。
利用者を巻き込む提案をしてくれるベンダーであれば、アプリの中身を早くから理解でき、使い勝手や制約についての共通認識も育まれます。
また、自社で軽微な修正や改善ができるようになれば、改修のたびに費用が発生する事態を避け、ローコード製品の魅力を最大限に活かすことができます。
インフォシェアでは、「伴走支援サービス」や「アプリ開発サービス」を通じて、依頼者に最も適したアプリの提供をさせていただいています。
年間で作成しているアプリ数も非常に多く、かつ、官公庁が採用している大規模なPower AppsアプリやPower Pagesアプリ開発、全社単位で使用するPower Automateワークフロー開発など豊富な経験を有しています。
以下より、詳しいサービスの詳細をご確認ください。