Process Is The Main Thing

@ Anatoly Belychook’s BPM Blog

Archive for the ‘Articles’ Category

Warning About BPMN Signal Event

Let’s consider a process diagram borrowed (with some simplifications) from the book by Stephen White, Derek Miers, “BPMN Modeling And Reference Guide”, p. 113:

The diagram illustrates a fragment of book creation process. The process splits into two subprocesses executed in parallel: writing text and developing book cover. The point is that book cover development may start only when the concept is ready.

The challenge of implementing this logic is that we can’t use sequence flow because it cannot cross subprocess boundary. (Let’s leave apart the question why we need subporcesses here; let’s just suppose we need them for some reason.) We can’t use message flow either because it’s all within a single pool.

The standard recommendation is to use BPMN signal event:

  • when the concept is ready, first subporcess triggers a signal
  • second process was awaiting for the signal; after catching the signal it proceeds to “Develop Book Cover” task

It’s so called “Milestone” process pattern. A similar example of BPMN signal usage is given in the book by Bruce Silver, “BPMN Method and Style”, p. 98.

Where is the catch?

Everything is OK as long as we consider a signle book creation. Now let’s suppose several books are processed at once. Recalling that BPMN signal is broadcasted to everyone awaiting it at the given moment, as soon as the concept of first book is ready all designers will receive the signal to start developing the cover. Not exactly what we expected.

In order to make the diagram work we must limit the signal propagation somehow. How it can be done?

  1. The first thing that comes into my mind is an attribute that would limit signal broadcasting by the current process instance boundaries. Yet there is no such attribute in the standard. Under BPMN 1.x one may say that it’s implementation issue not covered by the standard. But BPMN 2.0 fully specify the process metamodel. Let’s look at page 281 of OMG document dated June 2010: signal has a single attribute - its name. Therefore, a signal will be transmitted to all process instances.
  2. If the signal has only name then let’s use what we have. The diagram above may work if we could change signal name dynamically i.e. during the process execution. If we could name the signal “Process 999 Concept Ready” instead of “Concept Ready” then everything will be fine. But it’s a dirty hack and it’s hard to count on it. BPMS engines allow to change certain things during the execution (e.g. timer settings) but unlikely the name.

Why we should care.

Depending on whether we may use signal events to coordinate flows within a process instance, we should chose one process architecture or another:

  • if signals propagation can be limited, one can freely use subprocesses - whenever the need to synchronize them arises, it can be done by a signal
  • if signals transmit without limits then the only option is to launch separate processes for each branch because we can synchronize processes by message flows, resulting in a diagram like this:

Conclusions:

  1. The BPMN standard lacks an attribute giving an option to limit signal event propagation.
  2. As long as there is no way to limit the signal propagation, the “Milestone” process pattern should be implmented by message flows between separate pools.
11/05/10 | Articles | , , ,     Comments: 7

Process Pattern: Do-Redo

Very common case: an employee performs the task, his boss checks the work and may return it back for correction. It’s usually modelled like this:

BPMN process pattern: Do

I recommend slightly more sophisticated diagram:

BPMN process pattern: Redo

The content of two jobs “Do” and “Redo” may not differ at all, it’s about task names. Now what’s the point:

  • Within the first scheme an employee sees a task in his list: “Do It. He does, then presses the button and… after 15 minutes he sees the same task belonging to the same process instance. It’s confusing, especially if he managed to work on some other things during these 15 (or 30, or 130) minutes.
  • The second diagram is also better from monitoring perspective: it’s easy to calculate the number of “Redo” executions and the total time spent for them and then focus on bringing them to zero. OK, the number of redo’s can be calculated within the first scheme too - by subtracting the number of process instances from the number of task executions. Yet the total time spent (i.e. unjustified costs) won’t be so easy to calculate within the first scheme.

So that’s the pattern: almost trivial yet (or therefore?) widely applicable.

10/12/10 | Articles | , ,     Comments: 11

BPMN Signal Start

A short addendum to previous post “A Case For BPMN Signal Event“.

The pecularity of the signal event noted there - a signal is catched by every instance of a receiver process which is waiting for the event at the moment the signal is thrown - refers to intermediate events.

In case of start event one process initiates a signal and another process starts as a result. But why using a signal here - a message seemingly can do the same?

Firstly, a signal allows to initiate several processes at once.

Secondly, a signal has conceptual advantage:

  • Let a given signal thrown by a process A initiate start of a process B.
  • Now let’s recall that BPM is a management of business processes that change in time and assume that we decided to make process C handle the signal instead of B.
  • When a message is used, the receiver is specified in process A, hence we need to modify A scheme in order to change the handler. And if we do we got a problem with A instances already running.
  • When a signal is used, we simply install C and uninstall B. We don’t need to modify A nor to do anything with A instances.

This way signal implements late binding: a handler can be set/reset at time of execution rather than development.

09/13/10 | Articles | , , ,     Comments: 3

A Case For BPMN Signal Event

Events are both the most powerful component of BPMN and most difficult to learn. There are many types of events (more and more with each new versions of BPMN) and it’s not clear how, where and when to use each one. As a result not only users but also developers of BPM Suites make mistakes by implementing events not exactly as the standard prescribes.

There are two levels of understanding: 1) formal and 2) meaningful. Knowing the definition is one thing and knowing how the event of given type differs from others and what are the use cases is another.

In this article I will focus on the signal event.

» read the rest

Third-party BPMS Tools

I often refer to the analogy between DBMS and BPMS:

  1. Once upon a time computer programs consisted from algorithms only.
  2. Then at some moment it became clear that algorithms and data are different entities. Professor Wirth wrote his famous book “Algorithms and Data Structures” and a conclusion was finally made that data need special tools. So a new class of software emerged called DBMS.
  3. Similarly there is now an understanding that it’s better to consider process as an independent entity and not to reduce it to algorithms or data. Hence it requires special tools, i.e. BPMS.

Now let’s recall how user interfaces to databases progressed:

  1. Initially each DBMS came with its own toolset. For example, Informix 4GL for Informix database and Oracle Forms for Oracle DBMS.
  2. Then universal tools able to work with different databases appeared. For example, Unify released Accell 4GL in 80’s that was pretty similar to Informix 4GL and Oracle Forms with the key difference that it could work with Unify’s own database as well as with all leading DBMS of that time: Informix, Oracle, Sybase. At that moment it was achieved simply by embedding support for evry DBMS into the product. The benefit of such tools for the client: he could switch to another DBMS painlessly. And this is not an abstraction: for example Sberbank (the largest financial institution in the country) managed to switch from Unify database to Oracle and keep millions of lines of code written in Accell. Even if Sberbank made a bet on Oracle from the beginning it would be in a serious trouble because, unlike Unify who continues releasing new Accell versions, Oracle cancelled Forms. (Let me remind that we are talking about the application system counting millions lines of code.)
  3. At the end of the day a tool vendor appeared who was powerful enough to make DBMS vendors standardize on API: it was Microsoft with ODBC. Then JDBC followed the way. Yet DBMS vendors wasn’t quite happy so they do everything to make their proprietary interfaces run faster or give access to some non-standard extensions. Hence it’s not uncommon to see a tool supporting, say, Oracle and MS-SQL via proprietary interfaces and all others via ODBC.

Although Microsoft Studio and Oracle JDeveloper are quite popular, many applications developed for Microsoft and Oracle databases utilize tools like Delphi, PHP and God knows what else. So majority of application developers prefer option 3.

Now how things are going regarding BPMS? We are now at step 1 and that’s no good.

Customers choos BPMS by the engine charcteristics mostly. As a result, one have to utilize whatever interface tools the vendor provided. It may have ugly look-and-feel, poor usability and/or non-standard programming language - you have no choice. Well in theory one can use a general-purpose tool and communicate with BPMS through its API. But it’s too expensive and most importantly - time-consuming. Agility is the king in BPM projects so they require rapid development tool with ready-built visual components e.g. to access  process attributes.

I’d like to have a third-party user interface development tool supporting a range of leading BPMS. Preferably from the vendor with a proven record in producing development tools.

It’s enough for the beginning to follow the option 2, i.e. to use adapters to particular systems. If the product was successful, the vendor would be able to offer a standard API for BPMS engine similar to ODBC and increase his market share.

The product should offer the following functionality:

  • Introspection, e.g. a list of attributes of the target process to choose from.
  • Two modes: rapid prototyping and production development. The former is for analysts - it’s enough to specify a list of attributes and set the read-only / editable / mandatory flag for each and the form will be automatically generated. The latter is for programmers: visual components are placed on the canvas and programmer is able to write code for input validation, background calls to the engine etc.
  • Same two modes for the portal. A standard out of the box portal for the prototyping and a portal composed by the programmer from the high-level components for the production (see “Demo vs. Production BPM-based Systems“).
  • Two types of clients: a browser and a smartphone. I’d love to have a development environment producing forms that execute both in a desktop browser and iPhone. Ideally it’d be the same form. As a minimum, let the forms be different but have similar look-and-feel and development environment.
  • Support of routine database and webservice jobs.

Would you use such a tool? Or there is one already? Or are you going to / already work on something similar?

08/27/10 | Articles |     Comments: 5

Difference Between BPM and Workflow: Not Just Technologies

Janelle Hill from Gartner asked: “Do You Understand the Difference Between Workflow and BPM?“. I enjoyed the comment saying that her answer “makes it easy to show that BPM is not just workflow on steriods as some call it.”

According to Gartner, the ideal BPMS implements 10 technologies of which workflow is only one:

  1. Process Execution and State Management Engine - a component that implements workflow.
  2. Model-Driven Development Environment. But workflow products usually has a graphical modeling tool too. Limited (usually only the orchestration without choreography), not following standards (BPMN), but it’s there. Hence the score should be 2/10 instead of 1/10.
  3. Document and Content Management. In my opinion, there are structured data, unstructured content and processes. For each of them we have, respectively, DBMS, ECM and BPMS. It’s better to respect the borders: neither manage content via BPMS nor manage processes via ECM. After all we do not include Data Management into BPMS because DBMS is perfect fit for this task, so why the content should be different? 2/9.
  4. User and Group Collaboration. Yes indeed, but again - why considering this as part of the BPMS? Do we only collaborate within the process context? Of course not - there are projects for example. It’s absurd to have separate collaboration environments for processes and projects. 2/8.
  5. System Connectivity. BPMS treats the work done by people, document processing activities and actions performed by automated systems consistently, without bias towards the first (human workflow) or second (docflow). I’d place items 3 and 4 above here too as integration with content management and collaboration tools.
  6. Business Events, BI and BAM. Strictly speaking, only BAM is tightly coupled with BPMS, the other two can be used independently.
  7. Inline and Offline Simulation and Optimization. I guess only Gartner knows what “inline and offline” means here but it’s OK.
  8. Business Rules Engine. In theory it can be used as a global variables repository by any (preferably by each) corporate application. But in practice it’s mainly used by BPMS.
  9. System Management and Administration. Well any system has one form of it or another: 3/8.
  10. Process Component Registry/Repository. There is some kind of process repository in a typical workflow system, too. On the other hand it’s probably not the best idea to have a process repository within BPMS separated from SOA services repository. 4/8.

The final score I got is 4:8 rather than 1:10. But the scoring idea is silly indeed: there is something more than just technology at BPM side. Before comparing BPMS vs. Workflow one should stress that BPM != BPMS. BPM consists of:

  1. Methodology: hierarchy of organization’s goals, value chain, cross-functional business processes, process discovery, cycle of continuous improvement.
  2. Implementation: a program comprising a series of projects, agile development.
  3. Technology (BPMS).

Without the competence in methodology or implementation a BPM project is doomed even with the best BPMS.

You just won’t figure out how to use it right. BPM is integral and holistic discipline where three parts above perfectly fit to each other. For example:

  • There is no efficient process discovery (methodology) without rapid prototyping (technology).
  • There is no continuous improvement (methodology) without agile development (implementation).
  • There is no agile development (implementation) without process notation acceptable by business analysts (technology).

Unfortunately most of those who doesn’t see the difference between BPM and workflow believe “methodology” is a dirty word. The arguments above won’t impress them because they only believe in the technology of their own:

  • Continuous improvement? Nonsense, we must design carefully and most importantly - specify requirements thoroughly!
  • The graphical process diagram? The true program is made of the code, not by arrows and boxes.
  • We automate whatever business says.
  • Agile Development? Our users agree to work only with a system having full functionality.

Since workflow is nothing but technology it’s more comfortable for these kind of people than obscure, overhyped and overcomplicated (from their point of view) BPM.

Yet being limited by just technology is a weak spot of workflow. It’s typical usage is the automation of routine operations at the department level. It saves efforts and brings more order to the office but the company’s bottomline is not affected, the competitive advantage is not gained. In order to reach these targets we must deal with the value chain and end-to end processes, resolve resource conflicts around cross-functional processes, design a network of communicating processes…

So complexity doesn’t come from BPM but rather from business processes. The complexity of BPM is adequate to the complexity of business and the complexity of workflow is insufficient. Since the complexity of the control system can never be less than the complexity of the system being managed the complex task of business transformation in case of workflow is inevitably reduced to the office automation.

Getting back to technology, I would not say that BPMS wins workflow 10-to-1. But it doesn’t need to because there is another important aspect: BPMS is generally the next generation of technology. Thin client, XML and web, modern standard platforms (J2EE or .NET) and standard notations (BPMN, BPEL) instead of proprietary ones. In the rapidly changing IT world even a relatively small technology gap is fatal: when the majority of developers start treating some direction as obsolete, it quickly becomes marginal simply because nobody wants to deal with it without extra reward or pressure. Whether you like workflow systems or not, only those will survive who can switch to the mainstream: migrate to a modern platform, accept standard notation, implement the missing features from Gartner’s list, i.e. become a BPMS.

04/28/10 | Articles | , , ,     Comments: 3

Banking and Telecom: BPMS without BPM

Banking and telecom were the first BPM adopters. How valuable is these pioneers’ experience for other industries?

Let’s consider a manufacturing company. Roughly speaking, it consists of a shopfloor and an office. The demand for BPM comes from the office: the customer-centric business processes, the issues of cross-functional cooperation, the interaction between people and automated systems are all here.

The shopfloor has processes, too. But these processes have specific issues, specific methods and technologies: production lines, automatic machines, process control software. There is no cross-functional issues - it’s a single function after all. There is no need for BPM here, rather industrial automation and robotics.

Now look at the bank. It has the office, too. The processes here are basically the same as at the manufacturing company’s office: interactions with clients, personnel on/off-boarding, advertising campaigns planning and execution, computers maintenance, bookkeeping etc. Therefore we may expect that BPM is applicable in pretty same way.

The bank’s ”shopfloor” is a place where accounts and transactions are stored and processed. The principal difference from the real shopfloor is that it doesn’t need people: only servers, databases, automated systems and networks. Computers instead of humans and machines, ATMs and SWIFT instead of delivery service. Unlike the real shopfloor, it’s possible to fully automate the bank’s shopfloor.

Since a single automated system can’t satisfy all needs and besides we interact with other banks’ systems, there is a need of processes at the bank shopfloor to coordinate actions performed by different computer systems. A human is either not involved at all (STP - straight-through processing) or only handles relatively rare exceptions.

No humans - no pain: the most part of the process complexity goes away with humans. Therefore the complexity of bank’s shopfloor processes is much less than the complexity of the office processes. On the other hand the shopfloor processes’ performance, reliability and scalability requirements are much higher. The process consisting of calls to three or four systems and databases, several business rules and couple of logical gateways is relatively easy to model, it doesn’t change frequently due it its simplicity but it must be processed in milliseconds and the system must handle a huge flow of such processes. This is a perfect fit for BPEL while process methodology and agile implementation are of no use. It is a pure IT project.

A telecom company has a human-less “shopfloor”, too: a client makes a phone call - the process runs from the beginning to the end - the data are stored into one or more systems of one or more (e.g. in the case of a roaming call) companies.

Historically, both the systems used to manage specific processes at banks and telecoms “shopfloors” and the systems designed for office processes are called BPMS. It pleases those vendors who have chosen a strategy to satisfy the banks’ needs first and then try to adapt the product for the rest.

So when a vendor reports on successful BPM implementation at the bank or telecom, it is often about the “shopfloor” processes really. But due to the human-less nature of these processes such experience is hardly applicable to other industries. We may call such projects “BPMS without BPM”: BPMS is involved but the other two components of BPM - a process methodology and agile implementation - are absent.

I don’t mean that all BPM implementation in banks and telecom are of this kind. For example the initial phases of “Issue a Loan to an Individual” (application processing, customer verification, decision making) is a typical office process with human activities and complicated logic, long-term yet relatively low-intensive. When the credit is approved and the contract is signed, the end-to-end process continues at the “shopfloor”: the information is stored in information systems, the SMS notification is sent to the client etc.

So better get deeper into vendors’ cases, try to figure out whether it’s BPM or just BPMS.

The Border Between EA and BPMS Tools

There is confusion in the classification of software used to manage business processes:

  • Enterprise Architecture (EA) tools target the following aspects of enterprise architecture:
    1. Business architecture - business goals, organizational structure, functions, processes, roles, etc.
    2. Application Architecture - enterprise systems and interfaces
    3. Data architecture - logical and physical
    4. Technology infrastructure - hardware, software, networks
  • Modeling abilities of Business Process Analysis (BPA) tools cover a subset of EA: business architecture. But in addition to modeling BPA may include specialized tools like process simulation or statistical analysis.
  • Business Process Management Suite (BPMS) must include business processes modeling, execution (process engine) and monitoring/analysis. Optionally it may include simulation, business rules and much more.
  • Some vendors define their product as “BPM Software”. Usually this means that the system doesn’t fit into BPMS category - for example there is no engine - but marketing wants it to be labeled with BPM.

BPMS enthusiasts (including myself) believe in the power of executable business processes, in “what you model is what you run” principle. The process engine is a must for them so they can’t live with EA tools only.

On the other hand, enterprise architects have no idea how to handle business processes apart from the organizational structure, data and applications architecture. While many BPMS allow modeling the organizational structure, roles and external systems, it is fragmented to the level of “project” - that is, a logical business process (there may be several physical processes in the project) and do not cover the entire organization. Therefore BPMS doesn’t fit architect’s needs.

Now what shall we do about it? Maybe it’s a temporary issue and BPMS will eventually grow up to EA or EA will include the BPMS functionality some day?

I’d be glad to be wrong but I won’t expect this. Let’s forget about processes for a moment and look at the data architecture. DBMS is much more mature technology compared to the BPMS yet the divide between EA and DBMS is not going to disappear. Enterprise architecture deal with databases but their internal structure is modeled by specialized tools.

Getting back to the processes: they can be modelled both in EA and BPMS. As for today BPMN may be used in both. Typical business analyst knows EA/BPA tools better so the natural way to go for him is:

  1. Draw BPMN diagram within EA
  2. Two possible options:
    • If BPMS directly executes BPMN, export-import via XPDL
    • If BPMS supports BPEL, translate BPMN->BPEL

For example, model in ARIS and export to WebMethods. Or model in Casewise and translate to Oracle BPEL.

This workflow is simple, logical, but… not working well. Both options work only if we consider a single pass: draw - handover - execute. Yet BPM is not a one-time process automation excercise but management of ever-changing business processes.

What does it mean in practice? Once the model is loaded into BPMS, the developer edits it to specify certain details required by the execution engine. At the same time the original process model in EA tool doesn’t remain unchanged because analyst improves it continually. (I strictly recommend a series of posts started with “Model Strategy: Preserving vs. Transforming” at Keith Swenson’s blog to anyone interested in the matter.)

Now we must either transfer the details of physical implementation back to EA and find a room in the repository for them (so-called “round-trip” problem) or merge changes made in both models (like branch merging in version control systems). In theory the problem can be solved but as a matter of fact it wasn’t for years. Shall we wait more?

I propose to accept that:

  1. EA-BPMS divide exists and will remain for the foreseeable future.
  2. There will be no satisfactory automatic artifacts passing between them in the foreseeable future.

So where should we draw this division? There is certain freedom because the tools overlap. It’s better indeed to minimize the volume of information transmitted.

Suggestion: let’s divide at the level of a single process -

  • The value chain analysis and inter-process communication (via events and/or data) modeling is done within EA tool
  • The internal process logic is modeled within BPMS

This way only the list of processes and their interfaces will be transferred from EA to BPMS. Automatic export-import is not necessary for this task, we may utilize “export-import via the printer”.

Every business analyst should obey the red line: never use EA tools to model business process internals if BPMS is present.

There is better application for BPMN capabilities of EA tools. BPMS mostly focus on modeling the internal logic of the processes (orchestration), it’s poorly suited for interprocess communication modeling (process choreography). But the orchestration alone can only solve the tasks at the “office automation” level; as soon as you target the end-to-end business processes - i.e. the processes of real value - you can’t do much without choreography. (See process anti-pattern “End-to-End Process Orchestration”.)

Interprocess communications can be modeled by EA tools using the so-called “black box BPMN diagram” - modeling technique presenting each process as a blank BPMN pool. Communications through messages is modeled by message flow, communications through the data is modeled by associations.

BPMN diagram of interprocess communication (black box diagram) produced by EA tool may look like this:

For each process of the above diagram a BPMN diagram is created in BPMS. It deals with the internal logic of the process (white box diagram):

04/13/10 | Articles | , , ,     Comments: 8

BPM, Metrics, KPI

I believe the role of KPI in BPM projects is exaggerated.

A common point of view: if you didn’t measure the KPI before the project started then you will have nothing to compare the result with and therefore it will be difficult to prove the project’s effect. In a recent Process Maker Blog post “Top 3 BPM Software Pitfalls to Avoid” forgetting to measure KPI is pointed out as the most common mistake of BPM projects. However in the next post on the matter “Are KPIs Necessary for BPM Success?” Ami wrote: “I imagine that a BPM project can be wildly successful without KPIs”. Which means a negative answer to the question in terms of formal logic: KPI is not a necessity.

But where exactly KPI is not a necessity?

1. When the target is business transformation rather than fine tuning of the process

Typical driver for BPM is an urgent need for major changes in the business. Dissatisfaction of customers and partners, the growing pressure of competition, increased risk of claims by regulators are forcing companies to move from functional to process management.

If the company has no issues, or they are ignored or denied or unrecognized then there is no room for improvements. I guess the efficiency of BPM will be difficult to justify in such situation either with or without KPI.

Business transformation may begin with tactical initiatives but eventually strategic changes must occur in how the company interacts with the outside world, in the way departments interact with each other and in the way the company evaluates its performance.

At the end of the day the company will reconsider the metrics it uses. For example the percentage of orders shipped on time will be measured not on the basis of terms promised by the company but rather to the terms expected by the client. It doesn’t make sence to use old metrics but the new ones will only appear at the end as the result of BPM project.

2. When it’s about successfull project launch rather than further project development

When questioned by customers about KPI and BAM we usually answer: “we’ll need to work hard before it comes to analytics.”

Opportunities for process improvements are pretty obvious during initial process discovery, implementation of process execution within BPMS and first iterations of process improvement. Eliminate duplication of functions, assign less significant instances of the process to less-skilled personnel, implement parallel execution of activities instead of sequential - these are common improvement hints.

It usuall takes about a year to eliminate obvious non-optimalities. Further progress requires numerical data about the process. This means not only the KPI as integral indicators but also the details: the duration of activities and statistical distribution of process data affecting its trajectory. By using these data and simulation tools one can suggest non-trivial improvments supported by quantitative data: how much will be saved from the process cost (or alternatively how much will be spent extra) and how it will affect the KPI.

However if wider context is considered the question arises: what is the best focus for the process team - further polishing of the process or switching to another process not touched yet?

3. When the company has manageability issues

The thesis of the importance of KPI is a variation on the theme “You can only manage what you can measure.” Sorry, I don’t buy it. When I walk with the dog I manage it without the help of instruments. When I’m driving in dense urban stream I’m too busy to pay attention to the dashboard. You can drive without a tachometer but not without brakes or steering.

Brakes and steering are part of direct (action) control channel, speedometer and fuel indicator are part of reverse (feedback) channel. Action is more important than the feedback.  It comes to the dashboard ergonomics only if you are satisfied with the brakes. If you are not then no dashboard design will save. And how do you rate the quality of the brakes - by measuring the stopping distance? Probably no - you just feel it.

I’m amazed by by business leaders stating that bottomline figures are the only importance for them. Sure they are important but what shall we do about them - pray? Even the most strong-willed leader can not order the profits to grow. You can order people, but when the organization reaches certain size and complexity this approach stops working so you have to deal with the system and with processes.

We did not command the speedometer needle to move to the mark “90″ - we press on the gas or brake, i.e. we use the direct control channel. Similarly, to achieve better bottomline results it is necessary to put hands on the business processes and manage employees and other resources better by means of improved processes.

4. When the process discovery is the primary objective

A friend CEO once said to me: “You see, business is running pretty well but I have fewer understanding of how it works. And it starts bothering me.”

His concern is business vulnerability: whenever the business environment changes or a key manager leave they’ll be in trouble. He wants science instead of magic. Or better to say, science in addition to magic because leadership is a kind of magic. BPM is a scientific organization of labor of the XXI century.

Business process discovery is a precise science and also a fascinating task. From the “happy path” to various “rainy day scenarios”, from primitive block diagrams to the interaction between asynchronously executed business processes and to the understanding of the interactions between different units within the company. It’s neither “to be” nor “as-is”, it’s “as really is”.

Valid process diagram can only be obtained via execution. ”What you model is what you run” is the principle of BPM systems. Simple ”drawing” of business processes is a fruitless exercise. Works for ISO certification but not for management decisions.

What is worse than the lack of maps for the commander? Only erroneous maps.

5. When the top management is directly involved into the project

I was taught that majority of leaders belong to the psychological type of intitive/introvert. They trust more to the intuition than analitics. This doesn’t mean they are weak in mathematics - usually just the opposite: they are good enough to realize the true value of analytics.

What can KPI give to such leader? First, KPI provides information only about the past and the present but he is interested in the future. Secondly, the relationship between KPI and bottomline are not obvious. For example, how the percentage of orders completed on time mentioned above will affect the profit or the market share?

By contrast, here the case from our practice. Company’s CEO has said at the presentation of pilot BPM project results: “During the project we managed to make profitable three orders which should have become unprofitable as several ones before.” (The optimized process guaranteed speedy calculations of costs and precise specifications which was the key to successfull negotiations with customers in their business.) Do you believe KPI would impress him? I doubt it.

The involvement of the top management is typical for a medium-sized companies. The situation is usually different in large companies: the project management and responsibility is delegated to a middle manager while senior management is only interested in outcomes. Here KPI are in demand: a middle manager isn’t in position to operate with qualitative assessments, he must provide numbers to the top. Besides, his psychological type is probably analyst.

If the top management will be able to evaluate not only achieved KPI but also the intangible benefits of BPM then everything is fine. But if he trust only the numbers then the project is in trouble.

Any strategic initiative (and BPM is a strategy) should be counted several moves ahead. It’s like in chess: some moves are material gains but more often the move is aimed at improving the position which allows a player to perform fruitfull combinations. In terms of chess the BPM project grants both material gains (fast wins) and position improvments (the possibility to implement arbitrary business innovation on the basis of acquired competence and installed tools). Evaluating BPM on the basis of short-term gains only - and this is where pushing KPI is leading - is fundamentally wrong.

Summary

KPI is a good thing but let’s not overestimate it. If you missed KPI completely - it’s a mistake. But it is a reasonable approach to sacrifice it because of the considerations above.

One may argue: “If KPI is generally a good thing, why throwing it away - it won’t hurt.” It will, actually. You can do something useless only if you are not doing something necessary. Time is a valuable resource in a BPM project; undue delays lead to loss of stakeholders’ enthusiasm. The project slows down, resulting in even less enthusiasm, etc.

Top managemer’s time is especially valuable resource. If he suspects pure formalism in what you are doing then he may lose faith in the success of BPM initiative and switch to another project, also promising. He usually has a number of options to choose from.

Process Antipattern: Sure Message Receive

An example:

BPMN Diagram: Sales Process

We can draw whatever we wish of course but as soon as we tried to make this diagram executable we’d find out that in the real world the payment doesn’t always arrive. As well as in the case of “one-way activity” antipattern, we communicate with an independent subject having a free will (the buyer) and we can’t assume that it will follow our prescriptions.

We should consider at least three outcomes in this example:

  1. payment arrived
  2. buyer informed about refusal to pay
  3. neither payment nor refusal arrived in due time

There is a special BPMN construct exactly for such a case called “exclusive event gateway”:

BPMN Diagram: Exclusive Event Gateway Example

The beauty of this construct is that the process executes in parallel after passing the gateway, expecting all three events simultaneously. But as soon as one event happens, the other branches stop executing automatically and immediately.

The big regret is that BPMS vendors tend to consider the event gatway as luxury. I know several systems being declared as supporting BPMN yet not supporting this construct.

This is mistake I’m afraid because alternative messages processing can’t be avoided! The only possible way to solve the task in the absence of the event gateway is parallel gateway. But here we hit the problem of stopping other routes as soon as one of possible events happens. It can only be resolved with ugly diagram constructs and/or program code. Of course the process visibility and standard compiance become lost on the way.

This antipattern is special because it comes not from process analysts but from BPMS developers. On the other hand, it’s BPMS vendors will to eliminate this antipattern - they only need to change their attitude towards the event gateway.

As long as particular BPMS does not support the exclusive event gateway, one cannot effectively utilize the message flow. The software supports orchestration but not choreography. An old good workflow to me, whether it has the BPMN label or not.

02/16/10 | Articles | , , ,     Comments: 8

Copyright © 2008-2012 Anatoly Belychook. Thanks to Wordpress and Yahoo.  Content  Comments