Keywords

1 Background

A software without defects, supporting execution of business processes, would be a priceless asset for every organization operating on many different applications every day. Every software failure generates a cost for the organization, therefore defects in the source code of application should be prevented. But in the real life, it is almost impossible to create a fully reliable software. Failures introduce chaos to the world of business processes, where the standard paths of process are visualized. Is devoting time on mapping other – exceptional paths, profitable?

Analyzing existing approaches to identify and classify benefits of applying business process modeling was the first stage of this research. During this phase, based on the literature analysis performed, we discovered three categories of benefits. The most common is the possibility to analyze, measure and optimize existing processes. Secondly, creating shared knowledge of how the organization works is also a valuable advantage of applying business process modeling tools and techniques. Additionally, organizations begin to perceive the role of business process models in developing software solutions by providing more reliable requirements.

Business process modeling is the activity of creating representations of organization’s current and future business processes [3], thus being an effective technique for analyzing and improving them [1]. Creating business process models is the essential step for the organizations, having an aim of applying business process management methods [4]. The elementary information, that a business process model consists of, is the flow of activities in the process. More information (like performance metrics) can be added to the model to allow for a more thorough analysis [4]. By using visualizations of business processes, it is possible to discover bottlenecks and implement simplifications to overwhelmed business processes. Those activities lead to achieve higher customer satisfaction and responsiveness to customer demands [5].

Optimizing business processes is a significant benefit, but applying business process modeling also affects current processes being performed at the moment [1]. One of the main goals of implementing business process modeling is performing conformance checking to verify, if the process is executed as desired. Also, it emphasizes understanding of the performance metrics and the flow of activities more clearly than standard text, data tables or charts, thus allowing for a more complex quality description [5].

Another advantage of modeling business processes is the creation and promotion of an organization’s shared meaning between internal and external stakeholders involved in the business process, by using process models [1, 14]. According to [5], business process modeling allows formalizing existing knowledge, increasing its reusability and reducing the cost of knowledge transfer. With business process models being more available to all participants in the process, it is easier for them to solve problems of how activities should be performed and why [9].

Through business processes being often the core of software systems, business process models are widely used as a guide for developing new features or creating applications supporting organization’s activities. Business process models are usually a valuable source for requirements analysis, thus providing reliable specifications for developing software [11, 13]. They also allow the identification of processes with the need for automation [8].

A complex research in identifying benefits of implementing business process modeling was conducted by [4]. As a result, they discovered 10 most compelling benefits and ordered them by relevance for 3 groups of stakeholders – academic, practitioners and vendors. The highest ranks are achieved by the following benefits: process improvement possibilities, a better understanding of business processes and enhanced communication between business process stakeholders. It is worth noting, that for different groups of stakeholders, ranking lists of benefits also differentiate.

[9] in their paper explored the reasons for organizations to use process mapping software. They collected data by telephone interview with project managers responsible for process mapping solutions in their organizations. They resulted in a complex classification scheme of benefits with descriptions and 21 reported factors. Results were also analyzed by the sector of the industry of each respondent, thus allowing for identification of the most desirable benefits or business process modeling for each group. Some of the identified benefits are reduced auditing costs, creating a framework for major facility development and sharing knowledge base.

The main goal of this stage of our research was to explore existing literature, that reveals advantages of modeling business processes. It is common for most papers treating business process modeling to present at least fundamental benefits perceived by most stakeholders, who analyze or execute business processes. Additionally, there is literature regarding thoroughly this matter, depicting more complex classifications of profits for different groups of interests. The outcome of this stage will be used while carrying out a case study in this research.

2 Modeling Business Process Exceptional Paths

The essence of every business process model is the flow of activities adding value to the organization. Therefore, the “happy path” of the process describes how should the process be executed as desired. But in the real life, the situation is often much more complicated. An exception caused by internal or external factor might be the trigger for the process to run its unwanted path. Those undesired situations are usually not considered in the business process models [12]. In most cases, they require human control to be completed [10].

One of the most important reasons to include undesired scenarios in the process model is the possibility to monitor all varieties of a process with performance indicators set up [12]. Modeling exceptional circumstances allows analyzing the process fully and verifying if exceptions are handled correctly and efficiently [6]. That leads to the process optimization and increasing its reliability by uncovering the main vulnerabilities and the ways they are being dealt with. But including too many exceptional paths in the model with low occurrence rates might cause the overflow of information and decrease the usability of a model, especially if the business logic is mixed with exception handling procedures [2]. That significantly reduces the possibility for stakeholders to understand and analyze the modeled process.

[12] in their paper introduce the concept of mal-process – a collection of activities executed intentionally, potentially harmful to the organization. Modeling those undesired branches of the normal process increases the organization’s understanding of what really happens, when problems arise and allows measuring those cases. Handling unexpected exceptions in processes is thoroughly described in [7]. They propose a framework for workflow systems supporting unstructured actions executed beyond the model. Exception handling functions, diagnosis, and strategies can also be found there.

To avoid manual operations in handling exceptional flows of business processes, [2] presents a dynamic and flexible model based on worklet – “a small, discrete workflow process that acts as a late-bound sub-net for an enabled workitem” [2]. Using a service-oriented architecture of YAWL, their solution consists of sub-services dynamically selecting a proper process path and handling exceptions at runtime. That allows maintaining clarity in process models with business logic in the middle and a separated set of exceptional flows automatically included in the model when an exception occurs.

[6] introduces common patterns for modeling exceptional paths in business processes for 3 modeling notations. Each pattern features a description and illustrations in UML, BPMN, and Little-JIL. Patterns rely on 3 exception handling behaviors – selecting an alternative path, inserting an additional task and canceling the process. They increase consistency of modeled processes and provide common solutions for modeling exceptional scenarios.

The purpose of this section was to investigate motivation for including unwanted paths in business process models. Modeling undesired process flows is a complex activity that might create additional value allowing an organization to work better.

But organizations must be cautious, as it is also possible to cause damage by lowering readability of existing process models. Different techniques and patterns supporting modeling exceptional scenarios were also analyzed, we will use them further in our research.

There is a lack of existing research regarding strategies for handling exceptions that occur while executing a given process step. Thus our approach cannot be com-pared with other results. We plan to expand our research on other use cases in future to verify the business value of our study more thoroughly.

3 Case Study

3.1 Collecting Data

To verify the need for modeling exceptional paths in a process model, we carried out a case study on a real data collected from KRUK group – one of the leading enterprises on the European debt collection market. For our analysis, we selected a process of verifying clients email address. The data for our case study comes from three different sources: software failure tracking system (BugTracker), the main system used in KRUK Group (Delfin) and the source code of applications stored in subversion system (SVN). We also asked domain experts (both software developers and system owners) for their help in modeling the process correctly.

The main work during this stage was to collect proper data from failure collection system. BugTracker stores over 2 million records of failures from all applications used in KRUK Group. Our need was to extract the failure data that comes from two applications – Delfin, which is used by the contact center employee to start a process and EmailVerifier, which is used by the client and is accessible over the Internet. We followed these steps:

  1. 1.

    Extraction of data regarding Delfin and EmailVerifier from the whole failure data set.

    With this achieved, we had the proper data from the system used exclusively in email verification process (EmailVerifier) and a large volume of data recorded from other operational processes using Delfin system.

  2. 2.

    Selection of the main data attributes needed for further analysis.

    Within the primary extraction, we ended up with data described by 38 attributes. We chose the minimum set of attributes valuable for the process analysis (Table 1).

    Table 1. Sample data from the failure tracking system.
  3. 3.

    Filtering records from Delfin failures data set not connected with the email verification process.

    We eliminated from our set all elements that were generated during execution of other processes. We left failure records generated from the software module used in email verification process and additionally filtered them by text using keyword “verif”.

After we had prepared proper data from failure tracking tool, we were able to continue our research on the process model analysis. Our list of failure data consisted of 396 records from 3 different methods in the source code of applications, meaning that 99.75% of email verifications process instances executed as desired, without failure occurrence. But the remaining 0.25% was the target of further analysis.

3.2 Business Process Model Analysis

The aim of the investigated business process is to confirm the correctness of client’s email address stored in KRUK’s database. If the email address becomes verified, the company will use it to contact the client. The email verification process begins after contact center employee receives an email address from the client with a data processing agreement. After the employee submits the received data to the system, a unique link to the verification website is generated. The employee prepares an email content that will be sent to the client with a generated unique link. When the client receives an email from KRUK, he opens the embedded link in the web browser. The verification system opens and the client is asked to select the type of data that will be used for validation (for example date of birth). The verification system compares data submitted by the client with data stored in the database. If they match, client’s email address will become verified and will be used as a way of communication with the client. For the needs of our study, we modeled business process using BPMN (Fig. 1).

Fig. 1.
figure 1

Email verification business process model.

With the data from the failure tracking system, we were able to identify 3 activities of the process that were the most error-prone (Table 2). With the help of domain experts, we modeled exceptional paths to identify steps taken to remove defects causing failures. All failures occurring during the execution of the email verification process involve IT staff as the only servicemen capable of removing the defect. When a failure occurs, the process starts from the beginning and requires participation of a contact center employee.

Table 2. Activities with failure occurrences.

In Sect. 2 we discussed benefits of modeling business processes. In our case study, we focused on the exceptional paths in the process to verify the need for modeling them. We identified 396 failure records regarding the analyzed process, meaning that 396 process instances were repeated. Given this, in addition to the process model extended with exceptional paths, KRUK stakeholders benefited with:

  1. 1.

    The common understanding of how the process is executed in the real life.

    Software developers involved in developing the email verification product and process experts realized the scale of the problem with failures and the lack of automation in removing them. The model also helped to visualize that too many failures occur when the company’s client uses the product.

  2. 2.

    Identification of bottlenecks and a good starting point to provide root cause analysis optimizing the process.

Including exceptional paths in the process model allows not only to improve the process but also to make it more secure and reliable. When software defects are eventually fixed, the process model can be simplified to increase its readability.

4 Conclusions and Future Work

One of the key aspects of business process management is the business process modeling. It is vital to visualize activities performed during the process execution to achieve benefits mentioned in [1, 3,4,5, 11]. Those are above all efficient knowledge management, process improvement directions and clearer definitions of software requirements.

In our research, we aimed at mapping the aforementioned benefits on the reasons of modeling exceptional paths in business process models which are taken as a result of software failure. We carried out a case study based on the real data provided by a debt collecting company and analyzed one of the core processes regarding managing client’s personal information. We extracted data from the failure tracking system, we modeled business process and connected failure occurrence records with proper steps in the process. A report with conclusions presenting paths of investigated process and measures was provided to process expert and software developers in KRUK. As a result, proper steps were taken to enhance system’s reliability.

It is worth mentioning that though gaining benefits from mapping exceptional paths in business processes caused by failures is possible, estimating this activity’s cost is fundamental. It requires knowledge of domain experts and software developers to create a process model and visualize how the process behaves when problems occur. This kind of knowledge doesn’t usually exist at the primary stage of designing process – it is acquired by executing more process instances and requires monitoring. Also, when the failure occurrence rate is extremally rare or defects are entirely removed from source code after their first occurrence, visualizing additional steps in the process model might decrease its readability.

In our future research, we will try to measure and compare the cost of standard process path with the cost of the exceptional path. This information will provide the basis for stakeholders of the business process to decide if removing defects in software is profitable according to the incurred cost of failures. This will allow for the more balanced direction of developing the organization’s internal software.