Process Is The Main Thing

@ Anatoly Belychook’s BPM Blog

Archive for the ‘Notes’ Category

Google Wave: Cool & Usefull Right Now

First picking the moment to ask an account from Google, then waiting it for two months and looking for a time slot to dig into Google Wave and experiment with it… OK, finally I’m ready to share my first impressions.

Let me start with the conclusion: a useful thing, too bad I didn’t join earlier.

Now to the details. The primary references:

A quote from the above: “Google Wave is an online tool for real-time communication and collaboration.” Got it? Damned if I did. So let me compare it with familiar things. Google Wave consists of… hm… waves.  In order to avoid confusion I’ll call them “gwaves” and the service itself “GW”.

So what is a gwave? Please imagine a MS Word text. Now imagine that:

  • It’s stored on a Google server and you access it via GW webpage from your browser.
  • Formatting features are very basic: fonts, colors, margins, headers, lists, images. You may have attachments though like you do with email.
  • All changes are recoded (who, what, when).
  • It is filled with comments, questions, answers, discussions. Not aside of the text like in Word but framed text blocks right in it. Formatting capabilities are the same as for the main text.
  • The text and comments can be deleted by any participant so you can get the accurate text output at the end if you wish. But all the moves are recorded and there is a replay button showing how the document progressed.
  • Participants are the gwave creator and other GW users he invited into the gwave.
  • The real-time means this: when one participant is doing something with the gwave you can see how letters are typed and words are added to the document, provided that your GW page is open.
  • Collaboration means that I can enter text into one section while others fill theirs and in so doing we throw each other comments, remarks and questions. No locking and hopefully no conflicts, thanks to real-time communication (didn’t try to provoke conflicts though).

Is such a combination better enough than MS Word + email to justify studying another tool? I believe yes. GW avoids the questions like “where is the latest version of the document?” or “does it contain my last edits?”. As Keith Swenson rightly points out (here and here) we are exposed to “email addiction” so this is the right cure.

The first gwaves I experimented with:

  1. At work we discussed whether to accept an invitation to a conference. We decided to go and hence the discussion went further: the event schedule, assignments, brainstorming, etc. connecting more and more people. Without GW everything would have been in the email - much less convenient and efficient.
  2. At home we discussed the movie player upgrade with the son. It lasted a few days: defining the criteria, comparing models and looking for a good price. Again, more handy than email indeed.

What else a gwave can be compared with:

  • A forum thread. A gwave with large number of comments resembles it. Comments hierarchy (comments to the comments) is supported. The difference is thatyou can edit the main text and comments any time.
  • A photo site with comments. You can publish a photo as a gwave and discuss it with friends.
  • A Document Management System in general and wiki in particular. The same teamwork but the difference is the real-time in GW. The discussion is not on a separate page like in wiki but embedded into the text. I like both features. Trivial access policy: members can do everything, the rest nothing. No contents pages or rigid classification, only tags. Conclusion: wiki is for memories and GW is for ad-hoc temporary things.
  • A bugtracking system - it’s arranged by cases, too with attached files and ongoing discussions. By contrast, GW has no structure which is hardly acceptable in bugtracking.

GW pros:

  • Very easy to learn, the user interface is problem-free. Only one essential hint: double-click into the text body to edit it or add a comment.
  • Extensibility. Plugins (gadgets) are actively developed by third parties; didn’t get into it yet. By default there are Google maps and voting (yes/no/maybe). So if you are thinking about skiing with a company of friends then you’ll be able to mark the place and discuss who goes, who doesn’t  not, when exactly etc.

Cons and questions. (Some of them may be my problems rather than GW’s because I didn’t explore it fully yet.)

  • No notification of changes in your gwaves. If the GW page is opened in a browser, the tab title indicates changes: “Google Wave (3)” means there are thress changes in the waves you follow. People comment on this intensively on GW’s ideas webpage. Some say that Google tries to kill email this way. Dont think so, they must be realists and consider it as a supplement, not replacement. So I hope to see email and RSS notifications in the final version. In fact I’d prefer the latter because I keep the Google Reader page open anyway.
  • Permanent address (URL) of the gwave is another must-have. Right now I can’t see how to integrate a gwave into the web e.g. to embed the link into email message or blog post.  By linking to a gwave we’ll be able to add ad-hoc functionality wherever we may need it. SAP has made it with the Gravity plugin (BPMN designer for GW). Yet I believe it’s more natural to go opposite way - it’s much easier to reference a gwave say by the “Link” field of MS Project task rather than implement Project as a plugin. <updated>gwave’s URL is displayed in the browser address field when a gwave is selected. That easy!</updated>
  • Numbered lists are not supported. It’s weird because there is a bulleted list in the formatting toolbar.
  • The biggest problem: all gwave  participants must be registered GW users. This is quite a barrier. By contrast, you don’t need an account to start using Google maps or search. The Google mail, too doesn’t require the adressee to have gmail account. Google’s picasaweb photobank lets you send a “secret” reference to your private album to grant access to it - it’d be great if something like this was implemented in GW finally to let a casual participant without permanent account see the gwave. I am sure Google will do something to facilitate GW adoption.

Now how to get a GW account? To start with, you should have a google mailbox (@gmail.com). The easiest way is to ask someone already having GW account - each of us have 25 invitations. Alternatively you can apply directly to Google but be prepared to wait. It may happen Google will make the service generally available before you got your invitation. By contrast, an invitation from existing GW account comes almost immediately.

<updated>Usefull links:

Happy waving!</updated>

01/20/10 | Notes |     Comments: 2

Why Business Users Change Software Requirements All The Time

I hear again and again developers’ complains on business users changing software requirements. (Especially so for business processes.) If asked “why do they?” such developer readily answers “because they don’t know what they want”. (This is a soft version of the answer indeed.)

May be so sometimes. But it’s worth to realize that business is under pressure much higher than developers are. We may require at least some degree of logic from our users but they have to deal with volatile customers, mean competitors, heartless state machine and market which is blind and deaf to our problems and arguments whatever logical they are.

So let’s be more patient to users that don’t always behave like we want them to.

QHJNDDH3UF9Q

11/24/09 | Notes | ,     Comments: 5

Business, War & Chess

Business is like war, war is like chess. Of course any analogy is lame but why not playing with analogies for fun?

Photo by frankblacknoir

Businessman: we make decision on the basis of a payback or ROI assessment.

Chessplayer: sure one must calculate in advance how much material gains - pawns and figures - may result from a move. We calculate combination too. Yet our game consists not only of combinations. There are forced moves when you calculate rather possible losses than gains. There are moves aimed to pure position improvements. A player may sacrifice a pawn for position improvement. After all if your position does not develop, you won’t have a chance for the attacking combination and ROI would be simply out of question.

Militaryman: we call it getting into a strategic funnel: move after move one has fewer and fewer possible moves that are not leading to defeat.

Businessman: we have company’s strategy too.

Chessplayer: we call it a game plan. Yet in our case the same player build and perform the plan and you calculate win/loss balance after every few moves and depending on the result the chair can take another CEO. It would be interesting to watch your team at the chess board.

Militaryman: a chess game corresponds to the battle or campaign level. A commander may be replaced in the course of the battle only under exceptional circumstances. But a change of command is not uncommon if a war lasts long enough. Business strategy expands beyond the next war so it’s out of our scope, being equivalent rather to geopolitics.

Chessplayer: by the way we calculate not only material gains. There is also a tempo: gaining a tempo means that a player has spent one move less than the opponent. As the result the player gains the initiative: he has many moves to chose from while most of opponent’s moves are forced. Besides there is game’s time limit so we search not the best move but a good enough move that can be found at a shorter time possible.

Militaryman: we calculate the operation’s tempo too. A classical example is mobilization and deployment timings that become the cornerstone of the famous Schlieffen Plan of the German General Staff for the war that was called later First World War. We also know how to drive an enemy under the pressure of chess clock’s flag: by flooding its headquarters with contradictory information and misinformation leave him no time to digest it which eventually leads to complete paralysis of command and control.

Businessman: ok, guess now I’ve got what this “business agility” thing I heard so much is about…

This post continues ”ROI of ERP and BPM” topic. BPM is a speedy, combinational, attacking game while a corporate systems deployment is struggle for the position which alone makes combinational play  possible. Or a forced move at bad cases.

10/10/09 | Notes | , ,     Comments: be the first

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.

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