Process Is The Main Thing

@ Anatoly Belychook’s BPM Blog

Archive for the ‘Notes’ Category

Demo vs. Production BPM-based Systems

When downloading a BPMS trial or demo, keep in mind that when it comes to production, the resulting system will differ from out-of-the-box version in many essential aspects:

  1. The user portal - web application that starts processes, displays the list of tasks assigned to the user, manage activity forms for these tasks, monitors and administers processes. It will have different design in production and most likely different functionality too. If you’re lucky you will be able to customize out-of-the-box portal but be prepared to rewrite it from scratch at some point. Or to get away from a standalone BPM portal completely and wire process functionality into corporate applications. The reason: users typically do not accept BPMS suppier’s opinion that BPM should be the center of user’s universe.
  2. In particular, you should eventually get rid of “start process” button. From user’s perspective, he doesn’t “start a process” but do something real e.g. accepts the incoming order or submits a request for vacation. The system must start the appropriate process transparantely.
  3. Be prepared that activity forms generated by BPMS in few mouse clicks will no longer meet the functionality, usability and design requirements at some point. So it’s better to have an idea how will you eventually develop these forms in terms of tools, labor force and costs. The importance of this issue can not be overestimated: what good is that the process scheme is depicted in two days if forms development for this process then takes say two months? (I do not play down the importance of rapid prototyping of screen interfaces - it’s the must for BPM, one won’t even come close to production without it.) By the way you probably would like to use the same tools to rewrite the BPM portal.
  4. Similarly you will no longer be satisfied with out-of-the-box reporting and monitoring tools at some point.
  5. Demo and pilot processes typically store all data in process attributes, process variables or operands (different systems use different terminology) but only relatively insufficient and/or temporary information will be stored this way in production. Most data will go into a traditional database and only the primary key of the corresponding record will be stored within the process. Considering the process of client purchase order negotiation as an example, the information about the client and the order items are likely to be stored in a database while customer and order identifiers will remain in process attributes together with the deadline date for the call to the client. The reason to act this way is obvious: data which may be of interest after the process instance has ended must be stored so that they could be accessed independently from the process instance. This also means a separate user interface to this data independent from process screen forms. As for the process screen forms, they should access both process attributes via BPMS API and database fields via DBMS API.
  6. Building on the previous item, most likely the part of the long-term information (but usually not all) already have a room at your existing enterprise applications. Accordingly, the process attributes will store only the identifiers of the appropirate business objects and process screen forms will access the data stored within the application. (The latter isn’t an absolute requirement - the total integration is often very time-consuming so partial integration may be more justified.)
  7. Similarly, while a demo or pilot most likely will store related documents (usually Word or Excel files) as attachments to a process instance, you’ll have to consider something more solid for production. The reason is the same: if the document may be of interest after the process instance has ended, then it must be kept independently from the process instances and user access to it must be provided independently from the user interface to the process. However you don’t need the full-blown ECM system: because BPMS takes care about the workflow you need only documents storage functionality with basic interfaces (user’s and programming) and services (search, archiving, security).
  8. Users authentication and authorization in a demo or pilot is usually done via independent LDAP directory, database or even a static list stored in the XML file. It is obvious that production system should utilize your existing user directory. But a bad surprise may be the amount of effort it requires. To start with there are usually several such directories. A typical example: an Active Directory, a separate authorization system within the legacy accounting system and a database keeping the users of remote offices and partner companies. As the project evolves additional requirements may arise e.g. the planned absence and automatic rerouting of the tasks. It is known that for a company having about a hundred of users Active Directory implementation alone is a non-trivial project and now we are facing more difficult task. As a result as much as 50% of total BPM project costs are spent on authorization and authentication issues at some projects. Imagine for a moment that it happened in your project and you didn’t take it into account in project schedule: you are out of schedule and budget for as much as 100%!
  9. For obvious reasons not the most complex business processes are taken for demos and pilot projects. That would be all right but worse than that, they are usually technically implemented as a single process thread. But in reality even the relatively simple employee onboarding process technically consists of several processes communicating with each other (it’s enough to notice that processing the incoming resumes is not directly related to the publication of vacancies). This is even more true for end-to-end processes that are of greatest interest in terms of business (see “End-to-end Process Orchestration” antipattern and “Internal Order” pattern). Accordingly, you will need more functionality from your BPMS pretty soon - not only the orchestration but also choreography. Modern BPMS are fine with that but if a rudimentary worflow and/or document management built into your accounting system is all what you have then you may be in trouble.
  10. And finally, a production system differs from a pilot by reliability, performance, security … but these are standard requirements not specific to BPM.

But don’t be scared: these issues are typically resolved one by one in incremental fasion; all companies that are successfull in BPM (and any vendor can provide dozens of references) did the job. It’s just better to know in advance what’s awaiting you after successful BPM pilot and to address the appropriate questions to yourself and to your supplier.

09/30/09 | Notes | ,     Comments: 11

Michael Hammer Was Right

I critisized reengineering - in its radical form - many times both in public speeches and in private talks.

There was a temporary retreat from the concept of constant performance improvement during the reenineering epoch of 90’s. The technocratical, american, “cowboy” approach has won. Yet the idea of being able to draw the ideal business-process from scratch turned out to be too idealistic. First, cross-functional (enterprise-wide) business process are too complicated to be designed in one iteration. Secondly, there is no such thing as optimal “to be” - only a run to ever-escaping horizon.

Methodology, technology and organizational principles of BPM are based on these realities.

But… there is a nuance.

We conduct BPM projects for several years now and have a clean understanding of three conditions that should be met from a prospect’s side for the project to be successfull:

  1. There must be a “pain”. Business must have a problem critically affecting it’s competitiveness and company’s prospects in general. And the problem should be identified - just an attempt “to do something” is no good.
  2. There must be a will to solve the problem. Companies with degraded motivation - e.g. those where owners abandoned business completely, fully trusting to hired managers without a stock share - have problems at this point.
  3. There must be resources: financial and intellectual. Minimal financial requirement is two full-time specialists, minimum one of them being internal employee. Intellectual resources means top managers being business process owners which implies in particular their readiness to spend one or two hours weekly to participate in process (re)design sessions.

Now, the first condition automatically means that the first step of your BPM project must be no constant improvement game but a radical redesign of the business process.

Why? Because “isn’t broken - don’t fix” principle is still in place. With very rare exceptions, no businessman would launch BPM initiative (as well as any other serious innovation) just because the life became too easy. There must be a performance gap for the project to be financially meaningfull. In simple words, one of valuable processes must be broken.

This way, we are back in reengineering, albeit on a new turn of evolution spiral. And by the way, “as-is” and “to-be” are also back in play - now we need them to quantify and measure process performance at project begin and end to tell the project sponsor exactly what he got for his money.

The bottomline: the BPM car in motion is constant improvement yet the starter of this car is one-shot, radical enough, reengineering-style process improvement.

Too bad I catched this only now when Michael Hammer has gone…

I can’t avoid paying my deep respect on this occasion to another titan that left us last year - Geary Rummler. He said in his interview (possibly the last one):

“I think there is only one critical condition for success that must exist – and that is the existence of a critical business issue (CBI) in the client organization. If there is no CBI (hard to believe) or management is in deep denial as to the existence of one, then serious, transforming BPM is not going to happen. Period. There may be misleading “demonstrations” and “concept tests,” but nothing of substance will happen. How can it? Serious BPM costs money, takes time, and can upset a lot of apple carts, and you can’t do that without an equally serious business case. I guess you could argue that a second condition – or factor – is that the internal BPM practitioner is about 70% a smart business person and 30% a BPM expert. Because the key to their success is going to be finding the critical business issue, understanding how BPM can address it, and then convincing top management to make the investment. I guess those are the two conditions: an opportunity and somebody capable of exploiting that opportunity.”

Thank you Geary, hopefully we’ve got the right course.

03/12/09 | Notes |     Comments: 2

On-the-Fly Process Modification

Another frequently asked question from a forum.

Question - When a business process template is modified (activity added/removed), what happens with process instances started by this template (previous version). What happens with analytics?

Answer - Most BPMS will finish running instances by following old template and will create new instances based on new teplate. It’s acceptable only if the template modification was planned. If - like it happens in most cases - the process became stuck because the template doesn’t have a desired gateway or a flow then you have nothing to do but abort the process instance and start it again by new template making the analytics inconsitent.

Yet there are systems allowing process scheme modification “on the fly”. Recommended reading:

  • ebizq.net article by Glen Smith from Appian explains why this functionality is important from methodology perspective. You can launch the process into operations faster if you don’t have to discover details of all possible exceptions.
  • Keith Svenson from Fujitsu notes that implementing process modification on the fly is hard to implement in a system that uses BPEL for excution. Fujtsu Interstage BPM lets you edit the scheme of a running instance the same way you edit a template; you can save the new instance scheme as a new version of the template if you wish.

Please refer to BPTrends report for the information about specific BPMS.

It’s hard to implement on the fly modification if a business process editor (modeler) is implemented as a desktop application which is the case for most systems. If a process instance stuck one should be able to correct scheme online promptly. Hence the modeler must be implemented as a thin client. Fujitsu Interstage for example has both desctop and online (java applet) modelers.

Oracle BPMS (aka BEA AquaLogic aka Fuego) took another way. The modeler pallette of this system has a special “magic” activity which can get control from any activity and/or pass it to any other acitivity. It solves the major part of the problem - absence of a desired flow on a scheme.

But you shouldn’t rely on a tool only - the process sheme should be designed the right way.

Let’s consider a long-term contract with a customer for example. We are going to deliver goods, obtain money and also renew contract’s terms and re-negotiate its conditions many times during several years. If we tried to implement it technically by a single process then for sure its scheme will be changed many times. Better solution is to create a long-living yet very simple process on the top level - a kind of a state machine keeping the state of our relations with the customer: “contract is beeing agreed”, “contract is in effect”, “contract is being agreed” etc. Every action starting from contract negotiations should be implemented by a workflow-like process. This workflow can be started if the contract is at some specific state and it can send a message to the contract process which will bring it from one state to another. Since the state machine is strictly passive one can modify a workflow scheme freely and/or create several alternative versions of e.g. delivery workflow.

02/09/09 | Notes | , , ,     Comments: 5

DBMS vs ECM vs BPMS

The same old question arose on a forum once again:

“In fact many BPM tasks could be solved with a document flow as well as with a DB. Yet results may not be very good…”

This is obviously a FAQ so I’m going to give a deailed answer, re-formulating the question for generality.

Question - What are the borders between DBMS, ECM and BPMS? How should they be combined?

Answer - Generally speaking we have:

  1. structured information where DBMS excels
  2. unstructured information (documents) is what ECM is for
  3. process information is BPMS target

(BPMS uses DBMS internally and ECM may use DBMS or file system for storage but it’s beyond our scope.)

Every member of DBMS-ECM-BPMS trio is able to replace any of two remaining brothers but only some more or less nasty way:

  • DBMS can store documents in text and binary fields yet it’s far from ECM functionality e.g. in navigation, content search, versioning, access control, MS Office integration.
  • DBMS is sometimes used to store process information, usually in a table where each rows defines the next step of document processing. Of course it’s very primitive if compared with BPMS process diagram.
  • ECM has a workflow or process engine yet it doesn’t match BPMS because of proprietary notation, platform, integration tools and what’s most important due to the lack of continuous process improvement methodology support. Simply speaking, a business process can be implemented in ECM but it’s hard to modify it with the speed required by business.
  • Structured data can be entered into Excel file and stored in ECM.
  • BPMS has typed attributes for structured data but clearly it’s for limited use only - the performance is nothing compared to that of DBMS.
  • BPMS lets you attach documents to a process instance yet as well as in DBMS case, the service will be very primitive if compared with ECM. Besides there is a question: how are you going to reach your documents when the process has ended?

So if you are planning the perspective infrastructure then you’ll need all three components. On the other hand, if you face a task limited by functionality, resources and/or timeframe then you may look for a poor-man’s solution by compensating missing components with present ones.

Make your strategy balanced over time. E.g. BPMS document capabilities may suffice for a pilot stage of a BPM project. A pilot project should answer the question - “do we need all this staff at all?” - in the shortest timeframe. In case of positive answer we can add ECM afterwards.

02/05/09 | Notes | , ,     Comments: 2

(Русский) Тим Лири и другие служители карго-культа

Sorry, this entry is only available in Русский.

01/12/09 | Notes | ,     Comments: 10

Processes are fun

To be more precise, it was a big fun back in 90-s; modern process disciplines are not as funny as reengineering and ISO 9000. Look at the selection of Dilbert strips on the matter. » read the rest

01/08/09 | Notes | ,     Comments: be the first

Connection refused: from Toshiba laptop to HTC via Bluetooth

On third attept I trained my Toshiba laptop to browse Internet through HTC 3300 connected via Bluetooth. Laptop OS: Vista, PDA OS: Windows Mobile 6.

Following standard instructions results with “connection refused” message on the laptop. Forum users give various advices, including replacing Bluetooth stack on Toshiba. Nothing helped.

Finally I found the right document at Toshiba Bluetooth Information Center: Internet via Bluetooth (TOSHIBA PC — WM6_phone — Internet). Toshiba deserves the highest mark for the document and a low mark for their sites accessability and support site search in particular. I have found this Bluetooth site some random way and it took half an hour to find the same document once again.

But it’s not the end of the story. The document instructs to launch Internet Sharing from PDA’s Comm Manager. Yet HTC Comm Manager doesn’t have such icon. Solution: file explorer - “Windows” folder - “IntShrUI”. Copy then paste the shortcut into Windows/Start Menu folder. You may rename the shortcut to e.g. “Internet Sharing”. That’s it - now follow the Toshiba instruction to connect:

  1. Launch Internet Sharing from PDA Start menu and tap “Connect” (assuming that GPRS is already set up on the PDA).
  2. Add Bluetooth connection to PDA on the laptop (done only once) and connect.
01/01/09 | Notes |     Comments: be the first

How many processes are there in your BPM projects?

I noticed that process part of our BPM projects tend to be smaller than the part that may be called traditional enterprise application - planning, accounting, reporting. (With the only difference from tradition that it’s web applications instead of client-server.)

In fact I always believed that BPM is for those who “got a ERP yet didn’t get happiness”. But I can’t see a single company around who have reached the nirvana of total automation - everyone wishes to add something to their software assets. And advanced ones don’t want to go traditional way, they want to strengthen new applications with process support. No objections indeed but as a result we fall into projects that have a lion’s share of more or less traditional applications develoment and smaller process management part. Our analysts and developers spend most of their time on these applications, not on business processes. Not a big deal of course - we are in this business for more than 15 years - just boring if compared with the process work.

As someone said on sql.ru forum, BPMS ain’t a silver bullet because there is still a lot to do manually.

But a simple thought got into my mind today: i’ts simply because BPMS makes the process part easy while the rest of the job remains the same. Let’s imagine for a moment that we have the same two parts of the job - traditional and process ones - but no BPMS. The volume of process work would increase manyfold and balance would shift.

Let me use my favorite BPMS-DBMS analogy. Database development takes relatively small part in today’s projects if compared with UI development. But it’s only because modern DBMS’es simplify this job tremendously. Just imagine for a moment that data are managed by some C library and you have to programm data navigation also on C instead of SQL.

Conclusion: it’s not about being rich with BPMS, it’s about being very poor without it!

12/11/08 | Notes |     Comments: be the first

About this site design

Does it hurt your eyes? Sorry - this is what I call “genuine design” :) What about usability - navigation? Typography? Search?

It may seem that Wordpress has more than enough  themes ready to use. But when you come closer -

  1. standard/default themes are awfull
  2. most of them are not internationalized or internationalization is broken
  3. the vast majority use fixed width layout and fixed fonts - I hate this style
  4. only few works smoothly in IE6 which still is the most widely browser used I guess

So I had to do it myself. YUI CSS helped a lot. It gives you

  • a relaible base (all browsers are brought to unified visual style)
  • reasonable typography (fonts and spaces)
  • grid framework (top-level web page layout markup)

It’s really very helpfull. CSS is a kind of black magic which can burn your brains. With YUI you just add your specific styles to well-established basement - fast and easy.

I also considered the Blueprint CSS which is promoted by Google but YUI has better concept, supports flexible layout  and is far more mature.

11/29/08 | Notes |     Comments: 7

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