QPR プロセスモデリングツールに標準搭載されているシミュレーション機能についてご紹介します。
業務プロセスは複数のアクティビティを経て流れていく訳ですが、必ずしも一本の道を通る訳ではなく、分岐と結合が発生します。アクティビティ自体の作業時間も一定であるとは限りません。また各アクティビティを実行する上では、人や設備等のリソースが必要となるケースも少なくありません。
この業務プロセスに対して、例えばオーダー等のインプットを行うことで処理が流れる訳ですが、結合している部分ではそれまで分岐していたそれぞれの流れからのアウトプットが全て揃わなければアクティビティが開始できないことがありますし、どちらか一方が到達すれば開始はできるが、全てが到達して処理が終わらなければ終了ができない等、プロセスの開始・終了条件も色々あります。
分岐の部分では手戻りが発生することがあり、手戻りしたオーダーと後から流れてきたオーダーがどこかのアクティビティでぶつかり、一方が処理待ちになることがあります。
さらに、特に事務・管理系のプロセス等に良く見られるように、担当者が複数のアクティビティを受け持つ場合、あるアクティビティで処理中に別のアクティビティに別のオーダーが到達することが起こり得ます。この場合はどちらかの作業が優先され、もう一方のオーダーの処理は中断します。
一定期間発に処理すべきオーダー数が増加すると、こうした様々な要因で、プロセスの中断や手待ちが非常に発生しやすくなり、納期等の遅れにつながって行きます。これを回避するためにリソースを増やす等の対応が考えられますが、逆にリソースが過剰となり、コストアップ要因となる可能性があります。
QPR ProcessDesignerのシミュレーション機能は、
- アクティビティやアクティビティ間にあるフローの処理時間とその偏差
- 分岐条件や結合時の開始条件、あるいはアクティビティの終了条件
- アクティビティやフローの処理に必要なリソース(人や設備等)とその数量、代替可能なリソース
等の情報を実際のプロセスの分析をもとに定義しておき、そこに一定時間に一定間隔で連続的に注文等のインプットを行い、ケース(オーダー等)の処理時間やコストを算出、集計します。
これにより、現在のプロセスのオーダー処理能力を把握したり、オーダー数が増加した場合に処理待ちや手待ちがどこに発生するか、個々のリソースの消費状況(負荷状況)が適正であるかどうか(作業負荷100%の状態がずっと継続してしまっていないか、逆に負荷が低すぎて遊んでしまっていないか)等を把握・分析することができます。
シミュレーションを行い、必要によりプロセスの流れを変更したり、リソース配置を変更したりしながら、プロセスが最適化される条件を見つけ出していくことができる訳です。