効率的な業務フロー作成方法

最終更新日: 2025年9月22日

効率的にAsIs業務フローを作成する方法について紹介します。

別ツールで作成された業務フローを取り込む

PowerPoint、Excelや、draw.ioからエクスポートしたXML形式のファイルなど、すでに作成された業務フローファイルをもとに、Acsim上にAsIs業務フローを作成する手順を紹介します。

この手順は、例えば複数スライドに分割された業務フローの取り込みにも対応しており、共通となる業務は統合、異なる業務はパターン化するなど、より最適化された形でAsIs業務フローを作成することが可能です。

STEP 1. Acsim Chatで資料を解析して取り込み用の業務手順書を作成

※ここではAcsim Chat利用を前提に記載していますが、ChatGPTなどのツールでも同様のことが可能です。

Acsim Chatに元にしたい資料をアップロードし、以下のようなプロンプトを実行します。
※XML形式のファイルの場合、拡張子が .xml のままだと取り込めないため、ファイル名の変更で .txt に拡張子を変更し、取り込んでください。

「〇〇業務」の部分は、抽出・作成したい業務に合わせて適宜調整してください。

添付した資料をしっかりと読み込んで隅々まで解釈し、「〇〇業務」のみを対象として、業務フローをmarkdown形式で出力してください。
なお、作成時は以下のフォーマットを遵守すること。出力する内容はどれだけ大きくなっても構いません。省略することなく、必ず最後まですべてを出力してください。
---
## Section
Sectionは大まかな業務の塊を示します。
適切な粒度に区切り、「〇〇業務」として、Sectionを列挙してください。

## BusinessPatterns
BusinessPatternは、大まかな業務は同じだけれども、いくつかのパターンが考えられる場合に、そのパターンを示します。
例えば、営業プロセスという大まかな業務が存在するが、東京支店、大阪支店、福岡支店など、支店によって細かい業務の流れが異なる、といった場合に、それぞれのパターンをつくります。
以下のようなObject形式で列挙してください。もし、複数のパターンが存在しない場合、「基本」という1つだけを作ればよいです。
例:{"BusinessPatterns": ["パターンA", "パターンB", ...]}

## Actors
Actorは業務に登場する人・システムを示します。
なお、システムActorについては、モジュールやアーキテクチャレイヤーごとに分割せず、同じシステム・プロダクトであれば1つのActorとして示してください。複数のシステム・プロダクトが登場する場合のみ、Actorを分割すること。
業務に登場する人・システムを洗い出したら、人かシステムかがわかるようにObject形式で列挙してください。
例:{"Actors": {"人": ["A", "B", "C", ...]}, {"システム": ["D", "E", "F", ...]}}

## Actions
Actorが行うアクションを一つずつすべて洗い出し、どのActorが行っているか、どのパターンに含まれるかわかるようObject形式で列挙してください。
Input/Outputは、データの流れや出力される帳票などを示します。
なお、パターンは異なるが同じアクションの場合、それらを共通化し、どのパターンに該当するかを示してください。
例:{"Actions": [{"アクションA": {"id": n}, {"Actor": "アクターA"}, {"BusinessPatterns": "パターンA"}, {"Input": "入力内容"}, {"Output": "出力内容"}, {"Duration": "所要時間"}, {"Frequency": "頻度"}}, ...]}

## Memo
業務アクションではなく、備考・特記事項として記載したいものを一つずつすべて洗い出し、そのメモと関連するActionがわかるようObject形式で列挙してください。
例:{"Memos": [{"メモ内容A": {"id": n}, {"Action": "アクションA"}]}

## Conditions
パターンの分岐を、ConditionsとしてObject形式で列挙してください。
例:{"Conditions": [{"コンディションA": {"id": n}, {"options": ["パターンA, パターンB", ...]}}, ...]}

## Edges
各種Node間の関連をObject形式で列挙してください。
例:{"Edges": [{"Edge1": {"from": [{"type": "memo"}, {"id": "memoId_1"}]}, {"to": [{"type": "action"}, {"id": "actionId_1"}]}, ...]}

なお、出力内容が大きすぎる場合、出力結果が途中で途切れてしまう場合があります。
そのときは「続けて」とプロンプトを実行して、続きから結果を出力させることができます。
出力されたテキストは 業務フロー.md といった形で保存してください。

STEP 2. 作成した業務手順書をJSONフォーマットに変換

新しいチャットウィンドウを開き、STEP 1. で作成したファイルと、こちらからダウンロードできるJSON仕様書をAcsim Chatにアップロードし、以下のプロンプトを実行します。プロンプトの調整は不要です。
※前回のコンテキストを引き継ぐことで精度がブレることを低減するために、新しいチャットウィンドウで実行することをおすすめします。

添付した業務手順書をしっかりと読み込み、内容を漏れなく、合わせて添付したJSON仕様書を遵守したフォーマットでJSONを出力してください。
出力するJSONファイルはどれだけ大きくなっても構いません。省略することなく、必ず最後まですべてを出力してください。

以下の前提条件と修正ポイントを厳守してください:

1. 命名規則:
   - IDには半角英数で正確に大文字小文字を区別して使用する(例: "subSection1"、"action1")
   - businessPatternIdsは "bp1", "bp2", "bp3" のように命名する
   - artifactIdは "artifact1", "artifact2" のように連番で命名する
   - conditionOptionId内では "-" は使用不可

2. ノード構造:
   - "sourceHandle"と"targetHandle"は必ず "nodeId-position"(例: "action1-right")と正確に記述する
   - "id": "section-area"は以下の情報で固定する
     /```json
     {
       "id": "section-area",
       "type": "sectionArea",
       "position": {
         "x": 0,
         "y": -48
       },
       "measured": {
         "width": 50000,
         "height": 40
       },
       "data": {}
     }
     /```
   - "type": "subSectionArea"は以下の情報とする(actor毎に作成するがpositionはx=48,y=46で固定すること)
     /```json
     {
       "id": "subSectionArea1", 
       "type": "subSectionArea",
       "position": {
         "x": 8,
         "y": 46
       },
       "measured": {
         "width": 49984,
         "height": 40
       },
       "parentId": "actor1",
       "data": {}
     }
     /```

3. 位置設定:
   - "type": "actor"は以下の情報とする
     /```json
     {
       "id": "actor1",
       "type": "actor",
       "position": {
         "x": 0,
         "y": 0  // index順に0, 368, 736...の値を入れる
       },
       "measured": {
         "width": 200,  // 必ず200にする
         "height": 40
       },
       "data": {
         "name": "各部署担当者",
         "type": "human",
         "index": 0
       }
     }
     /```
   - "type": "action"は以下の情報とする
     /```json
     {
       "measured": {"width": 256, "height": 121}
     }
     /```
   - ActionNode、ConditionNodeのxは、遷移元Nodeのx+350にする。**これは異なるActorでも関係なく厳守すること(正確に)**
   - ActionNode、ConditionNodeのyは、属するActorのy+140にする。**ただし、同じ位置にNodeがある場合、そのNodeのy+200とする(正確に)**
   - MemoNodeは、EdgeがつながっているActionNodeのy+200にする。

4. エッジ設定:
   - エッジは遷移元Nodeの右から遷移し、遷移先Nodeの左に接続する
   - sourceHandleとtargetHandleの命名は必ず "nodeId-position" 形式を守る
   - エッジは、遷移元、遷移先のいずれかがMemoNodeの場合は、遷移元の上から遷移し、遷移先の下に接続する
   - edges[].type は小文字で "active" | "inactive" | "memo" | "issue" のいずれか(例: "active") ※ 大文字(例: "ACTIVE")は不可
   - sourceがConditionノードの場合、sourceHandleプロパティはConditionのOptionIdを接尾辞として使うこと
       - 例: "sourceHandle": "conditionId-conditionOptionId"
   - sourceがConditionノードの場合、複数のNodeにエッジをつなげることは不可とすること
   - Memoノードはsourceとしてのみ使用すること
   - edges[].dataはoriginalEdgeIdというプロパティを持ち、自身のEdgeIdと同値を設定すること

5. セクション設定:
   - section、subSectionの横位置は、関連するNodeの上部に配置し、幅は関連するNodeの左右+30ずつとする
   - section、subSectionの配置は被らないようにする
   - subSectionの縦位置は、関連するActorIdのy+37の位置にする(正確に)

6. データ設定:
   - durationとfrequencyには実際の値を設定する(例: 10, 5など)。不明な場合はnullではなく0を設定する
   - "parcentage"の値は必ず整数値かつ1以上とし、兄弟要素すべて足したときに100となるようにする
   - "duration"の値は必ず整数値かつ1以上とし、兄弟要素すべて足したときに100となるようにする
   - すべてのbusinessPatternsのpercentage値は必ず1以上の整数値を設定する。0は許可されていない。
   - 頻度の低い業務パターンにも、最低でも1%以上の値を設定する
   - アクターの役割と順序は添付されたJSONファイルと完全に一致させる
   - "businessPatterns"がない場合は、"businessPatterns": [] をセットする

7. 全体構造:
   - 添付されたJSONファイルと完全に同じ構造を維持する
   - ノードの配列(nodes)
   - エッジの配列(edges)
   - アーティファクトの配列(artifacts)
   - ビジネスパターンの配列(businessPatterns)
   の4つの主要セクションで構成する
   - 各セクションの内部構造も添付JSONと一致させる

8. 正確性の確認 ※特に必ず確認すること:
   - 生成したJSONが有効なJSON形式であることを確認する
   - 全ての必須フィールドが含まれていることを確認する
   - 添付されたJSONファイルと同じ構造と命名規則を使用していることを確認する
   - 特に位置情報、サイズ、親子関係の定義が正確であることを確認する
   - 各プロパティから存在しないIDを参照していないことを確認する

最終的なJSONは完全な形式で、中断なく最後まで出力してください。生成したJSONは添付されたJSONファイルと構造的に一致している必要があります。
Edgeの遷移元・遷移先を考慮したNodeの位置関係は、最後にもう一度確認したうえで、出力すること。

出力内容が大きすぎて結果が途中で途切れてしまった場合は、「続けて」とプロンプトを実行して、続きから結果を出力させてください。
出力されたテキストは 業務フロー.json といった形で保存してください。

STEP 3. AcsimのJSONインポート機能を使ってAsIs業務フローを作成

最後に、保存した 業務フロー.json を、AcsimのJSONインポート機能を使ってアップロードし、AsIs業務フローを作成します。

効率的な業務フロー作成方法_JSONインポート機能

作成する業務フローの粒度に迷ったら

Acsimで作成した業務フロー例を以下に掲載しています。

事例集:業務フロー/デザイン - ROUTE06 Professional Services

また、以下のページからも業務フローのサンプルをダウンロードすることが可能です。

業務フローダウンロード - Acsim Docs

これらを参考に、プロジェクトに合わせて業務フローを作成すると良いでしょう。