February 10, 2008   Sign In |  About ebizQ |  Contact Us |  Join ebizQ Gold Club
Keith Harrison-Broninski
IT Directions
Keith Harrison-Broninski cuts through the hype in his hands-on guide to where enterprise technology is really going.

« The Future of Programming | Main | BPM without a BPMS »

March 26, 2007
Why you don't need a BPMS

And it's not just me saying that - it's IBM.

Last week's posting to this blog explained why a first step in building a service layer in your enterprise is to ensure that you grasp the general shape of a modern development infrastructure. In other words, you must ensure that your organization possesses a mature and up-to-date software development capability. This is not as simple as it sounds, not only because there are a huge range of competing technologies out there, but also because vendors of middleware systems are doing their very best to spread FUD (Fear, Uncertainty and Doubt) in the marketplace. Haven't got a BPMS yet? Not doing BAM? No enterprise Business Rules Management System? Tch tch tch.

In fact, many BPM practitioners - and certainly most BPM thought leaders - agree that BPM is a management discipline, not a set of software technologies. And this view goes not only for pure BPM, but for supporting applications like BAM, BRM, CEP, and so on. Technology is simply an enabler of management practice. Get your practice right, and you can often do all this kind of thing very cheaply and easily without need for any big iron middleware at all.

Long-time readers of this blog will remember that, as a simple illustration of this, I often mention the number of monthly downloads of JBoss application server - generally over 200,000 - and point out how this by any reckoning this must dwarf the total number of BPMS installations ever performed, anywhere, at any time. Last year I spoke at the largest BPM conference in Europe and the largest programming conference in Europe. Attendance at the former was in the hundreds. Attendance at the latter was in the thousands.

So why does low-level programming still rule the roost - is it about price? Hardly. Only recently has the success of the open source movement made low-cost or free development tooling a reality for enterprise-level software construction. Further, there are now various free and open source BPMS products available. What it's about is functionality.

Taking the Java world as an example, all the advantages claimed for applications such as a BPMS are now available out of the box for plain old Java programmers. There are low-level technologies that automate process implementation from models - see the IBM white paper mentioned below, for example. Business Activity Monitoring, aka BAM, can be handled very well using aspect-oriented tools such as AspectJ in combination with a dynamic configuration framework such as Spring. Business rules can be implemented, and changed on the fly, using a combination of the Strategy design pattern and flexible deployment technologies such as JMX. These are only examples - there are many more ways to build everything you need for software support of BPM using mainstream programming tools that (if you wish) are available for free and as open source.

BPMS vendors and those with a vested interest in the adoption of such systems (for instance, vendors of associated technologies such as business rules) will no doubt respond to this assertion with the rallying cry: "You may be the kind of techie who just likes programming, but our systems place control in the hands of business people, permitting true business agility".

Oh, come on. As mentioned in the last post, you will always need IT people to manage the configuration and deployment of business processes. No business person is ever going to be able to change anything in a BPMS or associated system - and if they have permission to do so, it ought to be taken away!

What a business person does have every right to expect is for it to made abundantly clear to them, in a plain manner suitable for a non-technical stakeholder, what their systems do. Then there is a proper basis for discussion between them and their IT staff on how the system can be configured to behave differently in future. Then their IT staff can go away and implement the requirements of the business.

Over the last 15 years, I have seen far too many cases in which an enterprise application vendor's promises of tech-free administration, together with a sexy user interface, led to quite disastrous mis-configuration by end-users. Some of these cases would make anyone blanch. And once you have been bitten by the business consequences of such unfortunate meddling by people who have not been trained to understand the consequences of their actions, you will be quite happy to leave the IT department in control of back-end systems forevermore. Business people, give the techies your requirements and let them "make it so"! It's their job, not yours, and everyone will end up happier.

TAKE AWAY

I think it is inevitable that BPM systems and programming technology will converge - and that this convergence will be driven by the programming community, not by the BPM community.

For a start, best-of-breed programming tools now possess a degree of smarts to which no BPM system even comes close. This is partly thanks to the emergence of software design patterns during the early 1990s, and the consequent rise of frameworks based on such patterns, but also due to a number of breakthrough innovations in the last decade such as model-driven development, test-first design and aspect-oriented programming. Modern programming tools are the result of years of massive-scale community effort, and incorporate thinking about software that easily surpasses the best efforts of any application vendor.

Further, since you need IT people to make changes to systems, why not let them do it using the tools they know and prefer?

To conclude, here is an extract from a recent IBM white paper:

Once BPM systems are implemented, they are very hard to change because they are engineered as software development solutions that are linear and rigid or because the monitoring solution derives from process models. Solutions derived from processes are flexible but not comprehensive enough to include the nonprocess metrics needed to represent the full state of a business. Thus, a BPM approach not based on models can fall short of fully meeting business needs.

The abstraction of the BPM solution to higher-level models, as we propose, overcomes the shortcomings of BPM alone. It enables business analysts and system architects to contribute directly to the solution. The MDD approach to BPM means that business goals can be defined independent of an information technology (IT) platform. Business-level models either provide linkage to or can be automatically transformed directly to IT-level models using transformation routines. MDD can quickly reflect changing business goals and monitoring needs through models.

Model Driven Development for Business Performance Management, IBM Systems Journal, Volume 45, Number 3, 2006

Like these IBM researchers, I believe that BPM system implementation in future will be an end-to-end programming effort driven by modelling. My own recommendation if you seek a software infrastructure for BPM is to leverage state-of-the-art modelling tools such as Eclipse EMF, together with a low-level code library for the mechanics of state machine implementation (preferably a free and open source solution such as jBPM). This is not only a practical and low-cost route, but also one that satisfies the need among business people for an object-based description of their processes.

So would you like to discover how to prepare your own enterprise for implementation of such solutions? Then stay tuned to this blog.

Posted by keithhb in Business Process ManagementService-Orientated Architecture |Digg This|Add to del.icio.us

Comments

Hi Keith,

Sorry, but I think you are totally off here. I fully believe in MDD, but with your focus on the programming part you just miss the point.

Your conclusion is in fact completely misaligned with what the IBM researchers said... Funny interpretation. They talk about the need for higher level models and the issue of programmed processes - which you seem to promote.

Of course you can continue to program rigid, inflexible applications, but I believe that executable, higher level models are a much better and proven approach. Abstraction will help you to overcome technology shifts. At the same time, programming, in particular modifying generated code, will lock you into technology. this has been proven a number of times now.

Programming will still be needed and used, but not necessarily a one-size-fits-all, and definitely not viable as an enterprise vision.

I am open to further discuss this with you.

Best regards,

Theo.

Posted by: Theo Stolker at March 28, 2007 09:49 AM

Hi Theo

My conclusion is exactly the same as that of the IBM research. When I read their white paper, I thought, "At last, someone else is saying this".

Your comment implicitly associates "programmed" with "inflexible". What I am saying, and what the IBM research is saying, is that this is not true - in fact, we are saying that thanks to MDD, a programmed solution to process execution is more flexible than a BPMS, since it is based on business objects.

I have been trying for some time now to explain how an object view of an organization is the only way to ensure true alignment of processes with business goals, and hence true flexibility - i.e., which processes you want, and how they are to be implemented.

You say you "fully believe in MDD". Then surely you will agree that MDD technologies have advanced to the point where model changes can be generated automatically into code changes. In other words, MDD gives you exactly the same advantages that are claimed for a BPMS - minus all the vendor-specific fluff and ill-conceived "standards", and plus not only the ability to leverage 10 years of revolutionary thought in software development but also the chance to implement processes that are based on business reality, rather than on activity sequences.

--
All the best
Keith

Posted by: Keith Harrison-Broninski [TypeKey Profile Page] at March 28, 2007 12:01 PM

Keith/Theo

A very topical debate right now. I'm the Enterprise BPM lead for a large bank, and this is the sort of debate that comes up in the Tech Arch community time and time again.

Overall I would agree that some form of MDD is required that takes us closer to where object orientation wanted us to go - but this is simply a play on systems thinking which has been around for a long time now. The difference with emerging standards that BPM is helping to drive (e.g. OMG's BPMN, XPDL, BEPL etc) is that the discipline is helping to drive closer collaboration between business and tech - and surely this is where the challenges are and have always been.

If anything BPM suites from some of the leading vendor products such as FileNet have addressed real business issues of digitizing paper and orchestating the electrons around to the right people to get the process done for customers - and ultimately getting these types of capabilities delivered is what its all about.


I'm all for tech innovation - but we need to make sure the technologies have the proven maturity and that the business understands how to translate their aspirations and strategies into real executable capability. We can somewhat blame the consultants for pushing concepts down the pipe that are undercooked and not hinged to real world commerce issues that need to be solved (Web 2.0 is another classic case of hype that may or may not translate into bottom line value for business in the long run - but if we could just harness those smart types into fixing real problems with the exisitng technologies, imagine the possibilities)

In summary - I would agree that BPM will fit more into the composite world in the future than stand alone BPMS - that's a no brainer. But if we head back to the days of custom app build via programming then we're all dooomed - it needs to be a new world of process model driven config type stuff that BA's and IT types can collaborate on and get to market quickly.


Rgs
Barry.

Posted by: Barry McGill at March 29, 2007 07:22 AM

Hi Barry

No-one - least of all me - wants to "head back" to anything. What I see is that "custom app build via programming" is a new ball game since the emergence of MDD.

MDD is not "simply a play on systems thinking which has been around for a long time now". If anything, MDD is what what was always promised by BPMS vendors - the ability to define executable models.

My contention in this and other writings is that the sort of models enabled by current mainstream BPMS products are too weak to be truly useful, since they are based on a naive assumption that an organization equates to a set of activity sequences. Such models don't deliver what a business needs in order to be agile.

We need richer executable models if we are ever to generate executable mechanistic processes in an agile way, and the only current technology I see as capable of supplying such models is MDD. A model defined using MDD is no harder for a business person to understand than a model defined in BPMN - most people would find MDD models a lot easier, not only for the relative simplicity of the notation but also for the closer match to a business person's conceptualization of the "things" that they know about and deal with daily.

Such models and the systems they generate will need support for things like "digitizing paper" - but this can easily be provided by frameworks and libraries. What I see is that people have been dazzled by the rich user interface functionality of leading BPMS products, and overlooked their inability to provide the organization with a sustainable operational underpinning.

--
All the best
Keith

Posted by: Keith Harrison-Broninski at March 29, 2007 09:18 AM

Yes BPM is a discipline about people and their activities and tasks (Or should be?). But coding business functionality over and over can't be right. I hear some "BPMS" suppliers have over a 1000 "suites" all presumable hard coded albeit with a degree of configurability and business supposed to pull together - Is this really going to close that gap between business and IT? The supply industry needs to get back to basics to understand how business really works. It is about People undertaking their daily work where individually and collectively in their teams goals are set and measured. Research has established there are less than 15 task types that can deliver on any business requirement. Simple logic suggests this is the start point which recognises human interaction with systems will take the lead and not what has evolved over 30 years where people are subsumed by systems.
Simple business logic (something in short supply from the major vendors) suggests that using “15 task types” will produce a more elegant cost efficient result to take businesses forward using the power of the internet where people interface is dominant. The outcome will be the separation of the business logic from delivery technologies. Producing 1000s of Suites to bolt together to produce exactly what business requires in any part of the business is a vendor driven solution when business is looking to take control of their processes in a dynamic environment. BPMS may be a step in the right direction but cannot be the end game. Whatever emerges some very fundamental requirements should recognise business analysts not coders will build custom solutions and thus cutting out layers of "interpretation”, no coding, no compiling and software agility to change as the business changes. IT should be freed up to do what they do best and where technology challenges lie with the deployment of the applications and management of infrastructure. Yes Keith I agree who needs BPMS but until there is a widely available alternative it is better than where we have been – just!

Posted by: David Chassels at April 5, 2007 03:52 AM

Hi David

A focus on tasks and their types is really the traditional approach to work management, isn't it - dating back to Adam Smith's division of labour. Via Scientific Management (Taylor) and then Quality Management (Deming), this perspective has really given rise to BPM as we know it.

Interestingly, there is renewed interest in task management in the programming community, with Mik Kersten's Mylar framework in the vanguard. This is a natural continuation of Taylor and Deming, since programming is after all a manufacturing activity.

My view (as readers of this blog will know) is that what works for manufacturing and other "mechanistic" activities does not necessarily work for other business activities. In other words, a task focus may be appropriate for mechanistic work, but the class of business processes that I call "human-driven" - innovative, adaptive, collaborative human work - is not helped but rather hindered by focusing on tasks.

We do not judge books by the number of words they contain, or the average length of each word - and authors do not base their efforts on such criteria. Neither should we try to measure and implement human-driven business processes by focusing on tasks. Rather we should start with goals, look at how these map to business objects, ask who has which responsibilities for these objects, and so on - the core precepts of the GOOD methodology. Then we will start not only to leverage but to properly value and recompense the less tangible efforts that are in fact the key drivers of business success.

This set of ideas, that I call Human Interaction Management flies in the face of a typical BPM focus on tasks, and acceptance of such an approach is the step change one must make if one seeks to optimize human work in the enterprise.

So having said this, how does a task focus relate to the discussion started by this blog article? My assertion above is that you can implement mechanistic business processes using MDA technology rather than a BPMS. And I see no reason why adopting a task focus diminishes the validity of this argument. BPMS tools typically offer a wide range of features - for messaging, reporting, configuration, and so on. However, none of this is directly related to business success - in fact, there is an argument that adoption of multi-functional workplace tools does exactly the opposite, by drowning people in excess information and obscuring their business goals and responsibilities! I will address this in more detail in my next blog posting.

--
All the best
Keith

Posted by: Keith Harrison-Broninski [TypeKey Profile Page] at April 5, 2007 05:30 AM

There are some solutions address in this directions like http://www.bizagi.com/ that build the BPM solution based on the Business Process Definition in a Business Process Modeling tool, the end user define their owns process. Then this process is programing and involve in the Solution.

Posted by: Carlos Arturo Quiroga at April 12, 2007 08:09 AM

Post a comment




Remember Me?

(you may use HTML tags for style)

We ask that you type your code (displayed below) in the text box.This code is an image that cannot be read by a machine. It prevents automated programs from submitting comments.


Code:



Most Recent ebizQ Blog Entries
ADVERTISEMENT
RSS Subscription

Blog Roll
This Work
Accountability:The opinions expressed in this blog are solely representative of the blog's author, and not of ebizQ

Subscribe to our Newsletters
ebizQ Weekly Gold Club Update
Live Webinar Updates
Updates from ebizQ Partners
ebizQ SOA Update
ebizQ BPM Update
ebizQ Security Update
ebizQ BI Update
ebizQ Open Source Software Update
Virtual Show Newsletter
Your E-mail Address:
BAM: The Killer App for CEP
Date: Feb 12, 2008
Time: 12:00 PM ET
(17:00 GMT)

I WANT TO ATTEND
Event Processing Market Pulse
Date: Feb 14, 2008
Time: 12:00 PM ET
(17:00 GMT)

I WANT TO ATTEND
Archived Webinars | Upcoming Webinars

Marketing Solutions | Feedback | About ebizQ | Unsubscribe | Privacy Policy | Site Map