PushルーティングとPullルーティング
PushルーティングとPullルーティング
ルーティングには、基本となるPushルーティングとPullルーティングの2種類があります。
Pushルーティングロジックは、ケースフロー処理中に呼び出され、ケースの次のアサインメントに対するルーティングを決定します。 Pushルーティングは、ワークリストアサインメントまたはワークバスケットアサインメントを作成できます。 ワークリストアサインメントにルーティングする際に、Pegaは、稼働状況(オペレーターが稼働可能であるか休暇中か)、オペレーターのワークグループ、オペレーターのスキル、現在の作業量など、複数の条件を使用して最終的なオーナーを選択できます。 選択したオペレーターが不在の場合は、代替のオペレーターに対してルーティングを設定することもできます。
Pullルーティングは、システム選択アサインメントモデルともいい、アサインメントを作成するケースのコンテキスト外で発生します。 標準のポータルでは、ポータルの上部にある「Next Assignment」をクリックすると、Get Next Workを使用して、作業対象のアサインメントを引き出すことができます。 また、フロールールの「Process」タブで「Look for an assignment to perform after add? 」を、フローアクションルールの「Action」タブで「Look for an assignment to perform?」を選択すると、作業対象のアサインメントを引き出すことができます。
Get Next Work機能は、一連のアサインメントリストの中から最も緊急性の高いアサインメントを選択します。 ワークキューが取得したアサインメントの所有権は、MoveToWorklistアクティビティが呼び出されるか、ユーザーが取得したアサインメントのフローアクションを送信するまで発生しません。 GetNextWork_MoveAssignmentToWorklistアプリケーション設定ルールは、MoveToWorklistアクティビティが呼び出されるように、trueに設定する必要があります。
次の図は、ケース処理コンテキストでの実行時に、ルーティングアクティビティをどのように使用してPushルーティングを実現しているかを示しています。 また、非ケース処理コンテキストで実行されるGetNextWork関連のルールをどのように使用してPullルーティングを実現しているかも示しています。
Pushルーティングのアクティビティは、以下の表に示すとおり、大きく4つのカテゴリーに分類されます。
共通 | 組織ベース | デシジョンベース | スキルベース |
---|---|---|---|
ToAssignedOperator |
ToWorkGroup
|
ToDecisionMap
|
ToLeveledGroup
|
ToCurrentOperatorの正当な使用方法
ToCurrentOperatorルーティングアクティビティは慎重に使用してください。 ケースを後方に移動させるChange Stageアクションが実行された場合は、アクションを実行したユーザーが新しく作成されたアサインメントのオーナーになります。 その代わり、移動を実行したユーザーは、ケースに関連するパーティにアサインメントをルーティングしようとする可能性があります。 そのような時は、ワークパーティルーティングが役に立つ場合があります。
標準エージェントや上級エージェントなどのバックグラウンドプロセスで、ToCurrentOperatorルーティングを使用するアサインメントにケースが転送された場合には、アサインメントルーティングエラーが発生することがあります。 その後、ケースはProblemFlowに送られ、送られなければ参照先がなかったケースに対するアサインメント参照が保存されます。 また、このような状況は、ToCurrentOperatorを使ったアサインメントが、Waitシェープに続くときにも生じる可能性があります。
アサインメントルーティングのロールの活用
ToWorklist、ToCreateOperator、ToCurrentOperatorなどのルーティングアクティビティ(pyActivityType = ROUTE)は、アサインメントを受けるユーザーのロールを指定せず、特定のオペレーターにルーティングします。 しかし、特定のワークパーティロールにルーティングすることで、アサインメントがそのユーザーにルーティングされる理由がより明確になります。 さらに重要なのは、ワークパーティロールがアサインメントのルーティングに抽象化レイヤーを提供することです。 これにより、同じルーティング方法(ToWorkParty)を使用しても、そのロールを実行するために割り当てられたオペレーターを変更することで、別のオペレーターに割り当てることができます。
ToWorklistルーティングを使用する場合は、ハードコードされたオペレーターIDではなく、受信者のロールを示すプロパティ名を使用することをお勧めします。
また、パーティのロールは、ソリューションに特化させ、汎化しすぎないようにしてください。 最初はケースを作成したユーザーがオーナーとみなされますが、 ケースライフサイクルの後半になり、複数のユーザーにルーティングされた後では、誰がオーナーなのかわからなくなりがちです。 しかし、Pegaが提供するロール名に利用を限る必要はありません。 発案者、販売代理店、ラインマネージャー、執行役員などの具体的なロール名を作成し、各ロールにわかりやすい説明を付けるようにしてください。
ToNewWorkPartyとToWorkPartyはいずれも、PartyRoleパラメーターで指定したパーティのワークリストに割り当てをルーティングします。 また、ToNewWorkPartyは、PartyRoleにまだワークパーティが存在しない場合は、ワークパーティも追加します。 一方、ToWorkPartyは、構成されたPartyRoleがアサインメントの前に存在しなかった場合は、エラーをスローします。
次以下のアクティビティは、いずれも@pickBalancedOperator()関数を使用しています。 この関数は、オペレーターの必須のスキルや望ましいスキル、作業量などを評価します。
- Work–.ToSkilledGroup
スキルベースのルーティングを使用して、ワークグループ内の必須のスキルや望ましいスキルを持つオペレーターにアサインメントがルーティングされます。 ワークグループの中に条件を満たすオペレーターがいない場合は、そのアサインメントはワークグループマネージャーにルーティングされます。 - Work–.ToLeveledGroup
このルーティングアクティビティは、Work-.ToSkilledGroupに似ていますが、オペレーターの作業量を考慮しながら特定のワークグループ内のオペレーターにアサインメントを送信し、必須のスキルを持つ最も手が空いているオペレーターに作業を割り当てるという点が異なります。
会社に最適なルーティング方法を決定するのは、リードシステムアーキテクト(LSA)の仕事です。 スタッフの稼働率を高め、高いスループットを実現するには、「最適な」オペレーターにアサインメントをルーティングすることが重要です。
このトピックは、下記のモジュールにも含まれています。
- ワークアサインメント v2