Slide 1

Slide 1 text

スクラムで Power Apps 開発をやってみた 2021/2/19 篠原 敬志 (@karamem0)

Slide 2

Slide 2 text

自己紹介 Name 篠原 敬志 (Takashi Shinohara) Company アバナード株式会社 Award Microsoft MVP for Office Development (2018-) Twitter @karamem0 Facebook t.shinohara.56 LinkedIn tshino56 Blog https://blog.karamem0.jp

Slide 3

Slide 3 text

事前アンケートの回答をお願いします https://forms.office.com/Pages/ResponsePage.aspx?id=P-3bknrTGU-jkvaXBQXMauLxNEt3DL1PqM-UpGBgIe5UODNXWjNBSlhLNzNZWjRXNzg3WVlWVzdONi4u

Slide 4

Slide 4 text

はじめに スクラムってなんだ?

Slide 5

Slide 5 text

スクラムの概要 スクラムとはアジャイル開発の手法のひとつです。 困難で複雑な問題に対応するためのフレームワークです。 反復的で漸進的なアプローチにより予測可能性を最適化します。 スプリントと呼ばれる短い期間で価値のあるインクリメントを生み出します。

Slide 6

Slide 6 text

スクラムのメリット ビジネスの変化に対応しやすい 価値のあるものを優先的に投入できる 不具合の早期発見によりコストを削減できる

Slide 7

Slide 7 text

スクラムの三本柱 透明性 作業やプロセスが作業 を行う人やその作業を 受け取る人に見えてい ること 検査 インクリメントと進捗 状況は頻繁かつ熱心に 検査されなければなら ないこと 適応 プロセスやプロダクト に問題があることがわ かったときは速やかに 調整されること

Slide 8

Slide 8 text

スクラムのプロセス

Slide 9

Slide 9 text

スクラムの役割 プロダクト オーナー プロダクトの価値を最 大化することの結果に 責任を持つ。常に 1 名。 スクラム マスター スクラムを確立させる ことの結果に責任を持 つ。常に 1 名。 開発チーム プロダクトのインクリ メントを作成する。通 常 10 名以下で構成さ れる。 ステークホルダー プロダクトの要求を提 供しインクリメントを レビューする。

Slide 10

Slide 10 text

スクラムで Power Apps 開発?

Slide 11

Slide 11 text

Power Apps 開発におけるスクラム導入のポイント スクラムでは開発言語や開発手法を規定しません。さらにいえばソフトウェア開発 以外のドメインでもスクラムを適用することができます。これは Power Apps で あっても同様です。 ただしすべてのシナリオにおいてスクラムが適しているわけではありません。以下 のポイントで判断する必要があります。 要件 規模 期間

Slide 12

Slide 12 text

Power Apps 開発における検討事項 Power Apps で開発するということは単にアプリを作成することのみを指すのでは ありません。作成したアプリをユーザーが使えるようにするために検討しなければ いけないことがあります。 テストをどうする? デプロイをどうする? バージョン管理を どうする? 運用をどうする?

Slide 13

Slide 13 text

Power Apps はチーム開発には向かない? チーム開発を行う上での懸念事項として Power Apps の編集は同時にはできない という問題があります。作業が止まらないように実装以外のタスクをうまくチーム 間で振り分ける必要があります。 フロント エンド 設計 バック エンド 設計 アプリ 作成 テーブル 作成 コネクタ 作成 テスト ケース 作成 テスト 実施 レビュー 準備

Slide 14

Slide 14 text

Power Apps をチーム開発するためのプラクティス 用途や対象によって適切な粒度でアプリを分割する 例えば、申請アプリだったら…? 申請者向けアプリ 承認者向けアプリ 管理者向けアプリ

Slide 15

Slide 15 text

スクラムをやってみた

Slide 16

Slide 16 text

作ったもの ダッシュボード的なアプリ リストやグラフが複数表示される複雑な UI カスタム コネクタによる API 連携 データ ソースとして Microsoft Dataverse を使用

Slide 17

Slide 17 text

作った人たち スクラム チーム 開発チーム プロダクト オーナー スクラム マスター

Slide 18

Slide 18 text

開発チーム インクリメントの作成 (設計/開発/テスト) スクラム イベントへの参加 バックログ リファインメントの実施

Slide 19

Slide 19 text

プロダクト オーナー バックログ リファインメントの実施 スクラム イベントへの参加 プロジェクトの管理 (※) プロジェクトの進捗状況の報告 開発チームのアサインの調整 技術的なサポート (※) (※) 本来はスクラムにおけるプロダクト オーナーの役割ではない

Slide 20

Slide 20 text

スクラム マスター スクラムに関するトレーニングの実施 スクラム イベントへの参加 開発環境や検証環境の整備 (※) Azure DevOps のセットアップ Power Apps や Office 365 のライセンスの管理 技術的なサポート (※) (※) 本来はスクラムにおけるスクラム マスターの役割ではない

Slide 21

Slide 21 text

Power Apps の CI/CD

Slide 22

Slide 22 text

CI/CD 継続的インテグレーション/継続的デリバリーまたは継続的デプロイメントの略 ビルド/テスト/リリースのプロセスを自動化することが可能 頻繁にテストをすることで不具合を早期に発見できる 開発したものがすぐにユーザーに提供されるためフィードバックを得やすい 作業の自動化によりヒューマン エラーが少なくなる アジャイルでは頻繁にリリースが行われるため作業の自動化は必須

Slide 23

Slide 23 text

Azure DevOps アプリケーション ライフサイクル マネジメント (ALM) をサポートするためのさ まざまな機能を備えるツール Azure Boards Azure Pipelines Azure Repos Azure Test Plans Azure Artifacts

Slide 24

Slide 24 text

Power Apps の CI/CD のアーキテクチャ 開発環境 ソリューション キャンバス アプリ フロー カスタム コネクタ テーブル 検証/本番環境 ソリューション キャンバス アプリ フロー カスタム コネクタ テーブル

Slide 25

Slide 25 text

Power Apps のソリューション アプリ/フロー/その他のコンポーネントを含めることができる カスタマイズをまとめて他の環境に移動することができる

Slide 26

Slide 26 text

Power Platform Build Tools ソリューションをエクスポート/インポートするための機能を提供する Azure DevOps の拡張機能

Slide 27

Slide 27 text

Service Connection Azure DevOps から Power Platform への接続方法は 2 種類あります。 ユーザー名/パスワード サービス プリンシパル/クライアント シークレット (推奨) サービス プリンシパルを使用する場合、Azure AD アプリケーションを Power Platform 環境のアプリケーション ユーザーとして追加する必要があります。作成 するための PowerShell スクリプトが提供されています。

Slide 28

Slide 28 text

Azure Pipelines: Build Pipeline ソリューションをエクスポートして Azure Repos に Push する Pipeline

Slide 29

Slide 29 text

Azure Pipelines: Release Pipeline Azure Repos から Clone してソリューションをインポートする Pipeline

Slide 30

Slide 30 text

Azure Repos 展開したソリューション ファイルは変更管理が可能 (ただしキャンバス アプリは msapp 形式になるため不可能)

Slide 31

Slide 31 text

DEMO

Slide 32

Slide 32 text

Power Apps テスト スタジオ Power Apps の UI テストを実施できる機能 (試験段階)

Slide 33

Slide 33 text

PowerAppsTestAutomation Power Apps テスト スタジオのテストを自動化するためのプロジェクト Azure Pipelines からテストを実行することが可能

Slide 34

Slide 34 text

Azure Pipelines PowerAppsTestAutomation は拡張機能として提供されていないため自前でのビ ルドが必要

Slide 35

Slide 35 text

DEMO

Slide 36

Slide 36 text

まとめ アプリは作ったら終わりではないです。利用者からフィードバックを受け常に改善 していくことが重要です。スクラムを採用することでアプリを継続的に成長させる ことができます。 アジャイルにとって CI/CD は非常に重要です。CI/CD を実践することで、開発者 は開発に集中することができ、またアプリの品質を高めることができます。

Slide 37

Slide 37 text

ご清聴ありがとうございました。 質問はありますか?