Power Appsの教材を作ってみた

いつもお世話になっております、kuro.です。

以前、コチラの記事で市民開発者養成における課題と提案について発表いたしました。今回の記事は、その経過報告という形で皆さまに共有いたします。

なお、前回の記事をご覧になられなかった方は、コチラの記事をご一読いただけますと、その問題意識を整理しやすくなるかと存じます。

序:市民開発者養成の課題

画像①

筆者は、現在「市民開発者になって社会貢献したい…」という方々を一人でも多く輩出するために、Power Apps というローコード開発ツールの社内研修向け教材を作っています。

研修・講習向け…と銘打った理由は、独習の環境に関しては十分に整っているからです(先駆者の皆さまの努力の賜物です)

画像①のように、読んで分かりやすい書籍が販売されていますし、実用に沿った動画コンテンツも充実しています。また、躓いた時は、有志のブログやコミュニティの存在も心強い味方です。

しかし、これから組織的にDXを推進しようとした時に「コミュニティがあるよ」や「こんな分かりやすい教材があるよ」と学習を促しているだけでは効果が期待できません。

もっとも、声をかけ続けることは大切なのですが、仮にそれが有意な効果を発揮しているとしたら既にDXの必要性は組織に、敷衍すれば国内にも浸透しているはずです。

また、筆者の知る範囲において、従来の教材は自動生成アプリの作成から慣れていくものがほとんどです。既に組み上げられているものから機能を確認することは効果的であるといえます。理解できるようになるまでとことん手を動かし読み込んでいくことはエンジニアに必要な資質であると考えています。

ところが、研修や講習に文脈が変わった時、じっくり読みながら授業を進められるほどの時間は、学習者の習熟度に大きな差があった場合や、その企業の予算および動員数の都合など、様々な要因が重なって工面し難いといえます。

事実、筆者の所属組織では「RPAやPower Platform(の講習)に時間をかけて欲しい」といった声を耳にしましたが、カリキュラムの都合上、全員が納得する形で講習時間を確保できませんでしたし、テキスト外で解説してから本編に入ることが必要な場面もありました。

以上のことから、数日から1週間程度の講習や研修に特化した初等教材が必要であると考えるに至りました。もちろん、1週間程度で完全習得を目指すものではなく、プログラミングの経験を持たない人や学習時間を工面しにくい人に扱いやすく、かつ「こんなことができる」という機能紹介程度の理解に繋げられるような教材です。

以下、進捗です。

進捗:関数ベースの教材

本書の目的は、説明文を理解することよりも直観的な操作感を覚えてもらい、専門家の書いた書籍やMicrosoft公式のLearnなどに架橋することにあります。

ここで述べる架橋とは、学習者が説明文を読んだり聞いたりして理解するための素地を養うことを意味しています。また、本稿の「理解できる」は「機能を扱える」と同義です。

第1章:まずは慣れる

Lesson 4

まずはUIや操作感に慣れてもらうために、スライダーを動かすことでラベルの色を変えるアプリケーションを作ってもらいます(これをアプリと呼んでいいのかはさておき)

白紙のキャンバスからコントロールを配置したり、画面遷移したり、色彩のような直観的に分かりやすいものから慣れてもらう目的があります。

第2章:データ表示や取り出し方

Lesson 18(例)

ExcelのテーブルをPower Appsと紐づけて、テーブル操作の練習をします。

いきなりFilter関数とSort関数を組み合わせるのではなく、基本文(単文)から学習を始め、段階的に入れ子構造を学習していきます。

ここで意識したのは、前レッスンでの学習内容が次のレッスンでも活きるように項目を並べたことと、使用する関数とセットで各コントロールの使い方が分かるようにしたことです。

第3章:データ入力や貯め方(1)

Lesson 24(例)

レコードを取り出したり、抽出したり、並べ替えたり…といったテーブル操作を練習したら、今度はデータを入力して貯めていきます。

Power Appsにも慣れて来た頃合いと判断し、SharePointリストの作成も行います。リストを作成するためにはSharePointサイトを作成しなければなりませんが、この点に関しては設定方法も合わせて別途参考文献を紹介するに留めました。

まずはデータ型を意識させずに、データソースにレコードを貯めていく感覚を理解してもらい、ある程度の段階にまで進んだところでText関数、Value関数、DateTimeValue関数などを取り入れ、データに対する理解を深めてもらいます。

第4章:データ入力や貯め方(2)

Lesson 46(例)

ここまで進んで「ギャラリー」と「コレクション」を操作する練習です。自身も理解までに時間を要した配列操作であったり、ForAll + Patchでの一括登録であったりも扱っています。

もちろん、最初から一括登録の練習をするのではなく、一件登録することから始めました。どの学習項目においても、学習対象を1つに絞っています。

第5章:変数と論理関数

Lesson 49(例)

ここまで変数もIf関数も使用していませんでした。その理由は、Power Appsに慣れて来た段階で取り入れた方が良いと考えたからです。

画像はSet関数とUpdateContext関数の違いを知ってもらうためのアプリケーションですが、事前にSet関数の学習を済ませています。

第6章:時計とカレンダー

Lesson 56(例)

変数も条件分岐も使えるようになり、アプリケーション作成の幅も広がりました。ここからは日付や時刻に関する学習を行います。

簡単な時計を作ってみたり、学習アプリ作成会で教えていただいたようなカレンダーを作ってみたりすることで、日付と時間を操作する関数を学習していきます。

第7章:アプリ作成演習

難読漢字クイズアプリ(例)

この記事の執筆時点(2022年11月末日)では、Chapter 7の調整中です。このテキストで使用した関数はもちろんのこと、数値や文字列を操作する関数など、紹介できなかった関数も取り入れながらアプリを作る演習です。

Power AutomateやPower BIも使ってみると良さそうですが、ここからは別の教材にバトンを渡した方が良いかもしれません。ここは調整中です。

付録

ここでは参考文献リストであったり、コミュニティであったり、Power Appsの関数やコントロールの一覧であったり、その使いどころを数行でまとめてみたり…といった、継続学習に役立つコンテンツを収録予定です。

結:教材を突破口に

本稿における「市民開発者」は、以下の箇条を満たす者を指しています。

  • ビジネス目標を掌握し、システム等を提供する人
  • プロ開発者に業務委託するか否かを判断できる人
  • プロ開発者と協力して開発支援できる人

単なる「プログラミングもできる業務担当者」という位置付けのみに留まらず、必要に応じて所属組織に変革をもたらす提案もできる人材である…ということなので、Power Platformなどのローコード・ノーコードツールを導入して学習負荷を軽減したとしても、彼らに求められているレベルは非常に高いといえます。

成功事例を目にする機会は増えてきました。しかし、これほどにまでスキルを磨きあげた人材も、まだまだ現時点では活躍の場は限られています。

学んだことを活かせられないのであれば、その学習意欲は下がってしまうのが普通です。趣味的にPower Platformを触っていたり、自身の業務を学習教材として利用したり、SNSで仲間を見つけたりでもしなければ、彼らの継続学習は困難な状況にあります。

これから(も)国をあげて政策的にデジタル変革に向けた支援が行われるようになるはずですし、また、そのようになるべきだと考えています。ただし、その支援とは金銭的な援助のみに留まらない計画的なものでもあるべきです。

そのような計画と実施が必要であることを踏まえた上で、現状に鑑み、まずはお試しで数名を相手に機能を知ってもらうことから始め、データに対する理解を深めてもらい、次第に個々の努力に委ねていくような手順を踏むことが現実的だと考えています。1

突然ですが皆さまは、小学生、中学生、高校生時代の勉強に対してどのように取り組んでいましたか。また、周囲にはどのような人がいたでしょうか。

授業を聞くだけだった人、興味のある授業だけは自分で勉強を進められた人、学校とは無関係に知ることを楽しんでいた人、そもそも勉強を楽しいと思ったことのない人など、色々だと思います。

この記事を読んでいる人には信じられない話かもしれませんが、筆者の経験上、何かを勉強するとなった時に独学でなんとかしたり、興味のないことに対して貪欲に学習を進められたりする人は極めて少ないです。世の中は、Twitterなどに見られる「変態」に溢れているわけではありません。

学校の先生や保護者さまから勉強の重要性や面白さを説かれても、鼻から興味がなかったり、響かなかったり、何から初めて良いか分からなかったり、部活動が忙しくて暇がないと言ったりする人の方が圧倒的に多いものです。

興味を持たせられなかった側に問題があるのかもしれませんが、インターネットに有益な情報があっても、書籍に書いてあるような基本的なことでさえも、調べ方が分からなかったり書いてあることを最初から読む気がなかったりする人の方が世の中の大半を占めています。

今度は反対に、読者の皆さまが興味のないことを何か頭に浮かべてみてください。例えば、これから筆者がスライアモン語の形態論やアルタ語の文法の話をしたところで、言語の諸相に興味がない人にとっては何も響かないはずです。そんな人に対して「外国語を学ぶと世界が広がりますよ」と、いくら言い続けても無意味です。

さらに、興味の有無とは関係のないところで所謂「反対勢力」の存在もあります。仮にその勢力に押し戻されてしまうのであれば、ひとまず興味を持ってくれる人だけを相手にするように視点を切り替えてしまったり、自分の業務だけに留めたりしてしまえば良いのですが、社内での立場を危うくしていては業務の改善どころでは済まなくなってしまいます。2

以上の管見から、市民開発者の普及・浸透は難しいと考えています。しかし、興味を持ってもらった時の対応次第で、一人でも多くの市民開発者が活躍できるように思います。

今回はPower Appsを例に記事を書きましたが、他のツールに関しても、そういった講習に特化した体系的な教材を作ることはIT未経験者やパソコン初心者の一助になるはずです。

その出口には、先駆者の質の良い書籍、動画、ブログ、コミュニティという学習コンテンツと場があります。この出入口を繋げられるように、筆者は、微力ながらPower Platform界に貢献(Pay It Forward)したいと考えています。

課題はまだまだ山積みです。各現場での状況も考慮に入れないといけません。受講者の、データに対する理解がどこまであるのか、Excelをどの程度まで扱えるのか…といったことは、現在の筆者の所属組織が基準になっています。

優れた教材や指導法を生み出すことは、誰にとっても容易なことではありません。市民開発者は、これからの可能性を秘めていると言われているものの、万人が認め得る形でその輩出までを担うことは筆者の手に余る仕事です。

その意味において、本稿は、今後の市民開発者養成における方向性の修正や加筆のための一つの資料の域を出ません。

kuro.

隅田智尋

  1. 発信を続けることは、ツール導入を目的としたもの以上に、ツール導入の手がかりを作るものだと考えています。そもそも(この記事も例外ではなく)受け取って欲しい層には中々声が届かないものです。無論、発信によって導入・運用できたら言うことはありませんが、ツールを導入できただけでそれを使役できる人がおらず、必要十分に機能させられないのであれば、せっかくのチャンスを逃す結果になってしまいますし、時間をかけてやってきたことも徒労に終わってしまいかねません。
  2. 余談ながら、ローコード・ノーコード開発に対して反対勢力が疑念を抱いている場合もあります。例えば、すぐに業務改善できると思い込んで導入したものの、想像以上に時間がかかってしまい、導入の中止を検討するようなことも起きています。
PAGE TOP