📜 ⬆️ ⬇️

What is executable business processes. Introduction to the subject area


Recently, several articles ( one , two ) on the topic of business processes were published on Habré. They say that in this area everything is so complicated and confusing that it is impossible to understand this. It was also suspected that the theory of process management is essentially pure PR and marketing, which has no practical use.

I have been involved in process management for many years and, since this topic has been raised, I will describe what it is and why it is needed.

The term “process management” is applied to two different areas of activity:
')
  1. In the case when the automation of the execution of business processes is not performed. The task is to make a description of the business in the form of graphical diagrams that are easily perceived by people. Such diagrams are in fact a special language for communication between managers, business analysts and business leaders and are used to develop and explain basic solutions for the organization of business enterprises.

  2. In the case when business processes are directly executed in the computer environment of the enterprise. We will call the processes of this type - executable business processes. For the execution of such business processes at the enterprise, a special computer system is installed - BPMS (Business Process Managrment System) in the English version of the name, or SMS (Business Process Management System) in the Russian version. This business process is dedicated to this article.


The evolution of BPMS and “natural selection” in about 15 to 20 years have resulted in the same basic concept being used in existing BPMS. It refers to two business processes: the definition of a business process and an instance of a business process. Sometimes a business process definition is also called a business process template. The definition of a business process contains the business process diagram, the roles of the business process, the rules for assigning actors to roles. Also the definition of a business process contains a description of data storage structures.

For each business process definition, you can create and run instances of this business process. The concepts of definition and instance of a business process are similar to the concepts of class and object in programming. That is, if a business process definition contains a business process diagram, data types, role names, then in the running business process instance there are moving management points on the diagram, specific actors are assigned to the roles, the business process instance contains specific data, the types of which are match the data types in the business process definition.

The easiest way is to imagine the control points moving according to the scheme of an executable business process, by analogy with the movement of chips in a board game with a cube.

An executable business process diagram consists of nodes and transitions (they are sometimes also called edges). The appearance of a control point in a node of a certain type corresponds to the performance of some action in the production activity of an enterprise. At this point in time, the BPMS generates a task for a specific artist. The transitions in the business process diagram, as well as the nodes intended for branching and merging of management points, are arranged so that the actions contained in the business process are carried out in a coordinated and correct manner.

In fact, the main function of BPMS is to distribute tasks by the contractor in accordance with the movement of control points according to the business process diagram and monitor the implementation of these tasks.

In modern BPMS, the definition of a business process also contains a description of the means of interaction between the business process and the task executor. Typically, this is a graphical form for interacting a business process instance with a user, or a software interface for interacting with an external information system. Another element of the definition of a business process is the business rules that are used to select a specific path for the further movement of the management point at the junction points of the routes.

There is a certain similarity between an executable business process and a computer program. The basis of the executable business process and computer programs are algorithms. For computer programs, as well as for business processes for analytical modeling, there are graphical notations (for example, a UML class diagram) that programmers and software architects use to explain various software and architectural solutions. However, the computer programs themselves are not yet massively developed in the form of graphic objects, they are mostly written in the form of texts in programming languages. What is the situation for executable business processes different from computer programs? Unlike a program whose commands are executed by a computer, people are part of the actions of a business process. They make it significantly longer than a computer, so business process instances run for a relatively long time, their state changes slowly. Moreover, in contrast to a computer program, during the execution of business processes, the management of an enterprise can significantly influence their execution, for example, increase or decrease the number of employees performing those or other actions.

Therefore, it is important for managers and managers of an enterprise to quickly understand the state of the running instances of the enterprise’s business processes. Such an understanding is provided by a graphical diagram of a business process with the current positions of control points superimposed on it, as well as routes traveled by these points from the moment the business process instance is started. For computer programs, such diagrams in most cases do not make sense, since the speed of movement of control points will significantly exceed the limits of human capabilities to track them.

Process approach in the case of executable business processes


The process approach assumes that the activity of an enterprise can be represented as a set of running instances of business processes. It is effective for enterprises in the production of which there is a repeated repetition of the same chains of actions performed by various performers. Such enterprises are the majority of office companies engaged in various types of work with documents, such as banks, insurance, investment companies, consulting companies, publishing houses. Also, the use of the process approach is effective in enterprises whose activities are described by clear regulations, for example, in government bodies.

Process management in the case of executable business processes can be called the following activities:

  1. At the enterprise, business processes are selected, built in an executable form and put into operation by loading into the BPMS. Process management in this case is the result of:

    • The actions of business analysts who have developed executable business processes, in particular - business process diagrams

    • Management decisions made by managers in the nodes of the schemas of business process instances that have various possible options for the further movement of management points

    • Making management decisions by assignments when entering data into business process instances (on which their further behavior significantly depends).

  2. Process management includes the operational change of the schemes and other elements of the definitions of business processes in response to changes in the business environment of the enterprise.

  3. Also, process management includes indirect administrative influence on the execution of specific instances of business processes. For example, the impact on "human resources" - the management of an enterprise can increase or decrease the number of employees performing certain operations, or change the requirements for the qualifications of employees performing certain actions, as well as make specific personnel decisions, assigning employees to certain roles. Managers can also analyze the status of running instances of business processes, analyze emerging collisions, and make various administrative decisions that affect the efficiency of execution of instances of business processes without altering the business process diagrams.

The main advantages of the process approach in the case of executable business processes


In the case of the use of executable business processes in the enterprise, an analogue of the production conveyor appears, from which it is possible to obtain an increase in labor productivity, comparable to that obtained from the introduction of the conveyor in production. The increase in labor productivity is achieved due to the fact that this mechanism allows us to exclude routine operations and inefficient procedures related to the search and transfer of information from the actions of employees, significantly increasing the speed of employee interaction. Employees perform incoming tasks without being distracted by:


Everything you need to complete the task appears to the worker on the computer screen.

However, the most effective use of executable business processes is associated with the concept of “Process Transformation”: After BPMS is put into operation and all employees of the enterprise are used to the fact that their activity is fulfilling BPMS tasks, it turns out that You can quickly rebuild the business of the enterprise. Since in the case of BPMS, employees do not have to worry about who the source information is from and to whom to send the result of work, you can easily and very quickly change the sequence of actions, artists and types of data used. There is no need to change job descriptions, conduct training for training and certification. In many cases, task performers may not even be informed about changes in business processes, since this will not affect the nature of their work.
This leads to qualitative changes in management. The resulting rate of change of a business may be tens or even hundreds of times faster than the rate of change by traditional methods. At the same time, the cost of transforming a business is small. This can be a significant competitive advantage.

A more detailed description of the executable business processes


Business process diagram


A scheme is usually defined as a mathematical concept — a directed graph: a set of nodes interconnected by transitions (also sometimes called arrows or edges). Business process nodes can be of two types - nodes that correspond to process steps and route nodes. During execution, transitions move control points (pointers to the active nodes of the instance of a business process).

In a running instance of a business process, there can be several management points at a time. In accordance with business logic, a management point at a route node can be divided into several management points, and management points can wait for each other at a certain route node and then merge into one management point.

In the node corresponding to the process step, there is a node-action. If the management point has arrived at the action node, the BPMS assigns the task to the worker (employee or information system) and waits for a response (message that the work has been completed). After the response of the executor, the management point moves along the transition to the next node of the business process.

A route node corresponds to the appearance, removal, branching-merging of management points, or the choice of a transition through which the management point will be moved on. In such nodes, BPMS selects the next node (s) to which the management point will be directed, based on the business rules contained in the routing nodes. Often more than one inbound or outbound junction is associated with these nodes.

We will explain the behavior of the nodes that are most frequently used in business processes, as well as their graphic images in accordance with the BPMN notation.

The “start” node corresponds to the starting point of the business process execution. It has no incoming edges (transitions) and there is only one outgoing edge. At the time of launching an instance of a business process, a control point is placed in the node, which immediately leaves it along the outgoing edge. In the business process there should be a single node "beginning". It is denoted by a “thin” circle (Fig. 1 a)


Figure 1. Node designations: a - start; b - completion of the stream; c - ending; d - action

The node "flow termination" must have one or more incoming edges and no outgoing. When a control point hits this node, it is deleted. An instance of a business process in which there is no control point left is considered completed. In a business process, there may be several “thread termination” nodes. This node is optional if there is at least one “ending” node in the business process. It is denoted by a “fat” circle (Fig. 1 b).

The “end” node corresponds to the end point of the business process execution. The “end” node must have one or more incoming edges (transitions) and no outgoing edges. When a control hits the “end” node, all control points are deleted in this instance of the process, as well as in all of its subprocesses. In a business process there may be several “end” nodes. This node is optional if there is at least one “thread termination” node in the business process. It is denoted by the black circle inside the circle (Fig. 1, c).

The “action” node generates a task for the executor, indicated by a rectangle with rounded corners, in the center of which the node name is written (Fig. 1 g)

An “exclusive gateway” node can have several incoming and several outgoing edges. For each control point that arrives at it, it is selected which of the outgoing edges will be moved further. Denoted by a rhombus, which depicts a "cross" (Fig. 2 a).


Figure 2. Node designations: a - exclusive gateway; b - parallel gateway

The node “parallel gateway” is indicated by a diamond, in which a “plus” is depicted (Fig.2 b). May have multiple incoming and multiple outgoing edges. For each incoming edge, the control point that passes through it to the parallel gateway is queued. If for all incoming edges their queue is filled with at least one control point, then all control points that are in the first position of the queue of each incoming edge are deleted, and a control point is generated on each outgoing edge.


Figure 3. An example (simplified) scheme of the business process “Payment of a supplier invoice”

Business process variables


Using variables, information is exchanged between process steps. Business process variables are also used when selecting a specific internal movement of the management point between nodes along any of the possible transitions. Business process variables can be input and output parameters when BPMS interacts with enterprise information systems.

Business process roles


In an instance of a business process, action nodes are linked to task performers using roles. When developing a business process, a role is created and assigned to certain action nodes. During the execution of the business process, roles are assigned specific performers. Here you can draw an analogy with a theatrical performance: in the process of writing the script, the roles used in the performance are determined. Then, when staged in a particular theater, actors are assigned to roles — performers of roles.

In the business process there may also be various rules for performing tasks. For example, a business process can send a task for execution to all members of a certain group of users, and the first user who has taken the task to perform will have this task — the remaining members of the group will have this task withdrawn.

Business process management systems and their main components


Modern BPMS should ensure the development of business processes in a graphical environment, the execution of business process instances, monitoring instance states, event history of business process instances, application integration using connectors used by business processes, user administration, and the ability to replace task performers.

The following graphical interfaces for performing these functions in BPMS:


Graphic designers are usually used to create and modify business processes, which are part of the development environment, which can be either separate stand-alone programs or Internet applications.

A typical BPMS consists of the following main components:


BPMS can also contain a business process simulator used to debug business processes before loading them into an industrial system.

The business process execution environment is the main component of BPMS. It implements the execution of an instance of a business process in accordance with its definition. This component contains definitions of business processes loaded into it and running instances of business processes. Generates task lists and visual forms corresponding to tasks. As a rule, the business process execution environment allows you to create and modify user properties, and also allows you to set various rights to system objects.

The development environment of business processes and related objects is used to create and modify executable business processes. In this environment, the sequence of execution of business process steps and data are assigned, roles are assigned to process participants, routing rules are introduced, graphical forms of tasks used by business process participants to complete tasks are defined. The development environment allows you to construct a graphical diagram of a business process with a description of its details in the form of properties of individual elements (actions, subprocesses, route nodes, etc.) or the business process as a whole. The development environment is a business process developer tool (business analyst), in particular, it provides for making changes to the business process by simply modifying the graphic scheme and the properties of the elements.

The client-notification of incoming tasks is a component that provides users with access to the functionality of the business process execution environment. In particular, it: Displays task lists and visual task forms. Allows users to complete tasks. Allows the system administrator to set rights to system objects. It makes it possible to monitor the execution of business process instances. And also implements the user notification of incoming tasks.

The component connector to other information systems in different BPMS is implemented differently. In this article we will consider the component-connector, which is a set of special applications - bot stations. Each bot station must be located on a separate server, one of the bot stations (local bot station) may be located on the same server as the runtime environment. Bot-stations contain special entities - bots, which periodically interrogate the execution environment. Bots are automatic performers that are somewhat reminiscent of humans (such an organization of a connector is more convenient for managers, it is easier for them to think in these terms). If business process instances running in the runtime environment contain tasks for bots loaded into the bot station, the bots perform these tasks and return the work results to the runtime environment. In particular, bots can access other information systems.

With the help of interfaces for working with performers, a user can:




Figure 4 . An example of an interface that displays a list of user tasks.


Figure 5 . An example of an interface in which you can run new instances of business processes and download new business process definitions.

Using interfaces to administer the system, an administrator can:




Figure 6. An example interface in which you can view the status of running instances of business processes

Using the development environment, the business analyst can develop business processes, including business rules, various elements of connectors to external systems, and other elements, as well as upload them to the execution environment.


Figure 7. An example interface in which to develop business processes

Using the business process simulator, you can test the developed business processes on conditional configuration on the analyst's client computer without loading them into the industrial system.

Job Description of Users and BPMS Components


On one server the business process execution environment is launched. Bot stations can be running on multiple servers.

On client computers of users, a client notifier about incoming tasks or a browser is launched, in which the BPMS web interface opens.

Client analyst computers run the development environment for business processes and related objects. Also on the client computers of analysts a business process simulator is launched.

In runtime, business process instances are executed.

Bots (automated task performers) placed in the bot-stations periodically interrogate the business process execution environment. If the business process instances running in the runtime environment contain tasks for bots, the bots perform these tasks and return the work results to the runtime environment.

Web-interfaces and clients-annunciators periodically access the runtime environment and display user tasks.

Using the web-interface BPMS users:


Using the BPMS web interface, administrators:


Using the analytics development environment:


To develop a business process analytics is necessary:


After the business process is developed, it is loaded into the BPMS. After that, you can run instances of this business process and perform the tasks they generate.

Using a business process simulator, analysts test developed business processes on a conditional configuration before loading them into an industrial BPMS.

Clients-notifiers signal users about new jobs.

Reengineering and evolutionary business process management


Historically, the process approach initially included only business processes for analytical modeling. In the framework of this approach, the separation of business processes of the enterprise was carried out, the analysis of the selected business processes was carried out, and proposals were generated to improve business efficiency by changing business processes. Next was the introduction of modified business processes in the enterprise.

Since changing business processes for analytical modeling is not related to automation, the introduction of changed business processes was an expensive procedure, provided for retraining of personnel, changing job descriptions, often changing the organizational structure of an enterprise. Such changes are very costly to make consistent small steps. Therefore, such changes were rarely made, but the changes themselves were significant. In the literature, this transformation of business processes has been called - the reengineering of business processes.Reengineering of business processes implies a radical redesign of business processes of an enterprise in order to achieve a significant effect of production and economic, financial and economic activities.

When using executable business processes, the cost of implementing changes is relatively small, so in this case, evolutionary change in business processes is often applied. BPMS is installed at the enterprise, business processes are developed “as is”, developed, loaded into the system and put into operation, after which they are gradually, over a long period of time transformed into business processes “as needed” and gradually evolve following the change in the conditions of the enterprise.

Business processes are often tied to the calculation of various indicators of enterprise performance (KPI), both financial and non-financial. There are methods of process management based on KPIs that provide for the prediction of the results of activities and planning ways to achieve them.

For a figurative understanding of how business processes are used as a tool for business management in the case of evolutionary management using KPI, A. Belaychuk (chairman of the Association of Business Process Management Professionals) proposed the following analogy: Enterprise management can be figuratively compared to driving a car. In this case, the KPIs are analogous to what the driver sees — the view through the windshield of the car and the values ​​of the sensors (speed, oil pressure, engine speed, gasoline, etc.), and business processes play the role of steering and pedals ( gas, brake, clutch) and the gear lever of the car. That is, they are used to directly control the trajectory in space and time.

A modern view of process management implies the separation of control over several levels.

The first level deals with the overall strategic management of the enterprise. At this level, business processes are used for analytical modeling. The task of business processes of this level is the formation of general ideas about the main business processes of an enterprise and the exchange of these ideas between managers. This level does not imply the actual execution of the developed business processes.

Describe the sequence of actions in the business processes of the first level can be and simply in the form of text, such descriptions are called - textual regulations. However, people perceive visual information significantly faster and easier than textual descriptions. Therefore, it is the graphical representations of business processes that are most widely used for analytical modeling.

At the top level of process management, simulation tools are also used. This class of programs does not provide for the real execution of enterprise business processes in a computer environment. Simulation systems contain a customizable statistical model of the organization’s business processes. By setting various parameters of this model and repeatedly “losing” business processes on conditional automatic users, you can get the values ​​of various performance indicators and thus predict changes in real indicators of an enterprise in the future depending on certain changes in business processes. If the statistical model is built correctly, then simulation can be a means of determining the optimal parameters of business processes.

At the next level, the company's strategic business processes are translated into executable business processes. At this level, business process diagrams are usually depicted in notations from BPMN, UML (Activity Diagram) and related ones. At this level, the current activity of the enterprise is represented as a set of running instances of business processes.

The next (third) level of process management corresponds to the business objects of the enterprise. The state of the entire enterprise at the current time is determined by the state of all the business objects of the enterprise at that time. The process approach assumes that the state of business objects are changed by instances of second-level business processes when performing relevant tasks. For this layer, content management systems (ECM systems) or database management systems are traditionally used as repositories. It is also possible to use ERP systems at this level. To explain the concept of business objects, you can use the analogy with accounting: the accounting status of an enterprise at a fixed point in time is determined by cash balances in the accounts,and the change in the state of the enterprise is determined by accounting entries. As part of this analogy, the transactions will correspond to business processes, and the balances on the accounts will correspond to business objects.

Mathematical foundations of executable business processes


The success of the query language to relational SQL databases is usually attributed to the fact that it is based on a solid mathematical theory - relational algebra. The developers of languages ​​for describing executable business processes also try to base the language on a serious mathematical theory.

Most existing languages ​​describing executable business processes to one degree or another belong to one of two mathematical theories:


The theory of Petri nets is based on the classical graph theory and is an extension of the theory of finite automata. It originated in the 60s of the twentieth century and since then has been constantly evolving. The theory of Petri nets is a complex, very well developed theory, it strictly defines such concepts as states, conditions, transitions, etc. The theory also includes graphic notation (a system of graphic notations, on the basis of which corresponding graphs can be drawn). Petri nets are well researched by mathematicians - many of their properties have been established, a large number of theorems have been proved.

Practical use of the theory of Petri nets was mainly associated with the description of the behavior of very complex systems, for example, elements of integrated circuits. Having constructed the corresponding Petri net for the system, then it was possible to use the results of the corresponding theorems and thus investigate the properties of the system.

To describe BPMS, it is inconvenient to use the concept of Petri nets explicitly, since the graphic notation of Petri nets is not intuitive. It is difficult for business analysts, and especially managers, to work with it. In addition, there are some classes of business processes that cannot be described with its help.

The first languages ​​of the definition of business processes (for example, WPDL and XPDL of the WfMC coalition) became the heirs of the theory of Petri nets. They are based on graph theory and conceptually include many concepts and concepts of Petri nets: nodes, transitions, conditions, etc. However, unlike Petri nets, these languages ​​are not strict - in some cases it is possible to make such language sentences that will be syntactically permissible, however, the behavior of the generated business process will not be determined unambiguously.

The concept of Pi calculus (Pi calculus) was developed in the late 80s of the twentieth century by Robin Milner and is based on the algebra of parallel processes. Unlike Petri nets, the mathematical objects of Pi-calculus are not graphs, but expressions over elements of special sets and transformations over these expressions. Currently, Pi-calculus is a promising, but still young and developing theory, it has many open questions and unresolved problems. It was mathematically proven that the functionality of Pi-calculus is higher than Petri nets.

The developers of BPEL and BPML say that these languages ​​have a higher expressive power than languages ​​based on Petri nets, since these languages ​​are based on Pi-calculus. However, there are skeptics who believe that the connection of these languages ​​with the concept of Pi-calculus is not obvious, and they suggest that these statements are closer to the marketing move than to the actual use of this theory in building these languages.

Source: https://habr.com/ru/post/308200/


All Articles