The Artima Developer Community
Sponsored Link

Java Community News
Are BPM Tools Useful to Developers?

7 replies on 1 page. Most recent reply: Oct 16, 2007 9:07 AM by Sean Landis

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 7 replies on 1 page
Frank Sommers

Posts: 2642
Nickname: fsommers
Registered: Jan, 2002

Are BPM Tools Useful to Developers? Posted: Oct 12, 2007 11:28 PM
Reply to this message Reply
Summary
A great deal of research and product development effort has been invested in business process modeling (BPM) tools by software vendors over the past decade. But are BPM tools really useful to developers?
Advertisement

Business process modeling and related activities have been the focus of many tool vendors over the past several years: Java standards, such as the Java Business Integration API (JSRs 208 and 311), as well as Web services orchestration tools and even enterprise workflow management systems, all aim to make it easier for developers and business managers to tie together disparate business processes.

Yet, when it comes to integrating enterprise systems, developers still prefer to pull out their traditional developer tools and programming languages instead of using higher-level BPM tools. At least that's the basic thesis of a pair of recent blog posts by John Reynolds and Robert Cooper in Why do Java developers hate BPM? and Do I hate BPM? No. I hate BPM Products.

Reynolds notes that:

A lot of Java developers hate having to use BPM tools instead of the object oriented tools that they are comfortable with. I work on a lot of BPM projects, and I work with a lot of other folks who work on a lot of BPM projects, and we have all encountered resistance from traditional Java developers. Java developers (in general) would rather use frameworks like Struts and Spring than be saddled with the constraints of a BPM suite.

Java frameworks like Struts and Spring are in the background... they provide just enough support to "set your creativity free" so that you can be a real programmer. You can build almost anything with Spring or Struts (if you've already mastered the intricacies of Java). They are light-weight, they're agile, and they look sexy on your resume...

BPM suites are in-your-face. They rob you of your creativity. They dictate to you how you will develop your application... BPM suites make programming boring. They force you to use point-and-click and drag-and-drop tools to design your process diagrams, data models and forms. What's worse, they actually encourage Business People to model processes and design forms on their own... Fortunately most Business People are too intimidated to use these tools, but it does open the door for them to look over our shoulders and meddle in our affairs.

In response to Reynolds, Cooper observes that:

All these unusable drag and drop tools, and “easy” XML programming languages aren’t targeted at programmers. They are targeted to suits who can buy into the idea that some non-techy is going to orchestrate these services and modify business rules. These products are unworkable because they are based on the idea that “You won’t need programmers anymore!” at least at a core level. Once you make that assumption you start building things that get in programmers way, and still include enough abstract programming concepts that no non-programmer is ever going to be able to work with it proficiently.

What do you think of BPM tools? Do you think they can be useful to developers? Do you use BPM tools in your projects?


Robert Cooper

Posts: 7
Nickname: kebernet
Registered: Jun, 2005

Re: Are BPM Tools Useful to Developers? Posted: Oct 13, 2007 8:25 PM
Reply to this message Reply
As the author of the "Do I hate BPM? No. I hate BPM Products" post, I want to state that while I think the excerpting here is a fair assessment of the arguments, I am not arguing that the *features* of BPM products are bad. I think if you read the comments and OJ, this is clear. What I *am* saying is two fold:

1: As summarized above, the idea that process and service orchestration will be done by non-programmers is a fallacy.

2: The current crop of BPM products, while they include compelling features are so unpleasant to use, that they evoke this hatred of BPM. It isn't BPM that developers hate, it is that no one has delivered a really compelling product, and it taints the concept.

Nirav Thaker

Posts: 1
Nickname: niravt
Registered: Jun, 2005

Re: Are BPM Tools Useful to Developers? Posted: Oct 15, 2007 9:26 AM
Reply to this message Reply
I think BPM tools are useful to business not to the developers. There are less ways to make BPM tools interesting for developers unless they (developers) are allowed to craft one for them to use :).

John Reynolds

Posts: 4
Nickname: johnrynlds
Registered: Jan, 2006

Re: Are BPM Tools Useful to Developers? Posted: Oct 15, 2007 12:37 PM
Reply to this message Reply
As Robert's arch nemisis on this topic, I can only say that he's got some great points in his blog, and I vehemently agree that XML is a lousey basis for a programming language: thoughtfulprogrammer.blogspot.com/2007/08/xml-is-markup-language-duh-john.html

BPEL isn't BPM.

I don't disagree that BPM tools are immature... but I think they hold great promise.<p>My concern is that Java developers don't give them a fair shake... It's one thing to be bitter after using a flawed tool, it's another to approach it with disdain on the first day of a training class.

John Reynolds

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Are BPM Tools Useful to Developers? Posted: Oct 15, 2007 2:41 PM
Reply to this message Reply
I'm going to have to go with Robert here. This idea that developers don't want to use drag and drop tools because it's boring is a load of crap. It's basically an ad hominem argument. Sure, we all know a Mel that no matter how much you explain how a new tool will help them they still want to program in assembly. But those are the exceptions. Most programmers are busy and if a tool can save them time and headaches they will use it.

I've used a good number of tools that were developed for non-programmers. Here's the cycle:

1. The salespeople tell some suckers that they won't need developers anymore. Many lies are told.
2. The company bites. They might even layoff some developers.
3. Non-developers try to create their own programs with 'simple' drag and drop tools.
4. Complete meltdown ensues when the first bump brings the house-of-cards crashing down.
5. The developers are now told to use this tool to do their work and maintain the steaming pile that has been built. (a.k.a throwing good money after bad.)
6. The developers try to maintain the mess that the non-developers wrote and create maintainable software without the tools that developers normally use (because they work.)
7. Productivity and/or quality continue to suffer. Developer morale drops. Much more 'code' is created than would be needed in conventional development approaches.
8. "Experts" in the tool are contracted and/or hired at great expense. They teach the developers how to work around all of the product's deficiencies in order to be moderately productive.
9. The rising expenses cause managers to look for ways to reduce development staff. Outsourcing may be used.
10. A vendor comes in to tell some suckers that developers won't be needed with their new dap and drop tool...

Any developer who has been through this is going to be pretty skeptical of a new gui-based tool. And it won't take long to see where the pain-points will materialize.

James Watson

Posts: 2024
Nickname: watson
Registered: Sep, 2005

Re: Are BPM Tools Useful to Developers? Posted: Oct 15, 2007 3:03 PM
Reply to this message Reply
I'd also like to add that I think GUIs can be really helpful. The problem is not the GUI, it's the 'tool for non-developers' that is the issue. These tools always end-up being pushed on the developers but were never designed for developers. Good GUI enabled tools for developers are the exception and that's probably because the tool makers are busy chasing after the mirage of developer-free development.

Writing code is really one of the easier tasks of a developer. A drag and drop tool is an incremental improvement (when it's an improvement at all) not a revolution. The really hard work is unchanged.

Achilleas Margaritis

Posts: 674
Nickname: achilleas
Registered: Feb, 2005

Re: Are BPM Tools Useful to Developers? Posted: Oct 16, 2007 9:01 AM
Reply to this message Reply
"What do you think of BPM tools?"

They suck. They only take useful time from programmers' hands.

"Do you think they can be useful to developers?"

No. The amount of time it takes to use BPM tools for any practical outcome is too big.

"Do you use BPM tools in your projects?"

We have tried in our company, but it only proved that these tools are useless.

The only useful and practical thing to do is to write an SRS (software requirements specification) which is useful for the client, the managers and the developers, and which might include business process diagrams.

Sean Landis

Posts: 129
Nickname: seanl
Registered: Mar, 2002

Re: Are BPM Tools Useful to Developers? Posted: Oct 16, 2007 9:07 AM
Reply to this message Reply
I don't have a broad experience with BPM - just vendor presentations and such. I have lots of concerns about the tools I've seen and the way they work.

First, it does seem the target audience are business people and the selling point seems to be that with BPM you can take back control of your business. This makes sense from a vendor prospective: find the motivation and the money, and sell to that. Of course it sets up a conflict within the company.

Second, the BPM tools I've seen are not very complete. They clearly only handle the common cases and only work with the vendor's stack.

Third, it seems to adopt a BPM tool you've got to drink all the Kool-aid. You live and die with the vendor's stack. The stacks I've seen are weak and incomplete.

Fourth, the abstraction level is so high you have no idea what's going on, and no control when you need it. How can an IT department allow critical business processes to be implemented in such a fashion? There's no room for making architectural trade offs.

Fifth, BPM adoption can set up conflicts within a company. IT is held responsible for the software non-programmers 'develop' using BPM. When the s**t hits the fan who is going to be asked to make it right? Who is capable of making it right?

Looking at the positive, I would love for our business side to have a MODELING tool that they could use to express to IT what our business does and what it ought to do. I think models are great for communicating across organizational and expertise boundaries.

I don't think having IT use BPM addresses all of my concerns. We've seen the over-abstraction problem in many forms over the last few decades. The vendors couldn't sell it to developers so now they target the business. The whole enterprise software marketplace now is about snake oil and "marketecture."

Flat View: This topic has 7 replies on 1 page
Topic: Shannon Hickey Updates Beans Binding Reference Implementation Previous Topic   Next Topic Topic: Eclipse Releases OSGi-Based Ajax Platform


Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2014 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use - Advertise with Us