Business processes sometimes repeat on a regular schedule. An employee performance review process, for example, typically repeats every three months for every employee. This article shows you how to set up scheduled workflows in Signavio Workflow Accelerator.

The hardest part of the employee review process is to start preparing on time. When you have four reviews per employee per year, spread across every month of the year, it can be hard to keep track of which reviews you need to do in each month.

Companies sometimes ‘solve’ this by moving all employee reviews to the same time, once per year. However, as one Harvard Business Review article points out, employees need constant feedback. Instead, the right frequency of performance reviews is still more like four times per year, so a better plan is figuring out how to manage regular reviews.

Employee review process

Employee review processes generally feature a meeting between an employee and their direct manager, with preparation beforehand and a signed-off evaluation afterwards. Here’s a simple example, from the reviewing manager’s perspective.

Employee review processes - model

This process starts when a review is due for one particular employee. As well as the selected employee, the process data includes the review date and the evaluation report. In Signavio Workflow Accelerator, these are form fields:

  1. ‘Employee’ (User) on the trigger form
  2. ‘Review meeting date’ (Date) on the ‘Schedule review meeting’ user task form
  3. ‘Evaluation report’ (File) on the ‘Write review evaluation’ user task form

The only tricky thing about this process is how to start it. You need this to start automatically, because you can’t rely on starting a new case manually every three months. Fortunately, you can use another process to schedule employee reviews: scheduled workflows.

Scheduled workflows with timers and sub-processes

To start a new case on a repeating schedule in Workflow Accelerator, create another process that uses a sub-process task to start the process in a timer loop.

Scheduled workflows - start a new case

In this example, the process first waits until the end of the first review period, configured here to be three months long. Then the parallel gateway does two things in parallel:

  1. Uses the ‘Conduct review’ sub-process task to start a new case of the review process for the selected employee.
  2. Loops back to the start and waits until the end of the next review period, before repeating these two steps.

This scheduling process has one case for each employee, selected on its trigger form. The loop repeats every three months indefinitely. When the employee leaves the company, you can close the case manually.

Calculating the review period

If you have a lot of review sub-processes open at the same time, you can use a case name template to give each case a clear name, such as ‘John Smith (August-October)’. This makes the list of cases on the Cases overview easier to browse.

If you’re using a three monthly review cycle, then everyone who joins the company in August would have their first review three months later, in November. If you round to calendar months, then the first review period is the three months August to October. This review period name, ‘August to October’, is what you want to include the the sub-process case name.

You can use a JavaScript action in the scheduling to calculate the name of the previous ‘Review period’, and use it to set a sub-process trigger form field. To do this in JavaScript, use the Moment.js library to calculate the two dates one month ago and two months before that, and format them both as month names.

review-period-calculation

If you use the ‘Test runner’ to run this in August, the updated value for the ‘reviewPeriod’ variable will be ‘May-July’.

In the sub-process, add a ‘Review period’ (Text) field to the trigger form, and use it with the employee name in the case name template:

case-name-subprocess

Now publish the updated review process, and in the scheduling (parent) process, configure the ‘Conduct review’ sub-process inputs to use the ‘Review period’ variable that the JavaScript action sets.

Simplified BPMN

If you’re familiar with BPMN, you might be wondering why Workflow Accelerator doesn’t use a timer start event. In BPMN, you can model a business process with a start event that is also a timer, to indicate that the process starts on some schedule.

simplified-bpmn-diagram

The answer is that there is a tradeoff between model complexity and the ability to solve specific problems. Workflow Accelerator’s usability relies on ‘simplified BPMN’ that uses as few BPMN concepts as possible, so you don’t need a BPMN training course in order to automate workflows. Meanwhile, you can still use patterns such as the scheduling workflow described in this article to solve more complex problems.

If you want to discover what you can do with simplified BPMN in Signavio Workflow Accelerator then register for a free 30-day trial today. And if you want it anyway, we also provide BPMN training.

Published on: April 10th 2018 - Last modified: May 9th, 2018