はじめに
Power Apps で爆速、Low Code で開発できることは皆さんご存じのことかと思います。さて、その Power Apps を「自分(ないしお客さん)のため以外で活用する」という事例を得たので、同様のシーンで活用いただけるのではないか、と思い記事にしております。
なお、この記事は「PowerApps Advent Calendar 2019」へ参加しております。
■PowerApps Advent Calendar 2019
状況
細かい箇所は皆さんの妄想力で補っていただきたいのですが、下記のような経緯です。
- とある大規模システムの要件定義フェーズが始まります
- ビジネス要件を出せる方々が非ITです
- 利用者は、上記の非IT含めた方々です
- 画面イメージすら想像し辛い感じらしいです
- DB項目等ブレイクダウンするためにも、まずは画面項目とか決めたいよね、です
えーと、書いてて途中でツラくなってきましたw
ようは「ITよくわからない方々から設計につなげられる情報を引き出す」必要に迫られた、ということです。
あ、そうだ。これはフィクションですよ?
Power Apps で モブプログラミング!
様々な会話がなされまして「まず画面を見せながら要件を吸い上げよう」という流れになりました。アジャイルとか、そんな感じですね。で、画面を手早くチャチャっと作成する方法はないか・・・と相談をうけまして。当方に相談したら、もう答えは決まっておりますよね?
キーマンの皆さんを集めてヒアリングをしながら平行して画面を作りながら、動きも見せつつアレしよう?
もうそこは「Power Apps でしょ!」となりますよね?(当方に相談したらそうなりますよね
なお、開発するシステムは様々な制約があり、Power Appsでは提供できないモノでした。(残念
で、実際に試してみたそうです。
モブプログラミング とは?
ざっくりと、当方は下記の認識です。
- 開発するヒトが1名いる
- 大きな画面に開発中の画面を表示する
- その画面をプロジェクト関係者が確認して進める
詳細は検索してください(;^ω^)
試してみた結果
その他の開発言語でも同じようなコトができるのでしょうが、Power Appsを利用した結果、下記のようなメリットがありました。
- 画面が速攻で作成できる
- 実際に簡単な動きも確認できる
- 作成した画面がそのまま設計のインプットになる
- 非ITの方々が「実際に近しいイメージ」を共有できるので齟齬が少なくなる
- データソースもあわせて設計するので、DB設計のインプットになる
- モバイルでの操作性を早い段階で探れる
ざっとあげただけでも、上記な感じです。
Power Apps でアプリを作っているのですが、実際に利用するモノでなくても活用できるのでは?と思った次第でした。
モブプログラミングを、Java や C# と Power Apps でやった場合の違いについて、もっとも効果が高いな、と感じる部分は「Power Apps は作った直後にスグ動作が確認できる」コトです。画面が完成していなくても、いま作ったトコロまでは実際に動く状態でスグにオーディエンスに見せることができます。そのため、初品を作成する → スグに動作イメージも共有する → 認識があっているか否かが速攻で判断、というプロセスを超高速で回すことができます。
もちろん、取りまとめ(あるいはファシリテーター)的な役割を置いておかないと、際限なく要望が出てきて収拾がつかなくなる可能性があります。しかし、やはり所謂PDCAサイクルを高速回転させるコトで、そのリスクを補って余りあるぐらい「実際にミンナで体験を共有して合意の方向性を探れる」というメリットが大きいかな?と感じました。
うまく回すコツとしては「この段階で完璧なモノを作ろうとしない」という意識を共有するコトかな、と考えています。Power Apps で運用するアプリを作るワケじゃない場合はとくに。
蛇足
実は、2019/12/7(土)に開催されるPower Platform Day Winter '19
で、当方が登壇するネタの1部です。一瞬だけしかでてこないので、補足の意味を兼ねてQiitaに書く予定だったのですが・・・。3日が空いてたので、思わず先にチョッとだけネタバラシしちゃいましたw
なお、当日は「Power Apps初心者から、もう1歩前へ!」というテーマで「どういう設計(というか考え方)をしたらよいか?」というネタをお届けする予定です。参加される方、会場でお会いしましょう!
それでは、皆さま。素晴らしい Power Platform Life を!