Do You Like Your Workflow or BPM Software?
Dukhat asks: "I am really interested in firsthand experiences with these kinds of products and in unbiased reviews, since Google primarily gives me marketing information and vague overviews of how BPM is good for business. I have already looked at
an earlier article on work-flow patterns, which gave me a few products to look at. I am trying to compile a short list of work-flow and BPM software to evaluate, but I am having a hard time determining which products are even worth evaluating. The situation is worsened by the fact that work-flow tools are often bundled with CRM or Business Intelligence packages. I am not dead set on using a big package, but I need to know more about their real world pros and cons before I can decide whether to build it myself instead. I am looking at both BPM and work-flow software, since some BPM software can also do work-flow, but it may be more worthwhile to just use a rules engine for automated processes and use a specialized work-flow tool."
Dukhat has a fairly long list of software choices that he needs to whittle down. What packages would you recommend and why?
"Here are some of the goals we have that we are trying to solve with work-flow/
BPM software:
Here is a list of packages that I have assembled so far: Please help me narrow these down. Thanks!"
- To be able to understand the path of a process without perusing in and out of a lot of functions.
- To be able to report on how long each step in each process takes.
- To be able to see exactly where in the process software errors occur and be able to skip over failed steps so that we can come back and fix them later.
- To be able to integrate with our issue tracking system, billing system, and CRM software. We definitely will have to write some webservices here.
- To be able to give process managers in different departments the ability to tweak certain processes without giving them full access to all processes.
Here is a list of packages that I have assembled so far: Please help me narrow these down. Thanks!"
I used to deal with BPM's a lot. The more you spend, the more flexible and more stuff you get out of the box. Personally, FileNET is probably the tops of the list, but is extrodinarily expensive. JBoss is the cheapest (free), but requires extreme customization.
The best answer depends on what you will be using it for. If you don't have a reason to use a BPM, then you probably should take the cost (or development effort) to throw one in.
And, of course, 90% of the replies here will be "do your own homework" which is semi-legit. As while I've seen a company work well with the adobe workflow, and one work great with the fileNET and jboss ones, it really depends on the client and their specific needs (which you really didn't define except in a very global sense).
The best answer would be to hire an expensive consultant that has lots of experience with BPMs. Let them look at your situation and make suggestions for you. You won't get anything worthwhile, here...
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
I have worked with both Bizflow and FileNet. Bizflow does a decent job if your looking at a small to medium size workflow that will not require a lot of transactions with change management. If this is for something like medical claims or AP/AR type stuff Bizflow will probably get the job done. However, if you are willing to spend the money FileNet is the way to go. FileNet is very robust and scalable. It is ideal for a large workflow process.
"Anything tastes good if you deep fry it."
What the hell does BPM stand for?
Yes, I enjoy my Bleeding Pancreas Monitoring software very much, thank you.
Comment of the year
i thought this was going to be about making employees work harder by blasting Techno over the company PA
I work with Lotus Workflow almost everyday. I am able to tap its power for anything that comes along. It does have a learning curve like all things, but since it is Lotus Domino based it's capabilities are vast. If your company/client are already Notes/Domino then the incremental costs are very reasonable since you have the client/server infrastructure in place. If you don't, and are intending on a Web-centric approach then the cost of a Domino Server with a suitable number of browser CAL's may not be too excessive. If I had to size up my options (as in your case) I'd start by looking at the existing infrastructure. If you are a MS-type facility, go with one of the .NET based workflow systems. If you have existing Oracle DB/AS then with a 10g upgrade you get Oracle Workflow capabilities under a J2EE model. Lotus Notes is the infrastructure, go with Lotus Workflow etc. Most workflow systems are extensions of popular platforms, although there are various independent stand-alone versions out there. DO YOUR HOMEWORK!!!
There may be no such thing as a dumb question, but be real careful... there is such a thing as an inquisitive idiot, so lets be sure that doesn't apply here...
* To be able to understand the path of a process without perusing in and out of a lot of functions. Huh? Whatever do you mean? Its a process. A process is not necessarily instantiated in software. Or to put it another way, if your a real business guy, you do what it takes, not what you prefer to peruse.
* To be able to report on how long each step in each process takes. This is trivially simple, whats the issue? Do you really need a consultant to hold your watch and tell you the time?
* To be able to see exactly where in the process software errors occur and be able to skip over failed steps so that we can come back and fix them later.
Why do you expect software errors, before you have even selected a package? If a business process has a genuine fault, and is broken, continuing the process and hoping to fix it somehow later sounds like a dumb business move to me. "yeah Boss we sent out the wrong orders, to the wrong addresses, I figured we'd fix the software issue later... ok?"
* To be able to integrate with our issue tracking system, billing system, and CRM software. We definitely will have to write some webservices here.
Aha! Isn't this what you really want to do? Come on, admit it... Your itching to find a reason to develop cool web-services and some fancy infrastructure. Ok, who cares!, but it is a side issue to the described problem. Webservices, are just protocols, methods, used to access a real service, that someone may "write". They are not important, nor do they inherently solve anything.
* To be able to give process managers in different departments the ability to tweak certain processes without giving them full access to all processes. Well Duh. This must be obvious and trivial, RTFM.
Picking a package selection list, then trying to boiled it down using some simplistic check-box style assessment, coupled with an appeal to Slashdots perceived authority... That not a good idea.
Don't go there. Use some real business and systems expertise and analysis of the processes, with each item mapped onto a compelling business case and ROI. Yep, that's real work, it costs money and takes time, is it worth it... you bet. It's much better than screwing around with your business processes, using some checkbox selected packages, which will surely cost a lot more.
As another poster has already said, hire some business and systems analysis expertise.
There is no god; get over it already! Never exchange a walk on part in the war, for a lead role in a cage.
Do your proper due diligence and examine each package very carefully. You'll start off with a very large list (far beyond what you currently have) because everyone and their brother is claiming to have a BPM package these days. Some are way better than others and some are just cobbled together bits of something else.
You need to know what you want and what you need.
Then, you really should do a proper test by implementing a good prototype in each system with minimal help from each vendor. That's the only way to get some decent idea of how well each might really work. Don't let the vendor implement the prototype since each vendor will have some consultant how can throw up enough smoke and mirrors to do anything.
We started with a list of about 20 different vendors, narrowed it down to 5, and then did prototypes with 3. And, we discovered things which we wouldn't have known if we had just read some magazine or white paper and listened to a vendor's song and dance.
I did my Masters on workflows and workflow verification. In defining a workflow you are essentially designing a system that, in the 'old' days, was programmed. The program could be tested, for example, for both syntactic and semantic correctness with compilers, unit and functional testing.
On the other hand, every (commercial and other) w/flow system that I looked at, except for one or two academic systems, had (usually) the same set of major flaws, mostly in terms of verifying the workflow. There could often be logical inconsistencies, they would, for example, easily allow deadlocks and livelocks and, as for defining business rules, there are holes everywhere. Holes which (through robust procedures, training etc.) are minimised in the programming world but which are put into (business) critical systems by people who can barely spell 'progremn'.
Would you, for example, alter the flow based on data output by an activity/action/state (or whatever your BPM system calls the 'blobs' that do most of the work)? If so, what happens when you have a SPLIT object somewhere (the flows split into more than one flow)? Is the data copied across the SPLIT to the multiple output flows? Is it a deep or a shallow copy? Deep or shallow copies can have ramifications to actions/activities/states downstream of the flow.
I came to the conclusion that good, verifiable workflows had to be as simple as possible. No business rules, for example, only simple 'decision points', quite strict restrictions on data and control flows especially through control nodes. No commercial system seemed to follow my conclusions, they seemed more intent on producing pretty graphics and I would be wary of using any of them, especially given the prices they charge...
I've been doing this at a Fortune 500 company for a couple of years now. We have worked with two different packages, and have had some successes.
1. We worked with a major CRM package using it's internal workflow capability. This required a dedicated programmer, and ended up costing about $100,000 per business process to implement, and took a few months per process to get in production. WAAAAAY too expensive and didn't scale. On top of that, the software was VERY hard to get working properly. (We already had the CRM package in place, the workflow was supposed to be a cherry on top, but it clearly was not.)
2. We went with a "workflow lite" vendor. The tool is organized to process orders, and has workflow capability. This is not enterprise workflow like FileNet, but theoretically means that business analysts could do the workflow design.
We've had some success with this. The absolute biggest pain point has not been technical - the problem has been defining the process to be automated. Business process analysis is an entirely different skillset than automation.
Once the process is defined clearly, automation is not terribly painful. Unfortunately it hasn't been the case that analysts could do the automation, but it also doesn't require programmer-level skills, either. We've been able to implement a large number of services.
The tool we picked has been completely immature, and our back end processing costs have been HUGE compared to what the vendor estimated initially.
Overall it's been a good ride, and the tool we used provides the types of metrics you're looking for. It's important to know that whatever path you go will be EXPENSIVE. On top of that, another key lesson learned was that we don't need to model EVERY possible path through the business process. We model the "happy path" and an "exception path" and that provides the Pareto model (80/20)
I'd be happy to converse off line about this if you want to know more about our experience.
Regards,
Anomaly
But Herr Heisenberg, how does the electron know when I'm looking?
So.
What's your problem?
Seriously, you want to buy software.
Why?
That's probably one of the most important bits of information you'll need to decide what package you need. And you left it out. I see a bulleted list of goals. But what made you decide to get going buying BPM?
Say, if it's a regulatory body saying you need something, make sure what you get will help satisfy them. Etc.
Also, though I work in a very small company, all the process analysis in the world means dick if you don't have someone going around and beating the crap out of the processees to do things differently. Expect to meet up with little fifedoms, power hungry people, people who won't change and will throw up roadblocks because they are lazy, or think you will process them out of a job. Make sure you got upper management who is clueful and will do that stuff for you or just drop the project as failed already. Some guy that needs to write to AskSlashdot probably doesn't have the juice. So get the juice first or you are already fucked.
(Note, I did process analysis for the "Baldridge" crap a couple years ago, and used nothing more than pen and paper for most of it. Finished product used one sheet and an overall flythrough flowchart. But then the process was simple enough that I could sit with someone and get the data I needed. If your problem consists of a large company wondering why processing rebates takes to long something that integrates is a good idea.)
This has got to be one of the best pieces of software I've ever seen. You should definitely add them to your list. They can be found at Lombardi Software.
I have been working in the BPM field for about 10 years, and I think ProjectLink is very nice.
The workflow engine in particular really rocks. Full Petri Net expression capabilities, robots, inline Java code to fine tune activities and provides automatic rollup of dependant activities. Workflows can even be created from an MS project file, or their native UI.
ProjectLink is NOT freeware.
I know it probably won't be a popular package here, but SourceCode's K2.Net also can be added to the list, if you develop in .Net. My company is currently looking into the package as we are almost exclusively a Microsoft shop and it integrates well with .Net.
And the costs are similar to other Open Source packages -- paying your own people to read the source, rather than paying some other big company to do it for you.
- "History shows again and again how nature points out the folly of men" -- Blue Oyster Cult, 'Godzilla'