Upgrade to Pro — share decks privately, control downloads, hide ads and more …

スクラムで Power Apps 開発をやってみた / Tried to develop Power Apps with Scrum

スクラムで Power Apps 開発をやってみた / Tried to develop Power Apps with Scrum

9cdd446fb259ec93e52d4388f60197f8?s=128

Takashi Shinohara

February 19, 2021
Tweet

Transcript

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

  2. 自己紹介 Name 篠原 敬志 (Takashi Shinohara) Company アバナード株式会社 Award Microsoft

    MVP for Office Development (2018-) Twitter @karamem0 Facebook t.shinohara.56 LinkedIn tshino56 Blog https://blog.karamem0.jp
  3. 事前アンケートの回答をお願いします https://forms.office.com/Pages/ResponsePage.aspx?id=P-3bknrTGU-jkvaXBQXMauLxNEt3DL1PqM-UpGBgIe5UODNXWjNBSlhLNzNZWjRXNzg3WVlWVzdONi4u

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

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

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

  7. スクラムの三本柱 透明性 作業やプロセスが作業 を行う人やその作業を 受け取る人に見えてい ること 検査 インクリメントと進捗 状況は頻繁かつ熱心に 検査されなければなら

    ないこと 適応 プロセスやプロダクト に問題があることがわ かったときは速やかに 調整されること
  8. スクラムのプロセス

  9. スクラムの役割 プロダクト オーナー プロダクトの価値を最 大化することの結果に 責任を持つ。常に 1 名。 スクラム マスター

    スクラムを確立させる ことの結果に責任を持 つ。常に 1 名。 開発チーム プロダクトのインクリ メントを作成する。通 常 10 名以下で構成さ れる。 ステークホルダー プロダクトの要求を提 供しインクリメントを レビューする。
  10. スクラムで Power Apps 開発?

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

    のポイントで判断する必要があります。 要件 規模 期間
  12. Power Apps 開発における検討事項 Power Apps で開発するということは単にアプリを作成することのみを指すのでは ありません。作成したアプリをユーザーが使えるようにするために検討しなければ いけないことがあります。 テストをどうする? デプロイをどうする?

    バージョン管理を どうする? 運用をどうする?
  13. Power Apps はチーム開発には向かない? チーム開発を行う上での懸念事項として Power Apps の編集は同時にはできない という問題があります。作業が止まらないように実装以外のタスクをうまくチーム 間で振り分ける必要があります。 フロント

    エンド 設計 バック エンド 設計 アプリ 作成 テーブル 作成 コネクタ 作成 テスト ケース 作成 テスト 実施 レビュー 準備
  14. Power Apps をチーム開発するためのプラクティス 用途や対象によって適切な粒度でアプリを分割する 例えば、申請アプリだったら…? 申請者向けアプリ 承認者向けアプリ 管理者向けアプリ

  15. スクラムをやってみた

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

    Microsoft Dataverse を使用
  17. 作った人たち スクラム チーム 開発チーム プロダクト オーナー スクラム マスター

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

  19. プロダクト オーナー バックログ リファインメントの実施 スクラム イベントへの参加 プロジェクトの管理 (※) プロジェクトの進捗状況の報告 開発チームのアサインの調整

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

    Power Apps や Office 365 のライセンスの管理 技術的なサポート (※) (※) 本来はスクラムにおけるスクラム マスターの役割ではない
  21. Power Apps の CI/CD

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

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

    Azure Pipelines Azure Repos Azure Test Plans Azure Artifacts
  24. Power Apps の CI/CD のアーキテクチャ 開発環境 ソリューション キャンバス アプリ フロー

    カスタム コネクタ テーブル 検証/本番環境 ソリューション キャンバス アプリ フロー カスタム コネクタ テーブル
  25. Power Apps のソリューション アプリ/フロー/その他のコンポーネントを含めることができる カスタマイズをまとめて他の環境に移動することができる

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

  27. Service Connection Azure DevOps から Power Platform への接続方法は 2 種類あります。

    ユーザー名/パスワード サービス プリンシパル/クライアント シークレット (推奨) サービス プリンシパルを使用する場合、Azure AD アプリケーションを Power Platform 環境のアプリケーション ユーザーとして追加する必要があります。作成 するための PowerShell スクリプトが提供されています。
  28. Azure Pipelines: Build Pipeline ソリューションをエクスポートして Azure Repos に Push する

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

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

  31. DEMO

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

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

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

  35. DEMO

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

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