Business Process Model and Notation or shortly BPMN is one of the most well-known standards for business process modeling and management, being of great help in the definition and alignment stages of software products. The goal of BPMN is to provide all the participants of the delivery process, in other words business analysts, development and testing teams and product stakeholders with an easy-to-use and understandable unified set of elements and notations.
An efficiently performed business process management in the delivery of software products is essential for the product"s success on the market and for the collaboration between the supplier company and the customer, relationship mediated by the business analyst. We all know that the software products" sponsors are not familiar with the IT technical terms, leading to several communication problems between them and the delivery teams. In order to facilitate this communication process and to enhance the quality of the elicited functional requirements, business processes must be designed in a clear and meaningful manner, using an easily understandable and standardized language.
In order to create BPMN diagrams, one can use tools like: MS Visio, Sparx Systems Enterprise Architect or free solutions like BonitaSoft, Intalio or ProcessMaker.
We can define a business process as being a set of business activities performed by the business participants in order to reach the expected targets and deliver value. These processes can be described on three detail levels and BPMN supports all of them, namely:
•Process map - this is a simple flow chart
•Process description - this is a flow chart enhanced with additional information
•Process model - this is a flow chart extended with sufficiently enough information, such that the process can be analyzed, simulated and executed using BPEL - Business Process Execution Language.
In business analysis, processes - regardless of their type (management, operational or support) must be modeled in order to benefit of the following advantages:
•Understanding - processes, if divided in atomic activities, can be better understood by all the delivery participants.
•Monitoring and evaluation - processes, if unambiguously and concisely represented, can be better monitored and evaluated, and certain KPI - Key Performance Indicators can be easily applied.
•Optimization - processes, if broken down into independent and interconnected activities, can emphasize bottlenecks, duplicate paths, alternative paths and loops, being good candidates for improvements.
•Creation of new processes - processes, if correctly designed, reflecting the as-is system behavior, become solid starting points for potential product change requests or further extensions.
•Automation - processes, if represented step by step, can be easily automated, reducing the costs associated with development and testing, improving the product quality, and optimizing the maintenance and support stages. Also BPMN is easily interpretable by BPEL tools.
The diagrams provided by BPMN, called BPDs - Business Process Diagrams are similar to UML activity diagrams, but are much more suggestive and easy to follow by both technical and non-technical users, being also interpretable by BPEL tools.
In order to create the BPD, the business analyst must spot and model the starting event of the process, than the other events - in chronological order, and after that, the stop event - the one that closes the process. The business decisions and alternative paths (branches) are presented using gateways.
If the business process is complex, it can be functionally decomposed in sub-processes, each of which being represented in a corresponding BPD, and then the obtained results can be interconnected, to obtain the overall picture.
Now, let"s summarize some of the advantages of this standard that comes to help both the customers and the business analysts:
•Simplicity - the elements and notations offered by BPMN are intuitive, being no need of previous technical knowledge. Thus it is easy for the business analyst to create BPMN diagrams, which are very easily acceptable by the business side.
•Expressivity - the standard is extremely expressive and adaptable with regards to process modeling, allowing a wide range on constraints. As opposed to other standards, like for example UML, BPMN is much more versatile and can exemplify much more sophisticated business flows.
•Standardization- BPMN is an OMG - Object Management Group governed and maintained standard.
•IT applicability - taking into account that IT is a horizontal serving verticals like financial or banking sectors, a significant and continuously evolving necessity to have IT support came up. The majority of business processes must be modeled clearly, eloquently and unambiguously, in order to ensure an increased quality of the delivery and customer satisfaction.
A BPMN model can be described as a succession of nodes, connected by parallel or sequential flows. In order to apply BPMN in business analysis, we - the analysts - have to know a set of key elements used to describe the majority of business processes. In the first place we must be aware that there are four classes of elements, as can be seen below:
•Activities - are actions that occur during the business process, and are graphically represented as rounded rectangles. Here we can talk about tasks , sub-processes and looped tasks .
•Events - are actions that can start a process, can occur within a process or can stop a process and are represented as circles, the border type determining the type of event. Consequently we have start events - simple border, intermediate events - doubled border and stop events - bolded border.
•Gateways - are elements that describe the interactions among the process flows. We can notice exclusive, inclusive, parallel or complex gates which are graphically represented using diamond shapes..
•Sequence flows - represented by arrows with continuous line, indicate the activity order in a business process.
•Message flows - represented by arrows with an interrupted line, indicate message exchanges between entities in different swim lanes.
•Associations - represented by arrows with a dotted line, are employed to associate data, information and artifacts to objects.
•Pools - help to group activities by participants, in interactive business process.
•Lanes - represent sub-partitions of a pool and are usually used to highlight the roles involved in the business process.
•Data objects - present the manner in which data and documents are used in a business process and define activity inputs and/or outputs. Objects can receive "states" explaining the way the documents get changed during the process.
•Groups - point out certain sections of the BPD without adding performance constraints. Can be employed to classify the elements used for reporting and do not obey the restrictions enforced by pools or lanes.
•Annotations - provide additional information about a business process and can be connected to certain data objects by means of associations.
Even if BPMN is flexible and does not impose design constraints, it is recommended to embrace certain team, department or organization established good practices, like:
•Business processes" activities must be presented in a left-to-right chronological order.
•Business processes usually start with a triggering event and continue until business results are obtained.
•The tasks and activities of a business process must be associated to business relevant roles.
•A complete pattern of a business process should present ways in which objects and data are transferred.
•Business processes must be hierarchically decomposed, describing sub-processes whenever possible.
•It is recommended to set and employ naming conventions when modeling business processes, for example: i) element"s names must be short and concise; ii) the repetition of terms like "task" or "process" when naming a task or respectively a process is redundant; iii) all activities must be named as verbs iv) camel casing must be applied when naming complex items, composed of several words - i.e. "AbsenceRequest" and not "Absencerequest" or "absencerequest".
•If the business process evolves over time, it is recommended to version the created BPDs, in order to be able to track changes.
In what follows, I will present a straightforward example in order to underline the applicability of BPMN analysis on a specific business scenario and also the necessary steps to be performed while creating the BPD.
Let"s study the process through which an employee from an IT department requests an absence and his manager, after proper evaluation, approves or rejects his request. We will also take into account the situation in which the manager does not answer to the request in a given time interval, the system deciding to follow an alternative path of providing the employee with automatic responses on the manager"s behalf.
In the given scenario, firstly we have to identify the actors involved in the process, particularly the employee, the manager and the system.
At the second step of our analysis, we have to determine the set of actions performed by each of the three roles, respectively:
The employee: he makes an absence request - activity followed by a notification sent to his manager.
The manager: he processes the employee"s absence request, deciding if he approves it or not. Both decision outcomes are accompanied by a notification message sent back to the employee.
The system: it offers an alternative flow in this process, consisting of the automated rejection of the absence request, in case of timeout - the manager does not respond to the request within one day - activity that sends a message to the employee.
At the third step we have to decide which elements to utilize for our BPD, i.e. a pool with two lanes, one for the employee and the other one for the manager. The system"s actions will also be modeled in the manager"s pool as the system impersonates him in the given situation. We will also need activities, gateways and start, stop and intermediary events. As for connections, sequence and message flows should be appropriate.
For the fourth step we start by positioning the required BPMN elements on the BPD, and the following result come up: on the employee"s lane we put the start event, the absence request activity, the intermediary event of notifying the manager of the absence request and the stop event.
On the manager"s lane we have the start event - expressed by the receipt of the employee"s absence request notification, the absence processing activity, the decision gateway by which the request is approved or rejected, either outcome being followed by an intermediate event of employee notification, and from both cases the flow leads to the stop event.
On the manager"s lane, from the request processing activity we have an intermediary timeout event (its value is one day) after whose expiry an intermediate event of employee notification of request rejection is triggered, followed by the stop event.
The existence of a standard for business process modeling, accessible and known by business analysts, customers and technical teams is of great help not only in business analysis - as a discipline, but also in the entire delivery process, more as we talk about an easy and straightforward standard that does not require previous technical background. The major benefits of BPMN are represented by the ease of business process understanding and communication among the involved participants and the capacity of the resulted models to be BPEL executed.