Application Domain Description:
We want to improve the Employee Onboarding Process by implementing a proper workflow modeling system for it.
Preconditions
- Employee already signed the contract. This means we already have some essential data of the new employee, i.e. name, surname, e-mail, etc (on a sheet of paper / e-mail but not yet in the HR system).
Tasks
- Person from HR department logs into HR system. They input the personal data taken from the contract and predefined business unit/job id. They still need additional information from the future employee (e.g. banking details for paying out the salary, criminal record, certificate of registration, nondisclosure agreement, university certificate and which offered company benefits they select (e.g. gym-membership)) and therefore generates a web-form and a link to it. Then the link gets sent to the new employee. This task is done by a person of the HR department. There are several people working in the HR department. The task is assigned to a person depending on the cost center where the new employee is going to work.
- Employee fills in the form. The HR department gets informed.
- Check information, the new employee provided in task 2 and approve further tasks to be executed. This task is done by a person of the HR department. The task assignment strategy is the same as in task 1.
- Adapt the IT-systems for the new employee (create Active Directory account and add to Active Directory permission-groups and department mailing-lists). This task is done automatically.
- Send info to insurance company. This task is done automatically.
- Prepare equipment (e.g. notebook and mobile phone) and hand it over to the new employees supervisor. Ordering the required hardware is not part of this task (we assume we already have it in stock). This task is done by a person of the IT department based on their workload.
- Notify the new employee that the process is finished. This task is done automatically.
Order of the tasks
- [1] --> [2] --> [3] --> [4 and 5 in parallel] ---after [4] is finished---> [6] --> [7]
KPIs
- Process time, the IT-department needs to prepare the equipment. Calculation: Time in hours from start to end of task 6, categorized by the new employees job-family.
- Process time, the adaptation of the IT-systems need. Calculation: Time in hours from start to end of task 4.
- Attractiveness of offered company benefits. Calculation: number of selections / total number of new employees, categorized by benefit.
Exceptions
- Adapting the IT-systems in task 4 fails. How to handle it: IT gets informed by the task via mail, then fixes the systems and at the next run, task 4 is retried again.
Test report of single tasks:
-
Task 1
Name: Create process case for user, input HR data, generate form, send form-link to
user
Implemented by: Marian Amann
Functionality: A Python script was created, that reads in name and e-mail of new employees from a file and creates a process case for them in Signavio by using their REST API. After that one HR employee from the employee pool of HR get assigned to enter additional data (e.g. work hours, job title, …) for the Signavio process case. Once finished, a web-form is generated (implemented using Spring Boot, deployed to Amazon AWS) and its URL is send to the new employee.
Task type: Script
Language: Python
Effort: 20h
Tested: File with two new test employees was created. Checked that process case and form was created and email-notification was sent to user (contains correct user data and valid link to the form) and that form is opened when clicked on the link. Also verified that process case variables are set correctly in the Signavio process workflow.
-
Task 2
Name: User fills out the provided form and HR department gets informed
Implemented by: Anastasiia Ulianova
Functionality: In this task the new employee fills out the (web-)form. Therefore a service was implemented, which consists of a) a HTML/CSS/JS frontend which shows the form and enables the user to fill out, validate and submit the form and b) a Thymeleaf/Spring Boot backend that stores the submitted user data and provides a REST interface for the Signavio workflow to retrieve the data. Signavio checks in regular intervals if the form is already filled out. Service is deployed to Amazon AWS.
Task type: User
Language: Java
Effort: 25h
Tested: Correct form (of right new employee) gets opened. Read-only information (First name, surname, uuid) can’t be changed. Submitting data is possible. Submitted data is stored correctly in the backend (database) and is correctly retrieved later by Signavio. Form gets validated before the user submits it. System responds correctly in case of errors (e.g. invalid link to form, form was already filled in).
-
Task 3
Name: Check information the user provided via form (task 2)
Implemented by: Reetu Rani Reetu Rani
Functionality: HR employee checks if the user filled out the form correctly and that the data is valid/makes sense. This task is done manually by the same internal HR employee that got selected to perform task 1. If user data is valid, the HR employee approves further task processing. However, if data is invalid, the HR employee forces the user to fill out the form again (by pressing a button in Signavio, which generated and sends the form again to the user via email).
Task type: Manual
Language: Signavio workflow accelerator
Effort: 4h
Tested: Task is tested with two cases:
- Data provided by used is complete and valid, HR chooses “Complete Information” button.
- Data provided by user is invalid (e.g. invalid bank account, insurance number), HR chooses “Incomplete Information” and link is sent to the user again. This time user fills all the required fields correctly, and HR checks it again, chooses “Complete Information” button.
-
Task 4
Name: Adapt IT-systems for the new employee
Implemented by: Julian Waibel
Functionality: Signavio passes data of the process case (e.g. the new employees name and business area) via a provided REST interface. Then this request gets scheduled with status ‘pending’. There is a small number of IT system adaptations implemented, like creating an Active Directory account for the new employee, adding him to internal mail-groups or adding him to Git repository permission groups. Adaptations are done based on the new employee data (e.g. only adapt Git repository groups for employees which start in the R&D business area). Note that the IT system adaptation operations are just simulated (by waiting for some time and to let 15% of all requests fail to simulate errors in the system). Once the implemented scheduler has executed the request, its status is changing to ‘succeeded’ or ‘failed’. The Signavio workflow queries in regular time intervals via REST if the process case has already been executed by the system. Once the status changes to ‘succeeded’, the generated login-name is stored and Signavio will move on to the next task. In case of status ‘failed’, the failure-reason is stored and Signavio will send an email to the IT department, wait 6 hours and then send process case again to the service. Implemented as standalone Spring Boot service with REST, a database and task scheduling. Deployed to Amazon AWS.
Task type: Service
Language: Java
Effort: 18h
Tested: Tested by using a REST client and different kind of process case data: no data, invalid data, valid data, different business areas. Verified requests are created correctly in the database, scheduled and executed correctly in the task scheduling. Verified some process cases should fail by using different failure rates. Verified that the requests take different amount of time depending on business area of passed new employee data.
-
Task 5
Name: Send information to the insurance company
Implemented by: Malbora Sinaj
Functionality: Automated task. Special type of task “Send email” provided by Signavio was used to implement this task. The message text was written and personalized with variables for receiver and sender (employee of HR department) names and email addresses. Insurance company email account was created for testing purposes.
Task type: Service
Language: Signavio Workflow Accelerator
Effort: 2h
Tested: Two test emails were sent with different input data for employee and sender (HR). Then insurance company email account was checked for correctness of the sent email.
-
Task 6
Name: Prepare the equipment
Implemented by: Christian Alexander Skoff
Functionality: Task is to prepare the equipment and hand it over to the new employees supervisor. Its triggered 7 days before the planned start date of the new employee. Preparing the equipment is simulated by waiting a random amount of time. Hand over the equipment is simulated as well: The assigned IT employee clicks a button in the Signavio workflow. To measure the KPI (time, the IT department needs to prepare the equipment), the timestamp before the start and after end of the task is recorded, and after task is completed, the overall time is calculated.
Task type: Manual
Language: other
Effort: 4h
Tested: For testing, the task is triggered earlier. Following parts are checked: the team member assigned to IT role receives the email notification about new scheduled task with correct data and form is shown correctly, KPI is calculated correctly.
-
Task 7
Name: Notify user about process completion
Implemented by: Malbora Sinaj
Functionality: Automated task. An email gets sent to the user to notify about the process completion of his case. Special type of task “Send email” provided by Signavio was used to implement this task. The message text was written and personalized with variables for receiver and sender names and email addresses.
Task type: Service
Language: Signavio Workflow Accelerator
Effort: 2h
Tested: One test email was sent with input data for employee (firstName3, lastName3) and sender, then email of team member assigned to role was checked for correctness of data.