Wednesday, February 13, 2013

It has been a while since my last post to the PegaWave blog. A quick update is in order. In 2010, my company, Knowledge Rules was purchased by Accenture to form the core of new dedicated Pegasystems Practice. I spent the next two years helping to root and grow the practice globally. If you enjoy the thinking embodied in my posts below, Accenture's Pegasystems Practice is an organization you will want to get to know. In keeping with Accenture's policies and culture, during my tenure there my blogging was reserved for an internal audience only. Now that I am returned to the entrepreneurial world, I will begin to post again though I am contemplating whether PegaWave is still appropriate. These days I am exploring the world of Open Source tools and SaaS models; extending my BPM and Rules skills into new areas of technical innovation. I will keep you posted!

Thursday, July 16, 2009

Rules Governance Framework: 4 Phases

Rules Governance is a specific form of corporate governance applied to ensure consistency and predictability of an organizations approach to managing fundamental business rules. Rules governance is just emerging as a concern within forward-thinking organizations that recognize that business rules at the core of a company's operational performance and must be managed to:



  • minimize risks of non-compliance with regulatory and legal procedures and

  • maximize the competitive advantage of business practice intellectual property.


Business rules are the guiding principles behind every transaction between an organization and it's key stakeholders--external; customers, suppliers, and shareholders, as well as internal; divisions, departments, individuals. Business rules need not be embodied in a computer system, though clearly, our majority focus is on doing so in the best possible fashion. Business rule implementations may be just as effectively implemented by documenting them in training and SOP documents as in encoding them in an IT application. So, rules governance does not immediately suggest that IT is involved. Rules Engines are the most highly evolved repository for business rule embodiment. However, one must consider that not all business rules are suitable for embodiment in software and indeed not all businesses are prepared to begin to solidifying business rules into software.


So, as business leaders become aware of the importance of managing fundamental business rules as strategic assets, Rules Governance practices will evolve. To begin our exploration of the rules governance practice, we require a few simple tools to allow us to frame-up the domain.



Rules Governance is a process--ideally, an iterative process--which seeks to unearth common business practices and facts, bring them into focus for management, enrich them through re engineering, and finally to ensure their usage in the proper business contexts.


So, roughly, there are 4 phases of the iterative Rules Governance process:



  1. Discover

  2. Document

  3. Design

  4. Deploy


The Discover and Document Phases are alike in that they are best owned by the Business Operations staff, while Design and Deployment are best owned by Business Engineering (see Rules Governance Framework: 2 Partners). The Discovery and Deployment phases should encourage broad participation in an organization; to achieve buy-in and ensure completeness. Document and Design phases, on the other hand, require small audiences of accountable individuals to avoid excessive analysis and the traps of consensus decision making.


Read more »

Labels: , , ,

Wednesday, July 15, 2009

Maximizing user productivity with GetNextWork Illustrated: GetNextWorkCriteria

GetNextWorkCriteria is the process used to determine which of a group of candidate assignments will be chosen to display to a user.


This standard mechanism for selecting the best candidate from a list applies regardless of the method chosen (see prior posts) to build the candidate list. The standard decision tree Assign-.GetNextWorkCriteria is applied to each assignment found, highest urgency first. Any assignments that have a pyActionTime in the future, those that require skills (pxSkillsRequired) that the current operator does not hold, assignments already worked on by this operator today (a local action), and those that cannot be locked (and so may be in use by others) are dropped as candidates.




EOF

Labels: , , ,

Maximizing user productivity with GetNextWork Illustrated: WBF, DWBU

The Next Option is the WorkBasket First, Dynamic WorkBasket Union (WBF, DWBU) Method


This method is the most performance hungry of the Work Assignment Push options.




  1. A user clicks the "Get Most Urgent" button.

  2. The button click starts the standard activity Work-.GetNextWork. This simple activity calls the final standard activity Work-.GetNextWorkObject.

  3. The GetNextWorkObject examines a property pyWorkBasketFirst for the user. If True, the system calls the standard activity Work-.findAssignmentinWorkbasket first.

  4. The Work-.findAssignmentInWorkbasket activity considers as candidates the assignments in workbaskets listed on this tab for this operator. If the Merge workbaskets? check box is checked and the Use all workbasket assignments in user's workgroup check box is selected, workbaskets are read for which the Work Group field (on the Workbasket tab of the Workbasket form) is the same as the Work Group field of this operator (as set on the Operator tab) appearing on the Work Access tab.

  5. The merged assignment list is then sorted by .pxUrgencyAssign with higher urgency assignments at the front of the list.

  6. The Assignments from the Merged List are considered (see GetNextWorkCriteria below) and processed.

  7. Once the WorkBasket assignments are exhausted, GetNextWorkObject calls the standard activity Work.findAssignmentinWorklist.

  8. The Assignments from the Worklist are considered (see GetNextWorkCriteria below) and processed.



* System Settings rule GetNextWork_WorkBasketUrgencyThreshold is ignored.



EOF

Labels: , , ,

Maximizing user productivity with GetNextWork Illustrated: WBF, WBU

The Next Option is the WorkBasket First, WorkBasket Union (WBF, WBU) Method




  1. A user clicks the "Get Most Urgent" button.

  2. The button click starts the standard activity Work-.GetNextWork. This simple activity calls the final standard activity Work-.GetNextWorkObject.

  3. The GetNextWorkObject examines a property pyWorkBasketFirst for the user. If True, the system calls the standard activity Work-.findAssignmentinWorkbasket first.

  4. The Work-.findAssignmentInWorkbasket activity considers as candidates the assignments in workbaskets listed on this tab for this operator. If the Merge workbaskets? check box is checked and the Use all workbasket assignments in user's workgroup check box is NOT selected, workbaskets appearing on the Work Access tab are read.

  5. The merged assignment list is then sorted by .pxUrgencyAssign with higher urgency assignments at the front of the list.

  6. The Assignments from the Merged List are considered (see GetNextWorkCriteria below) and processed.

  7. Once the WorkBasket assignments are exhausted, GetNextWorkObject calls the standard activity Work.findAssignmentinWorklist.

  8. The Assignments from the Worklist are considered (see GetNextWorkCriteria below) and processed.



* System Settings rule GetNextWork_WorkBasketUrgencyThreshold is ignored.



EOF

Labels: , , ,

Maximizing user productivity with GetNextWork Illustrated: WBF, WBD

The Next Option is the WorkBasket First, WorkBasket Divided (WBF, WBD) Method




  1. A user clicks the "Get Most Urgent" button.

  2. The button click starts the standard activity Work-.GetNextWork. This simple activity calls the final standard activity Work-.GetNextWorkObject.

  3. The GetNextWorkObject examines a property pyWorkBasketFirst for the user. If True, the system calls the standard activity Work-.findAssignmentinWorkbasket first.

  4. The Work-.findAssignmentInWorkbasket activity considers as candidates the assignments in workbaskets listed on this tab for this operator. If the Merge workbaskets? check box is not checked, workbaskets are considered in the order they appear on the Work Access tab.

  5. The Assignments whose .pxUrgencyAssign value is greater than or equal to the System Settings rule GetNextWork_WorkBasketUrgencyThreshold are considered (see GetNextWorkCriteria below) and processed in WorkBasket and Urgency order until each WorkBasket is drained of high urgency assignments.

  6. The Assignments whose .pxUrgencyAssign value is less than the System Settings rule GetNextWork_WorkBasketUrgencyThreshold are then considered (see GetNextWorkCriteria below) and processed in WorkBasket and Urgency order until each WorkBasket is drained of lower urgency assignments.

  7. Once the WorkBasket assignments are exhausted, GetNextWorkObject calls the standard activity Work.findAssignmentinWorklist.

  8. The Assignments from the Worklist are considered (see GetNextWorkCriteria below) and processed.




EOF

Labels: , , ,

Maximizing user productivity with GetNextWork Illustrated: WLF, WBD

This is the first in a series of posts that explode and illustrate the Online Help Article entitled "Maximizing user productivity with GetNextWork". The work is derivative from Pega's source publication.


Each time a user completes an assignment, your application can select and provide another assignment for that user to work on next. By choosing the best, most appropriate assignment to work on next, your application can promote user productivity, timeliness of processing, and customer satisfaction.


If your application does not provide automated support for this choice, a user can arbitrarily or intentionally choose an assignment to work on next that does not contribute as directly to organizational objectives. While every assignment needs to be completed eventually, the order that users process work is an important factor in the management of service operations.


Process Commander provides an easily tuned set of facilities that match users to open assignments. These facilities consider user authority, skills, and urgency of the work object. Much of the sorting and selection occurs through efficient SQL operations on the PegaRULES database.


In most situations, users are directed to click the Get Most Urgent button on the navigation panel of the Process Work workspace. This button starts an activity that can examine the contents of worklists, workbaskets, and other factors to retrieve an assignment. (The button may also appear on a confirmation form, and may have a different text label.)


If you have implemented no customizations or parameter settings, Process Commander performs the following internal operations:


The Default is the Worklist First, WorkBasket Divided (WLF, WBD) Method




  1. A user clicks the "Get Most Urgent" button.

  2. The button click starts the standard activity Work-.GetNextWork. This simple activity calls the final standard activity Work-.GetNextWorkObject.

  3. The GetNextWorkObject examines a property pyWorkBasketFirst for the user. If False, the system calls the standard activity Work-.findAssignmentinWorklist first.

  4. The Assignments from the Worklist are considered (see GetNextWorkCriteria below) and processed.

  5. Next GetNextWorkObject calls the standard activity Work.findAssignmentinWorkbasket.

  6. The Work-.findAssignmentInWorkbasket activity considers as candidates the assignments in workbaskets listed on this tab for this operator. If the Merge workbaskets? check box is not checked, workbaskets are considered in the order they appear on the Work Access tab.

  7. The Assignments whose .pxUrgencyAssign value is greater than or equal to the System Settings rule GetNextWork_WorkBasketUrgencyThreshold are considered (see GetNextWorkCriteria below) and processed in WorkBasket and Urgency order.

  8. The Assignments whose .pxUrgencyAssign value is less than the System Settings rule GetNextWork_WorkBasketUrgencyThreshold are then considered (see GetNextWorkCriteria below) and processed in WorkBasket and Urgency order.




EOF

Labels: , , ,