BPMN 2.0とは?記法の実践ガイド
BPMN 2.0とは?イベントやアクティビティ、ゲートウェイ、プール、レーン、成果物でプロセスを表す方法を解説します。
BPMN 2.0とは?標準規格や記号、使い方を解説
BPMNは、業務プロセスを図にして、何が起きるのか、誰が関わるのか、仕事が次のステップへどう進むのかを共有するための標準的な記法です。BPMN 2.0では記法と共通のXML形式が定められており、プロセスモデルの検討、文書化、交換がしやすくなります。
以下のナビゲーションから、必要な記号のグループに移動できます。BPMN、UML、フローチャートのガイドでは、BPMNと他の記法も比較しています。
このページを最初から読む必要はありません。BPMN 2.0モデラーを開き、よく知っているプロセスを1文で説明すると、最初の下書きが作成されます。その後、以下のリファレンスを使って記号を1つずつ修正できます。記法だけを先に学ぶよりも早く、インストール不要で今すぐモデルを作成できます。
BPMN記号リファレンスへ移動
BPMN 2.0とは
BPMNはBusiness Process Model and Notationの略称です。Object Management Group(OMG)が標準規格を公開し、維持しています。プロセスの開始と終了から、その間のタスク、判断、引き継ぎまでを記述するための共通の視覚言語を、モデリング担当者に提供します。
BPMN 2.0は2011年に公開されました。主な追加要素の1つがXMLシリアライズです。モデルを保存する標準的な方法が定められ、異なるツールでの読み取りや交換が可能になりました。記法は特定のベンダーに依存しないため、記号が特定のモデリングツールに縛られません。その結果、組織やベンダーが共通して採用する業務プロセス管理の記法となり、独自の記法が乱立する事態を避けられました。
BPMN図は、同僚へのプロセスの説明、想定される業務の文書化、ワークフローエンジンで実行できる精度のモデル作成に役立ちます。必要な詳細度は目的によって異なります。関係者間の共有を目的とするモデルでは、技術的な実装の詳細をすべて記述する必要はありません。
BPMN 2.0を使う理由
BPMNを使うと、業務チームと技術チームがプロセスの手順や責任について共通の方法で話し合えます。記号の意味が定義されているため、図ごとに凡例を覚える必要がありません。また、BPMNで作成したプロセスは、作成元のツール以外でも利用できます。
BPMNモデルは、次のような用途に役立ちます。
- **業務の流れを説明する。**アクティビティの順序、判断が必要な箇所、結果を1つの図で示します。
- **責任を明確にする。**プールとレーンを使って、関係する参加者やロールを示します。
- **例外を文書化する。**主な流れに加えて、代替経路、イベント、異なる終了状態をモデル化します。
- **モデルを交換する。**BPMN 2.0 XMLを使ってツール間でモデルを移行できます。ただし、ツール固有の詳細も引き継がれるか確認してください。
- **プロセスを見直し、改善する。**文書化したモデルと実際の業務を比較します。プロセスマイニングを使うと、イベントデータを根拠として加えられますが、それだけでプロセスが変わるわけではありません。
ツールの選定については、BPMNツールの概要をご覧ください。ProcessMindではプロセスモデリングとプロセスマイニングを組み合わせ、文書化したプロセスを業務データと結び付けられます。
私たちは、BPMN 2.0とバリューストリームマッピングを採用しています。すでに多くの人が使っている標準規格だからです。完璧かといえば、そうではありません。それでも十分に役立ちます。独自に少し改良するよりも、パートナーや監査担当者、他のツールがすでに読み取れる共通言語であることのほうが大切です。共通の記法があれば、2つのチームが同じプロセスの改善に取り組めます。
BPMN 2.0の主な要素
BPMNの要素は4つのグループに分かれています。以下の表で概要を確認し、詳しい説明は各セクションをご覧ください。
| グループ | 要素 | 表す内容 |
|---|---|---|
| フローオブジェクト | イベント、アクティビティ、ゲートウェイ | 何が起きるか、どのような作業を行うか、フローがどこで分岐するか |
| 接続オブジェクト | Sequence Flow、Message Flow、Association | 要素間のつながりと、作業や情報の流れ |
| スイムレーン | プールとレーン | 関係する参加者とロール |
| 成果物 | Data Object、Data Store、Group、Text Annotation | プロセスの説明に役立つ情報やコンテキスト |
すべての要素については、BPMNの構成要素リファレンスとBPMN要素アイコンガイドをご覧ください。各言語版のBPMN 2.0ポスターもダウンロードできます。
イベント
イベントは、プロセス中に起きる出来事を表します。円で示し、発生するタイミングを枠線で区別します。
- 開始イベントの枠線は細線です。
- 中間イベントの枠線は二重線です。
- 終了イベントの枠線は太線です。
開始イベント
開始イベントは、プロセスまたは経路の始まりを示します。開始のきっかけが複数ある場合、プロセスに複数の開始イベントを設定できます。たとえば、受注プロセスは、顧客がオンライン、電話、対面のいずれかで注文した時点から始まる場合があります。
中間イベント
中間イベントは、プロセスの開始から終了までの間に発生します。種類や配置に応じて、メッセージやシグナルなどのイベントを受け取ったり、送信したりします。その他のイベントには、Timer、Error、Escalation、Compensation、Conditional、Cancel、Link、Terminate、Multiple、Parallel Multipleがあります。
たとえば、受注プロセスで顧客からの確認メッセージを待ってから、次の処理に進む場合があります。イベントの記号は、プロセスが何を待っているか、または何を送信しているかを示します。
終了イベント
終了イベントは、プロセスの経路の終わりを示します。注文の完了や却下など、異なる結果を示すために複数の終了イベントを設定できます。読み手が区別できるよう、それぞれの結果に分かりやすい名前を付けてください。
イベントの記号
| 開始 | 中間 | 終了 | ||||||
|---|---|---|---|---|---|---|---|---|
| Type | 通常 | イベントサブプロセス | 中断しないイベントサブプロセス | キャッチ | 境界 | 中断しない境界 | スロー | |
| なし | | |||||||
| Message | | | | | | | | |
| Timer | | | | | | | ||
| Conditional | | | | | | | ||
| Link | | | | |||||
| Signal | | | | | | | | |
| Error | | | | |||||
| Escalation | | | | | | | ||
| 終了 | | |||||||
| Compensation | | | | | ||||
| Cancel | | | ||||||
| Multiple | | | | | | | | |
| 並列マルチプル | | | | | | | ||
アクティビティ
アクティビティは、プロセス内で行う作業を表します。主な種類はTaskとSubprocessです。Taskは1つの作業単位で、Subprocessは独自の手順を含みます。
Taskの種類
BPMNでは、作業の実施方法を示すためにTaskの種類を使います。種類はモデル内のアクティビティを表すものであり、ProcessMindが作業を実行するという意味ではありません。
Task
Taskは汎用のアクティビティです。より具体的な種類に当てはまるか判断する前に手順を記録したい場合は、まず汎用のTaskを使います。
Manual Task
Manual Taskは、プロセスエンジンによる管理なしに人が実行する作業です。書類の整理や、電話での請求書に関する問題の解決などが例です。
User Task
プロセスエンジンがUser Taskを担当者に割り当て、担当者が作業を完了して結果を記録します。請求書の確認、休暇申請の承認、サポートチケットへの対応などが例です。
Receive Task
Receive Taskは、メッセージを待つことをプロセス内の独立したアクティビティとして表します。封筒の中が空の記号で示します。
Receive Task(インスタンス生成)
インスタンス生成型のReceive Taskは、メッセージを受信するとプロセスを開始します。記号の左上に小さなイベントマーカーが付きます。
Send Task
Send Taskは、プロセスの一部としてメッセージを送信する作業を表します。
Script Task
Script Taskは、プロセスエンジンが実行できるスクリプトを表します。スクリプトは、エンジンが対応する言語で記述します。
Service Task
Service Taskは、Webサービスの呼び出しなど、ソフトウェアサービスが行う作業を表します。モデルが示すのはアクティビティの種類であり、実装方法はプロセスを実行するシステムによって異なります。
Business Rule Task
Business Rule Taskは、業務ルールを評価または適用するアクティビティを表します。
サブプロセスとアクティビティマーカー
Subprocessには独自のフローが含まれます。展開して手順を表示したり、折りたたんで親図の内容を絞ったりできます。アクティビティマーカーを使うと、作業の繰り返し、複数の項目に対する実行、補償処理も示せます。
Subprocess
折りたたまれたSubprocessは、複数の手順を親図の1つのアクティビティにまとめます。内部の流れを確認する必要がある場合は、展開します。
AdHoc Subprocess
AdHoc Subprocessは、決まった順序のないアクティビティを表します。アクティビティを柔軟な順序で実行できることをモデルで示します。
ループマーカー
ループマーカーは、終了条件が満たされるまでアクティビティを繰り返すことを示します。
複数インスタンスマーカー
複数インスタンスのアクティビティは、定義された項目ごとに繰り返し実行されます。縦線は並行するインスタンス、横線は順次実行するインスタンスを示します。
補償マーカー
Compensationアクティビティは、先行するアクティビティの影響を取り消したり、相殺したりする作業を表します。図にはSequence FlowではなくAssociationで接続します。
マーカーの組み合わせ
補償マーカーは、ループマーカーや複数インスタンスマーカーと組み合わせて、アクティビティの繰り返しや複数項目への適用を示せます。
ゲートウェイ
ゲートウェイは、プロセスの分岐や合流を制御します。ひし形で表し、内部のマーカーでゲートウェイの種類と経路の処理方法を示します。
Exclusive Gateway
Exclusive Gatewayは、分岐する経路のうち1つを選択します。ひし形の中には、Xのマーカーが表示される場合と、何も表示されない場合があります。
Inclusive Gateway
Inclusive Gatewayは、条件に応じて1つ以上の経路を有効にします。プロセス内の後続の対応するGatewayで、有効になった経路を同期できます。
Parallel Gateway
Parallel Gatewayは、フローを分岐させるときに、すべての経路を有効にします。経路を統合するときは、すべての入力分岐が完了するまで待機します。
Event Gateway
Event Gatewayは、メッセージの受信など、最初に発生したイベントに応じてプロセスの経路を決定します。
接続オブジェクト
接続オブジェクトは、BPMN要素同士の関係を示します。表したい関係に合ったコネクターを使います。
Sequence Flow
Sequence Flowは、プロセス内のアクティビティとイベントの順序を示します。矢印の付いた実線で表され、条件付きの経路またはデフォルトの経路を示すことができます。
Message Flow
Message Flowは、通常は異なるPoolで表される、別々の参加者間のやり取りを示します。始点に円、終点に白抜きの矢印が付いた破線で表されます。同じPool内のアクティビティ同士をつなぐためには使いません。
Association
Associationは、アクティビティまたはイベントを、Data ObjectやText Annotationなどの成果物に接続します。プロセスのフローを変えずに、コンテキストを補足できます。
PoolとLane
Poolは、組織、部門、システムなど、プロセスの参加者を表します。LaneはPoolを区分し、その参加者内の責任範囲を示します。
異なる参加者とその間のやり取りを示すには、Poolを分けます。各アクティビティをどの役割またはシステムが担当するかを明確にするには、Laneを使います。詳しくは、PoolとLaneに関する文書をご覧ください。
折りたたまれたPool
折りたたまれたPoolは、参加者の内部アクティビティを表示せずに、その参加者を示します。外部の組織やシステムが関与していることは示しつつ、内部プロセスをモデルの対象外とする場合に便利です。
成果物
成果物は、Sequence Flowを変えずに、BPMN図に情報やコンテキストを加えます。主な種類には、Data Object、Data Store、Group、Text Annotationがあります。
Data ObjectとData Store
Data Objectは、アクティビティで使用または生成される情報を表します。Data InputとData Outputは、プロセスに入る情報とプロセスから出る情報を示します。Data Storeは、プロセスのインスタンス終了後も保持される情報を表します。
グループ
Groupは、関連する要素を視覚的にまとめます。プロセスのフローは変わりません。
Text Annotation
Text Annotationは、図に説明や注記を加えます。関連する要素にはAssociationで接続します。
BPMN図の作成方法
まず、図で答えたいプロセス上の問いを決めます。次に、主要なフローからモデルを作成します。
- **範囲を決めます。**対象のプロセス、開始点と終了点、読み手に必要な詳細度を選びます。
- **アクティビティを列挙します。**記号を追加する前に、主な手順を自然言語で書き出します。
- **イベントと結果を加えます。**プロセスの開始条件、途中で起こり得ること、各経路の終了方法を示します。
- **判断をモデル化します。**フローが分岐または統合する箇所にGatewayを追加します。
- **参加者と責任範囲を示します。**PoolとLaneを使って、担当を明確にします。
- **メッセージとコンテキストを加えます。**参加者間にはMessage Flowを使い、関連するデータや注記には成果物を使います。
- **モデルを確認します。**業務をよく知る人と各経路をたどります。図が読みやすく、記号が意図した意味を表していることを確認します。
手順に沿って進めるには、BPMN図の作成に関する文書をご覧ください。完成したモデルを確認するには、文書内のBPMN 2.0の例もご覧いただけます。プロセスに合うパターンを参考にしてください。
実際に図を描くと、記法を早く身につけられます。よく知っているプロセスを選び、文章で説明してから、モデラーが作成した下書きを修正します。記号を確認している間、オートレイアウトが図を整えます。
図を役立つ状態に保つBPMNモデリングの実践方法
次の点を押さえると、モデルを確認しやすく、保守もしやすくなります。
- **最初に目的を共有します。**議論のためのモデルに必要な詳細度は、実装を目的とするモデルより低い場合があります。
- **標準の記号を一貫して使います。**読み手に伝わらない図形や意味を独自に作らないようにします。
- **要素に分かりやすい名前を付けます。**プロセスチームに通じる用語を使い、結果の違いを明確にします。
- **図の焦点を絞ります。**詳細をメインフローから分けるには、Subprocessを使います。
- **責任範囲が変わる箇所を示します。**PoolとLaneは、空の構造を増やすのではなく、参加者と担当を明確にするために使います。
- **プロセスの関係者と内容を確認します。**業務を実行または管理する人と一緒に、各経路をたどります。
- **変更後に見直します。**図が表すのは、ある時点のプロセスです。プロセスが変わったら図も更新します。
ProcessMindのBPMN 2.0モデラーはブラウザー上で動作し、説明文からのAIによるモデル作成、自動レイアウト、モデル品質チェックに対応しています。ツールが作業の一部を担うことで、こうした実践方法を続けやすくなります。よく知っているプロセスから始めれば、記法の確認、レビュー、最初の改善に向けた話し合いを同じ場所で進められます。モデリングと業務データを組み合わせるメリットについては、プロセスモデリングとプロセスマイニングを組み合わせる価値をご覧ください。
BPMN 1.xからBPMN 2.0への主な変更点
以前のBPMNモデルを確認している場合も、記号には見覚えがあるでしょう。主な違いは、標準の定義の精密さと、モデルの移植性にあります。
- **共通のXML形式。**BPMN 2.0では、モデルの保存と交換に使う形式が定義されています。BPMN 1.xには共通のファイル形式がなかったため、ツール間でモデルを移行しにくい場合がありました。
- **より詳細な定義。**BPMN 2.0では、要素とその関係がより詳しく規定されています。
- **実行可能なモデルへの対応。**BPMN 2.0は、ワークフローエンジンがモデルを実行できるほど詳細に定義されています。ただし、すべてのプロセスモデルを実行可能にする必要はありません。
現在のモデリングツールが対応しているバージョンであるため、新しいモデルの多くにはBPMN 2.0が適しています。
BPMN 2.0のXMLに含まれる情報
BPMN 2.0のXMLファイルには、モデルの要素、接続、名前、図のレイアウトが保存されます。PoolとLaneの構造、Sequence FlowとMessage Flow、イベントとGatewayの種類、キャンバス上の要素の位置などを含めることができます。
XMLに対応しているとモデルを交換できますが、ツール固有の機能がすべて引き継がれるとは限りません。別のツールではレイアウトが異なって表示される場合があり、カスタムフィールドやレビュー履歴が標準ファイルに含まれないこともあります。
ProcessMindでのBPMNファイルのインポートとエクスポートの方法は、文書をご覧ください。ツールを比較する場合は、BPMN向けVisio代替ツールのガイドもご覧ください。
BPMN 2.0ポスターと記号一覧
モデリング中の早見表としてポスターをご利用ください。文書には、言語別のポスターのダウンロードが掲載されています。
ポスターは図を描きながら参照するものです。作業中のモデルのそばに置いておくと便利です。モデラーを開き、図を見ながらポスターで記号を確認できます。
各言語版のBPMN 2.0ポスターをダウンロード
下からポスターを選ぶとPDFが開きます。ダウンロードできるバージョンは文書のページに掲載されており、最新の参照先としてご利用いただけます。
謝辞
このポスターは2010年に作成され、研究者や実務家によって翻訳されました。公開に協力してくださった皆さま、関係機関に感謝いたします。
原著者:Gero Decker、Jakob Freund、Alexander Lübbe、Jan Mendling、Frank Puhlmann、Torben Schreiter、Matthias Weidlich。
翻訳協力:Trisotech(フランス語)、Ildefonso Montero、Luciano García-Bañuelos、Marlon Dumas(スペイン語)、Hasso-Plattner-InstituteのBusiness Process Technology Group(ロシア語)、Birger Andersson、Petia Wohed(スウェーデン語)、Thauris.nl(オランダ語)、Lucinéia Heloisa Thom、Cirano Iochpe(ポルトガル語)、MGX Infoservice(ポーランド語)、Ofir Nimitz、Iftah Peretz(ヘブライ語)、北京交通大学ソフトウェア工学部のA/Prof Zhang、Lecturer Ms Bai(中国語)、Istvan Gerecs(ハンガリー語)、Hamidreza Sarabadani(ペルシア語)。
出典:BPMN 2.0ポスター
次に取り組むこと
記号一覧を手にしたら、モデルを作成し、プロセスをよく知る人と各経路を確認してみましょう。
Where to Go From Here
You know the notation and you have the reference. The part that sticks is drawing a process you already know, and that can happen today rather than in the next planning cycle.
