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

SalesforceArchitectGroup#05_Development Lifecyc...

atomica7sei
September 11, 2020

SalesforceArchitectGroup#05_Development Lifecycle and Deployment

atomica7sei

September 11, 2020
Tweet

More Decks by atomica7sei

Other Decks in Technology

Transcript

  1. 環境 7 [出典] https://wilsonmar.github.io/salesforce-dx/ 環境 開発 (Developement) 結合+品質保証 (Integration&QA) ユーザ受入テスト

    (UAT) ステージング (Staging) スクラッチ 組織 /Sandbox スクラッチ組織 Developer/Develope r Pro Sandbox Partial Copy Sandbox Full Sandbox データ制限 200MB 200MB/1GB 5GB 本番と同じ リフレッ シュ 任意 1日 5日 29日 データ ー ー サンプルデータ 全データ
  2. 継続的インテグレーション(CI) 継続的デプロイ(CD) 開発プロセスの変遷 8 [出典] https://wilsonmar.github.io/salesforce-dx/ Dev SBX Dev SBX

    Dev SBX Dev Pro SBX Partial SBX Full SBX 本番 変 更 セ ッ ト 開 発 モ デ ル パ ッ ケ ー ジ 開 発 モ デ ル スク ラッチ 組織 スク ラッチ 組織 スク ラッチ 組織 Dev Pro SBX Partial SBX バージョン管理システム(VCS) 開発 結合&品質保証 ユーザ受入テスト ステージング テスト& マージ テスト& UAT テスト 継続的デリバリー(CD) 手動 自動
  3. アプリケーションライフサイクル管理 9 [出典] trailhead - Release Management Patterns with Salesforce

    解除済みパッケージ テスト環境: Partial & Full Sandbox 継続的デリバリー リリース自動化 継続的インテグレーション テスト自動化 開発環境: スクラッチ組織、Dev/Dev Pro Sandbox ビルド(アプリ、フロー、スキーマ、プロセス) とウィザード IDE、エディタ、言語 サービス 開発とインテグレーションのCLI サードパーティのエディタ 計画 開発 テスト& マージ テスト& UAT リリース • お客様の要件は複雑化し、素早い機能開発・リリース、品質確保が求められる • 常にデプロイできる状態を保つ
  4. 開発モデル 10 [出典] trailhead - Release Management Patterns with Salesforce

    組織開発モデル パッケージ開発モデル コアアプリケーションのカスタマイズ Sales, Service等 組織に合わせた カスタムプラットフォームアプリケーショ ンの作成 ✓ メタデータAPIで多くのメタデータを扱える ✓ リリースの戻しが困難 ✓ Source of Truth ✓ パッケージ以外で適用した変更を必ずVCSに
  5. パッケージ開発モデル 11 [出典] trailhead - Release Management Patterns with Salesforce

    コード 開発+単体テスト マージ&テスト 結合+品質保証 テスト&ユーザ受入テスト UAT+Staging リリース トレーニング+本番 スクラッチ組織 スクラッチ組織 Partial/Full Sandbox Full Sandbox Prod VS Code等 Salesforce CLI & CI/CD バージョン管理システム(VCS) source:push/source:pull package:install
  6. Salesforceメジャーリリース 13 リリース当日 2020年 10月18日 Winter ’21までのおおまかなスケジュール 5~6週間前 2020年 9月12日

    5:00~ 約8~10週間前 2020年 8月22日 ※各リリースによってスケジュールが前後することがあります Sandbox プレビュー期間 Sandbox プレビュー参加対応期間
  7. ガバナンス 14 [出典] Hands-on Activities: Development Lifecycle and Deployment 考慮すべきこと

    1. アプリケーションライフサイクル管理に関与する主要な個人/ロールは誰 ですか? 2. 各個人が果たすロールは何ですか? 3. 各ロールにはどのような責任がありますか? 4. 組織の目標に向けて、さまざまな利害関係者をどのように調整します か? 5. リリース管理の有効性を測定するには、どのKPIが重要ですか? 6. ロール/責任の調整はどのように追跡および測定されますか? 7. ロール/責任のマトリックスは文書化されていますか? それは正式なプ ロセスですか? 8. 各ロールに監査とコンプライアンスの要件はありますか?
  8. ガバナンス 15 [出典] Hands-on Activities: Development Lifecycle and Deployment センターオブエクセレンス(CoE):リリース管理の主要なロール/責任

    一般的なSalesforceのリリース管理 CoE エグゼクティブスポンサー(プロジェクト最終権限者) プロジェクトチーム リ リ ー ス ( プ ロ ジ ェ ク ト 管 理 ) 業 務 ス ク ラ ム チ ー ム ア ー キ テ ク ト 導 入 ・ ト レ ー ニ ン グ サ ポ ー ト
  9. ガバナンス 17 [出典] http://kb.mit.edu/confluence/pages/viewpage.action?pageId=155261497, https://hub.appirio.jp/tech-blog/architecture-review-board アーキテクチャレビューボード(ARB):アーキテクチャ全体に関する 戦略を審査・承認、整合性を担保する <目的> • カスタマイズが事業目標や技術戦略と矛盾していないか

    • 機能の衝突や重複が発生していないか • 共通のデザインパターンや開発標準の活用が行われているか • 技術的負債となる設計や実装が行われていないか <主な登場人物> • プロジェクトチーム、アーキテクチャチーム、ARB <ARBに必要なもの> • 意思決定(アーキテクチャロードマップの策定、設計原則やベストプラクティスを確立、ソ リューションの評価など) • 継続的な活動(技術的な実現可能性調査、ビジネスに役立つ新しいテクノロジーの特定など)
  10. ガバナンス 18 [出典] https://dev.classmethod.jp/articles/raci/ RACI(レイシー):個人やチームに割り当てられた役割(責任、活動、 および職権)を定義 定義 意味 R 実行責任者(Responsible)

    タスクを実行することに責任を持つ A 説明責任者(Accountable) 顧客や社内のトップマネジメント(経営陣)など、誰かから聞かれ たら、タスクの進捗や状況(結果)がどのようになっているかを説 明することに責任を持つ 説明できる=いわゆる管理者的な人と考える C 協議先(Consulted) タスク実行を支援するアドバイスなどを行う I 報告先(Informed) タスクの進捗や状況(結果)の最新情報を受け取る ※CとIの違いは、以下のとおりです。 タスク実行前、実行中に相談する相手:C タスク実行後に報告する相手:I
  11. ア ク テ ィ ビ テ ィ ロール ガバナンス 19

    [出典] https://curious-sdmlab.com/ram-qy22-yw3/ RACI(レイシー)マトリクスの例 スポンサー プロジェクト マネージャー 開発者 アナリスト プロジェクトの立ち上げ C R/A プロジェクト計画策定 A R/A C C 要件定義 I A R C ソフトウェア開発 I A R C ソフトウェアテスト I A C R ソフトウェア導入 C A C R
  12. デモ概要 21 コード 開発+単体テスト マージ&テスト 結合+品質保証 スクラッチ組織 Trailhead Playground環境 VS

    Code Salesforce CLI バージョン管理システム(VCS) ① ② ③ ④ ✓ 事前準備(Dev Hub、ロック解除済み パッケージと第二世代管理パッケージ を有効化) ① Aさんでスクラッチ組織作成。ブラン チで作業。 ② Bさんでスクラッチ組織作成。ブラン チで作業。 ③ Aさん、Bさんの作業をマージ。 ④ パッケージを作成。パッケージバー ジョンを作成。パッケージをインス トール。