ワークフローをモジュールに分割し、各モジュールのアクティブな状態を表すことを提案します。
モジュールは、メイン ワークフローのサブセットです。たとえば、タスク、人、役割、部門などで分割できます。これにより、ワークフローの表現が大幅に簡素化されます。誰かが多くの重要な瞬間にデータ入力を担当しているとしましょう。彼のすべてのタスクを、同じアクティビティ、入力、出力、および条件を含む 1 つのモジュール (またはサブワークフロー) にグループ化できます。モジュールは相互に依存し、関連している可能性があります。
状態は、モジュール内での位置です。単純なワークフローでは、アクティブなタスクは 1 つだけです。実際にはマルチスレッドです!したがって、1 つのモジュールで多くの状態が同時にアクティブになる可能性があります。状態には、アクティブな入力、出力、およびメモリ ビットも含まれます。
入力は、ブール条件を評価するためのアクティビティを実行するために必要なものです。ドキュメント、データ、信号などの可能性があります...
出力とは、タスクの結果として得られるものです: 情報、ドキュメント、シグナル...
十分な定義ですか?
次に、ワークフローをLADDER LOGICに変換するだけで、状態を取得できます。
ウィキペディアのラダー ロジックの定義を参照してください。
アクティブな状態のみを表示します。
- モジュールのアクティブなタスク
- 入力が必要/入力が確認されました
- 出力要求/出力実現
- 継続する条件
抽象的に見える?
ここに小さな例があります...
ジャネットはシステムにデータを入力します。彼女はダイアグラムの緑色のタスクを管理しています。私たちは他の仕事ではなく、彼女の仕事だけに集中します。彼女は、ワークフローで 16 のタスクを実行する方法を知っています。私たちは、彼女からの次のアクションが継続されるのを待っています。彼女のイントラネット ダッシュボードには次のように表示されます。
優先度 1 : 販売レポートに基づいて翌月分の鉛筆を注文するには、PO を送信する必要があります。
- タスク: 注文書を送信する
- 入力: マーケティング部門からの予測レポート
- 出力: PO、ベンダー、アイテム、数量
- 完了条件: PO の送信とサプライヤーからの注文確認の受領
優先度 2 : 生産によって拒否された消しゴムの数を財務システムに入力する必要があります
- タスク: データ入力
- 入力: 生産からの拒否数
- 出力: リジェクト数
- 完了条件:データ入力・確認
数十万のはしごステップがある自動化された生産システムで多くのトラブルシューティングを行います (ワークフローは複雑すぎて全体を表すことができません)。システムがブロックされると、各モジュールを調べて、アクティベーション タスクの完了に必要な入力が欠落しているものを特定します。
幸運を!