[ServiceNow]SAFe(Scaled Agile Framework)プラグインについて

# はじめに
Strategic Portfolio Management(SPM)を導入する際、追加プラグインでAgile DevelopmentやTest Management、SAFeをインストールすることでそれぞれに合った方法でプロジェクトを管理していくことが出来ます。
現在所属している会社がSAFe Gold Partnerで私自身あまりSAFeに詳しくないのですが、
今後、ServiceNow×SAFeで協業する可能性もなくはないと思いServiceNowにSAFeプラグインを触ってみました。
認識に誤りがあるかもしれませんがご了承ください。

# SAFeとは
SAFe(Scaled Agile Framework)とは企業規模でAgileを行っていくためのFrameworkです。
SAFeの詳細については[公式サイト](https://www.scaledagileframework.com/)をご確認ください。※数千ページ以上＆英語
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/5be46ee0-b377-a030-530f-c7dd794452e9.png)


覚えてほしい用語
※個人的な理解で意味が異なるかもしれません。

|用語|理解|
|:---|:---|
|ポートフォリオ|ここでは経営課題、組織の課題として定義|
|エピック|リリースロードマップに乗るような最上位のタスク|
|フィーチャー(機能)|利用者の視点から見たソフトウェアやシステムの持つ機能・特徴のこと|
|ストーリー|フィーチャー(機能)をエンドユーザー視点から一般的な言葉で表したもの、最小要件|
|ART(アジャイルリリーストレイン)|エピックを達成するための、複数のアジャイルチームの集合体、仮想組織|
|PI(プログラムインクリメント)|目標達成期間のこと、<br>PIの完了時に稼働開始、大型リリースなど大きな節目を迎える|
|イテレーション、スプリント|短期間で反復しながら効率的に開発を進めるアジャイル開発の1サイクルを単位にしたもの。<br>複数イテレーションの集合体がPIと考えている|

# 事前準備
System Definition＞Pluginsから
Agile - Scaled Agile Framework - Essential SAFeまたはAgile - Scaled Agile Framework - Portfolio SAFeをインストールしてください。
Portfolio SAFeを有効にすることでEssential SAFeも有効化されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/0ecf42d6-8571-5a0e-ebb0-79001e9af9ef.png)

Portfolio SAFeとEssential SAFeは実施規模の差になります。
Essential SAFeはポートフォリオやエピックの管理がありません。
下記、ビッグピクチャーを参照していただくと想像しやすいです。
### Essential SAFe
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/90ec6fe2-bc72-0f91-39a7-afce9107a227.png)

### Portfolio SAFe
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/418123d0-f67f-fe47-8ce7-71219697a425.png)


# 各データの登録について
### ポートフォリオ
1.Scaled Agile Framework (SAFe)>Portfoliosから「New」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/8a526d85-4ae1-ed50-cda1-38bc8d88ac34.png)

2.Nameに最上位のタスクのタイトルを入力し、「Create Portfolio」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/9cb240bb-9a2c-9fae-d267-7d47dfd18365.png)

### エピック
1.Scaled Agile Framework (SAFe)>Epicsから「New」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/d287d4c9-377c-7990-686b-ddea148278d9.png)

2.Short descriptionに経営課題、組織課題を入力し、「Submit」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/165e96ab-76bd-a30c-c338-c25f219c9cc9.png)

### SAFeチーム（アジャイルチーム）
1.Scaled Agile Framework (SAFe)>SAFe Teamsから「New」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/770edb5d-263f-3943-8e6b-78bea66949f1.png)

2.チーム名を入力し、「Submit」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/48031d04-fa24-d63e-fa12-37681ba63eea.png)

3.上で作成したレコードを再度開き、Group Membersの「Edit」からチームメンバーを設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/ae570f18-5412-357c-20d1-9164d81ce9aa.png)

### ART(アジャイルリリーストレイン)
1.Scaled Agile Framework (SAFe)>Agile Release Trainsから「New」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/4e6f0e77-bc04-e580-d245-085a7cf6cdf6.png)

2.ポートフォリオで設定したポートフォリオとARTの名前を入力し、「Submit」を押下します。
※ARTはポートフォリオを達成するための仮想組織になるので、ポートフォリオと同じ名称にしています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/954e9ab6-d9cb-ce98-f668-b602a0771461.png)

3.上で作成したレコードを再度開き、ARTの責任者をMemberの「Edit」から設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/a7433f49-018a-febb-eaa8-9375b038b57c.png)

4.ARTに所属するSAFeチームTeamsタブの「Edit」から設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/2753890f-998b-93cb-31b9-b668e4a5b4f3.png)

### PI(プログラムインクリメント)
1.ARTで作成したレコード開き、Program incrementsタブを開き、「New」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/3e9c8bd4-c587-e89d-f6ba-3b05736036af.png)

2.Sprint lengthに1スプリントの期間、Planned start dateにスプリントの開始日、Number of sprintsにPI期間内に何回Sprintを実行するか指定し、「Submit」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/0e78ffdd-4a8d-d88d-a644-b8f21b964875.png)

3.PIレコードが作成されるので、PIレコードを開きSprintが設定されていることを確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/82177487-dc8c-ab4a-47c6-2142be412a2b.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/0aae98a2-734f-2f11-cee1-1022e551f3ff.png)

### フィーチャー(機能)
1.Scaled Agile Framework (SAFe)>Featuresから「New」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/37a6ff61-9b00-430d-18b1-1d8d95c1147f.png)

2.Short descriptionに対応エピックを実現するためのタスク、<br>SAFe epicにエピック、<br>Agile Release TrainにART、<br>Program incrementに対応PIを入力し、<br>「Submit」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/73345f9b-9da3-5207-c6d6-236fbfb1ff37.png)

例：SMSメール送信機能（エピック：二要素認証）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/f42c278e-1cac-3457-7223-8b9cc7a55468.png)

### ストーリー
1.フィーチャーで作成したレコード開き、画面下部のSAFe storiesの「New」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/eb06f379-02d9-dde9-8cf3-6c47c8e49a87.png)

2.Short descriptionに対応フィーチャーを実現するための最小タスク、<br>SAFe teamにタスクを実施チーム、<br>SAFe sprintに対応スプリントを入力し、<br>「Submit」を押下します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/dbbc9a24-2ab6-8091-3d70-747f63494b1b.png)


# SAFeボード
### ポートフォリオ
#### ボード
指定したポートフォリオに紐づくエピックが参照できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/be167064-8775-ceab-81e5-25a1e89582aa.png)

#### バックログ
指定したポートフォリオに紐づくかつステータスがバックログのエピックが参照できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/cdc44a3c-e250-b9ee-b916-9f32629dcd6e.png)

### ART
#### ボード
アジャイルリリーストレインに紐づいたフィーチャーが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/b325eda4-1143-e360-d57b-91d5a7e0445b.png)

#### バックログ
PIに紐づいたフィーチャー、ステータスがバックログでPIに紐づいていないフィーチャーを確認することができます。リストとビジュアルタスクボード形式で表示できます。
###### リスト
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/1822da3a-1158-f0ec-b67a-4f2babb87988.png)

###### ロードマップ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/c8ef96ed-af94-d59e-0953-a930170383f2.png)

##### 計画
###### ストーリ
アジャイルリリーストレインに紐づいているストーリーをスプリント、チームごとに状況を確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/41fa6afa-e15d-7496-e746-998dfe67d18e.png)
###### 機能
アジャイルリリーストレインに紐づいているフィーチャーをスプリント、チームごとに状況を確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/bc167d10-25f7-5eb1-937a-755c4a686e0d.png)

### チーム
#### バックログ
ARTチームに紐づくストーリーをスクリプトごとに確認することが出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/e4c824d1-71bb-383c-b45c-45f4bead8aac.png)

#### スプリント追跡
##### ストーリーボード
現在、ARTチームで実施中のスプリントのストーリーを確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/1fe58b07-8621-91a9-db1f-4cfd29ea8db3.png)

##### タスクボード
現在、ARTチームで実施中のスプリントのストーリーに紐づくSAFeスクラムタスクを確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/fa2b527c-f969-22eb-1e11-16d0972746d3.png)


##### リスト
現在、ARTチームで実施中のスプリントのストーリーに紐づくSAFeスクラムタスクを確認することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/946893/9dd1e623-0ab7-4896-48f7-4c8700705bd2.png)


# 最後に
公式サイトのビッグピクチャーを調べながらServiceNowのSAFeを触ってみました。
スプリント等ビッグピクチャーと名称が異なるところや一部、翻訳が適用されていないところが見受けられました。
SPMでインストールされるテーブルと同じテーブルを利用するため仕方ないところがあるのかと思います。
SAFeに則って利用する際はラベル等の文言変更が必要そうです。

SPMは、ポートフォリオを優先順位付けし、計画して、管理することで、ビジネス価値を最適化するものです。
Agileとは違いポートフォリオまで管理できるSAFeはSPMとより相性がいいと思いました。
今後、導入していくことになった場合、上記を念頭に進めていきたいと思います。

# 参照
Scaled Agile Framework (SAFe)-ServiceNow docs
https://docs.servicenow.com/csh?topicname=SAFeoverview.html&version=latest

SAFe公式サイト
https://www.scaledagileframework.com/

TDCソフトSAFe紹介ページ
https://www.tdc.co.jp/product/agile/safe/