Some organizations adopt job rotation as a common practice for the professional development of their employees.
The main objective of this process is to provide their employees the opportunity to work on other areas beyond their responsibility.
A job rotation process usually involves multiple employees at the same time, where an employee moves to the position of another one in a sequential order, forming a cycle. For instance, if we have 3 employees involved in a job rotation process as detailed below, before the job rotation:
The job rotation would result in the following scenario:
The Figure 1 below shows this scenario in a visual manner:
Figure 1: Before and After Job Rotation
Depending on the volume of job rotations during a period and the number of employees involved on each process, the system maintenance can be very challenging, especially if the company uses a 1 to 1 relationship between employee and position.
The solution proposed in this blog considers the following steps:
The solution presented here will consider that a maximum of 5 positions (occupied by employees) can be included in a single job rotation process. However, the solution can be extended to allow a greater number of positions.
A high-level process diagram is depicted in Figure 2:
Figure 2: High-Level Job Rotation Process Diagram
This solution will require a couple of configuration steps:
This MDF object will have the following fields:
Figure 3: “Display As” Attribute in Manage Configuration UI
(1) Select the number of employees involved in Job Rotation.
(2) In Position 1, select the position of the employee who will be moved to Position 2.
(3) In Position 2, select the position of the employee who will be moved to Position 3, and so on.
(4) In the last Position, select the position of the employee who will be moved to Position 1, closing the cycle.
The solution detailed here considers the possibility of selecting up until 5 positions in a single job rotation request. However, it is possible to have more positions by just adding more fields in the MDF object.
The object should be created with Effective Dating = Basic, to keep the historical data of job rotation requisitions by the managers.
For the Security section, at the bottom of the object definition, set Permission Category = Miscellaneous Permissions.
The Figure 4 shows the definition of Job Rotation MDF object.
Figure 4: MDF Object for Job Rotation Request
To improve the user experience, the visibility of the fields “Position X”, “Employee Name X”, “Department X” and “UserId X” can be controlled using the Conditional Fields feature of MDF objects. So, for instance, if the manager selects 2 as the number of employees for job rotation, only the “Position 1”, “Employee Name 1”, “Department 1”, “UserId 1”, “Position 2”, “Employee Name 2”, “Department 2” and “UserId 2” should be displayed. This feature can be accomplished with a configuration like the one in Figure 5 below for each of those fields:
Figure 5: Condition Fields Configuration Example
Permission should be granted to this object through: Manage Permission Roles –> <select the relevant Permission Role> –> Permission –> Miscellaneous Permissions (Figure 6).
Figure 6: Permissions for the Job Rotation MDF Object
The picklist values for Z_numberOfEmployees can be defined as in Figure 7 below:
Figure 7: Picklist Values for Z_numberOfEmployees
In order to populate the “Instructions” field, an MDF object should be created:
Figure 8 shows the contents of the Instructions MDF object in English and Portuguese as an example:
Figure 8: Example of Instructions in English and Portuguese
The instructions can be defaulted through a Business Rule assigned to Effective Start Date field of Job Rotation MDF object (Figure 9):
Figure 9: Business Rule to Default Instructions in English and Portuguese
It is also important to have a Business Rule to initialize the fields for job rotation, because multiple requests can be created over time by a manager (Figure 10):
Figure 10: Business Rule to Initialize Job Rotation Fields for a New Request
For each Position field (1 through 5 in our example), create a Business Rule to default the other attributes, Employee Name, Department and User Id (Figure 11):
Figure 11: Sample Business Rule to Default Employee 1 Attributes Based on Position 1
Another interesting Business Rule that can be created is one to raise a warning message to the manager in the case the selected position is from another hierarchy. Depending on the customer scenario, it can be configured as an error message to prevent the manager to move forward with the job rotation request if he/she selects a position out of his/her own hierarchy. This Business Rule should also be assigned to the corresponding Position field (Figure 12):
Figure 12: Business Rule to Raise a Warning Message if the Selected Position is From Another Hierarchy
Note: If the customer wants the manager to be able to access positions only under his/her hierarchy, there is a setting in Provisioning to restrict the Value Help of the Position to his/her own structure (Figure 13). However, this setting applies for all Generic Object type fields, which might be inconvenient for the customer.
Figure 13: Optional Provisioning Setting to Restrict the Positions on Value Help
Another Business Rule proposed with this solution is one to trigger a workflow for the validation of the job rotation request, e.g., by an HR person (Figure 14):
Figure 14: Business Rule to Trigger a Workflow for the Job Rotation Request
Use the “Manage Configuration UI” tool to create the UI for Job Rotation MDF object created before. It is recommended to use Groups to have the screen presented in a more structured way for the end-user. The “Last Modified By” and “Last Modified Date” fields were added for validation and auditing purposes (Figure 15):
Figure 15: UI for Job Rotation Object
The “Flow” Layout was used for each of the Groups created before (Figure 16):
Figure 16: “Flow” Layout for Each of the Groups
Create a new section on People Profile and add links to provide support/help for the end-user (Figure 17). The links can be used, for instance, to direct the user to a detailed guide (not included in this blog) on how to use the Job Rotation section and also to open another page with the Position Org Chart (Figures 18, 19 and 20):
Figure 17: New Section for Job Rotation Request Information on People Profile
Figure 18: Links for the Manager on Job Rotation Request Information Section
Figure 19: Sample Link to a User’s Guide (Not Covered in this Blog)
Figure 20: Link to the Manager’s Position Org Chart
Create an Event Reason to be used for the job rotation process through “Manage Organization, Pay and Job Structures” tool (Figure 21):
Figure 21: Event Reason for Job Rotation Process
In this step, the integrations to effectively rotate the employees will be created through Integration Center tool:
As an example, let’s see the screen shots related to the integration configuration considering 3 employees:
General information of the integration (Figure 22):
Figure 22: General Information of the Integration for 3 Employees
Field mapping (Figure 23):
Figure 23: Field Mapping
Detailed field mapping for Position object – changing “Mass Position” to “Yes” and “FTE” to “2” (Figure 24):
Figure 24: Field Mapping for Position Object – “Mass Position” = “Yes” and “FTE” = “2”
Detailed Field Mapping for Job Information (Figure 25):
Figure 25: Field Mapping for Job Information
Detailed field mapping for Position object – changing back “Mass Position” to “No” and “FTE” to “1” (Figure 26):
Figure 26: Field Mapping for Position Object – “Mass Position” = “No” and “FTE” = “1”
Filter settings (Figure 27):
Figure 27: Filter Settings for Integration Considering 3 Employees
Scheduling example (Figure 28):
Figure 28: Scheduling Example
Integration Configuration Summary Page (Figure 29):
Figure 29: Summary of Integration Configuration
Once the solution is configured as explained before, the Manager will be the main role for the job rotation process. Let’s take an example, considering a job rotation consisting of 3 employees.
Manager: Claire James (Position1526)
Employees/Positions for Job Rotation:
Effective Start Date for Job Rotation: 05/25/2023
Position Org Chart before the job rotation process (Figure 30):
Figure 30: Position Org Chart Before the Job Rotation
Job Rotation Request Information content for this scenario (Figure 31):
Figure 31: Job Rotation Request Information
Position Org Chart after the job rotation process (Figure 32):
Figure 32: Position Org Chart After the Job Rotation
Metadata Framework and Integration Center are powerful tools to create solutions for processes that are not available out of the box in our standard product.
This job rotation solution can be used to reduce manual work, such as moving each employee individually to the future position and changing position attributes (Mass Position and FTE) manually when you have a 1:1 relationship between position and employee.
It can also improve the user experience, as the manager can enter all the data related to a job rotation request at once.
You may find some limitations to this solution, like, to revert an already completed job rotation, another request should be created to return each of the employees back to their original positions. However, I believe the benefits it may bring to the customer justify the effort to implement it.