4.3.2 ワークフローの設計

ワークフローの設計は、それぞれの業務のワークフローを作成し、申請や承認、またはタスク実行などの各アクティビティの内容や順序、アクティビティを実行できるロールなどをYAMLで定義します。
アクティビティには様々な種類があり、申請内容の確認や承認、Playbookを使用した自動タスクなどがあります。また、任意のワークフローのステップごとにラベルをYAML定義することができます。ワークフロー一覧画面ではこのラベルごとに進捗度合が表示されます。
ワークフロー画面の構成については「ワークフロー」を、YAML定義については「Workflow」を参照してください。

(表)ワークフロー設計項目と概要

項目 定義手段 設計のポイント
・Workflow YAMLによる定義
(GitLab)
設計する業務に、どのような作業や承認ステップが必要か、また、その作業をどのユーザーがどのロールで実行するのかを検討します。

(図)ワークフローの概念図

(図)ワークフローの概念図 (図)ワークフローの概念図


ワークフローの設計は、対象の業務のステップとして必要なアクティビティを洗い出し、各アクティビティを実行できるロールの割り当てを行います。以下はVM貸出申請を例としたワークフロー図で、アクティビティには申請や申請内容の確認などがあります。各アクティビティに必要なカラムはデータモデルにて定義します。

(図)VMの貸出を例としたワークフロー

(図)VMの貸出を例としたワークフロー (図)VMの貸出を例としたワークフロー


(表)VMの貸出を例としたワークフローのステップとロール一覧

作業名 ワークフローステップ 操作者 ロール UI
種別 名称 アクション バリデーションチェック
VMの貸出
申請 申請者 Customer User 申請に必要な情報やカラムはデータモデルで定義し、各カラムに対するアクションなどはUIで定義します。
申請内容の確認 運用担当 Operation Management
Office Agent
VMの生成 (自動実行) -
VMの生成の確認 運用担当 Operation Management
Office Agent
承認 運用管理者 Operation Management
Office Manager

なお、YAMLファイル定義において、ワークフローの起点となるステップへ、他のステップから遷移することはできません。申請内容の不備により、申請者に差し戻しを行う場合は、起点となるステップにガイダンス表示などのステップを作成しておくことで、ワークフローの起点となるステップが遷移先にならないよう設計してください。

(図)ワークフローの起点となるステップへの遷移に関する設計

(図)ワークフローの起点となるステップへの遷移に関する設計 (図)ワークフローの起点となるステップへの遷移に関する設計

データモデルの詳細については「データモデルの設計」、「Datamodel」を参照してください。
UIの詳細については「UI設計」、「UI」を参照してください。

その他、ユースケースに合わせて以下の機能を利用することができます。


【運用に必要なスキルをもったユーザーを設定したい場合】

YAMLファイル「Skill」、「Skillset」で定義したスキルを、YAMLファイル「Workflow」でアクティビティごとに必要なスキルセット(スキルの組み合わせ)として設定することができます。スキルセットに合わせたユーザーのアサインはワークフロータブのStepper画面から実施できます。
アサインされたアクティビティは、ユーザーの業務経験に反映されリソースタブから確認することができます。また、スケジュールにも反映されスケジュールタブから確認することができます。

(表)アクティビティでの必要なスキルをもったユーザー設定

項目 定義手段 設計のポイント
skill、skillset YAMLによる定義
(GitLab)
運用に必要なスキルとスキルセット(スキルの組み合わせ)を設定できます。
workflow YAMLによる定義
(GitLab)
各アクティビティに必要なスキルセットを指定することができます。
ユーザーへのスキル付与 GUIによる定義 リソースタブからユーザーにスキルを付与することができます。付与したスキルによって、自動でスキルセットも付与されます。
各アクティビティへユーザーをアサイン GUIによる定義 スキルセット要件との適合率、経験回数、スケジュールを確認しユーザーをアサインすることができます。

YAMLファイルの詳細は「Workflow」、「UI」、「Skill、Skillset」、スキル設定の詳細は「スキル管理」、ユーザーのアサインは「ワークフロー」を参照ください。

(図)アクティビティごとのユーザー指定

(図)アクティビティごとのユーザー指定 (図)アクティビティごとのユーザー指定


【並列処理を行いたい場合】

複数人で異なる作業を並列に行う場合や手動で作業すると同時に自動化スクリプトで並列に処理をする場合など、複数の並列処理はYAMLファイル「Workflow」でサブフローを定義することにより実施できます。設定したサブフローは、ワークフロータブでメインフローと同様にワークフロー一覧から管理することができます。

(図)サブフローの設定

(図)サブフローの設定 (図)サブフローの設定

サブフローの機能には以下の特徴があります。

  • 定義済のフローをサブフローとして利用できます。
  • メインフローとサブフローの間でカスタムテーブルや添付ファイルのデータを共有することが可能です。
  • 複数のアクティビティを並列実行する場合は、すべてのステップをサブフロー化する必要があります。
  • サブフロー種別は以下の選択肢があります。
    • static:メインフローの保存時点で、コンテキストを作成
    • dynamic:サブフロー実行時にコンテキストを作成

YAMLファイルの詳細は「Workflow」、サブフローの操作画面については「ワークフロー」を参照ください。