« Why you don't need a BPMS | Main | Outsourcing and the fall of the professional programmer »
April 06, 2007BPM without a BPMS My last post to this blog generated strong responses. This is hardly surprising when you consider how many organizations and individuals have a vested interest in the survival of the BPMS:
- Analysts have a lucrative business in providing feature comparisons, advising vendors which new functions the market would be most interested in, and helping organizations select from the bewildering array of products on offer;
- Consultants have built a niche helping organizations choose, implement, and maintain these beasts - what a French consulting company with whom I once worked referred to disparagingly as "pousse-bouton" work;
- Enterprise architects charged with business process implementation are able to divest themselves of responsibility by laying it on the shoulders of software product vendors and their promises;
- Software product vendors have found a new market, often for a mixed bag of legacy or bought-in products that they can assemble, revamp, and re-purpose as a BPMS suite.
Nevertheless, it can't last forever. The major vendors in IT are already owning up to the imminent death of the BPMS implicitly, not only by incorporating BPM functionality into monolithic middleware suites (Oracle, SAP, IBM, etc) but even into the operating system itself (Microsoft). As I pointed out in my last post, published research from IBM shows how to implement business processes without a BPMS at all. And here is what David Frankel of SAP has to say about using Model-Driven Architecture (MDA) for business process implementation on bptrends.com this month:
Model-Driven Service Orchestration
Often times, developers trying to get a handle on MDA approach it with the thought that they have
to use it to generate the components of their applications, or at least to generate fat skeletons of
the components, to which programmers add some finishing code. Then they run straight into the
last mile struggles with legacy back end systems that hold so much of the data in non-normalized
form.Some of the most successful approaches that I’ve seen take a different route to nailing down the
last mile with MDA. They use service-oriented architecture (SOA) to present existing application
functionality as a set of service components whose interfaces are highly normalized via
consistent use of service interface languages such as Web Services Description Language
(WSDL). They use modeling to define specific orchestrations of the services. They walk the last
mile by compiling or executing the orchestration models.In sum, this approach deals with the last mile problem that non-normalized back end systems
pose, by using SOA to provide a normalized intermediate tier that model compilers and model
execution engines can target in a consistent fashion.
In other words, Frankel is saying that you can use MDA to execute mechanistic business processes via SOA. Draw your business process models, using whatever notation you like as long as it can generate code - UML is fine, for instance.  Then connect your code to services via WSDL. That's it. You can use a BPMS if you wish. But you don't need to.
TAKE AWAY
Some people are attached to BPMS tools because of the wide range of features they typically offer - for messaging, reporting, configuration, and so on. However, tempting as such goodies may be, their use is not in any way related to increased business success.
In fact, there is a strong argument that adoption of multi-functional workplace tools has exactly the opposite effect. A wide range of features and options often does little but distract people and muddy the waters. Being bombarded by information from every side and in every form imaginable is a primary cause of stress - when you add multiple forms of messaging to multiple forms of reporting you get what I call "network overload", which is even worse than information overload. On top of this many organizations are now using sophisticated workplace tools to transfer system administration responsibilities that properly belong to the IT department - authentication and authorization, for example - to end-users who are neither adequately qualified nor adequately resourced to handle such tasks.
What I see is that the net effect of introducing ever more highly powerful applications into the workplace has simply been to obscure individuals' true business goals and responsibilities. How many people feel that they are running to stand still these days? Or even just trying to keep their feet on the ground in the face of a tidal wave of information from all sides - and the demands for response generated by such information?
What the IT industry should be delivering is agile tools - agile in the sense of just-good-enough. On this basis, the rise of programming techniques based on Model-Driven Architecture will, for many organizations, make a BPMS unnecessary.
For a start, an MDA approach is far closer to the original Third Wave ideal for BPM than the current generation of BPMS tools, since mainstream MDA tools such as Eclipse EMF are based on a simple, general, robust underpinning - unlike any current BPMS products! It could be argued that the OMG MetaObject Facility that underpins EMF is the closest we currently have to the sort of generic framework envisaged by Smith and Fingar in their seminal 2003 book.
More importantly, MDA makes it possible to define your business goals, then implement processes to support them as quickly and simply as possible - and go round the loop again each time the goals change, as they do continually. So why do you need anything else? KISS, as they say.
Happy Easter.
Posted by keithhb in
Business Process Management
• Management
• Office Applications
• Security
• Service-Orientated Architecture
|
Digg This|
Add to del.icio.us
"In other words, Frankel is saying that you can use MDA to execute mechanistic business processes"
Certainly! And you can also use .NET. Or Java. Or C++. Or FORTRAN. Or assembly. IT shops have been doing Business Process Automation (BPA) forever - what a BPMS conceptually brings into the fold are execution-platform features oriented toward facilitating Business Process Management by business managers/analysts - process monitoring, process version control, process accounting/auditing, process exception handling, yada yada yada. (How well this conception aligns with what currently passes for BPMS in the commercial marketplace is another topic!)
As far as comparing MDA to BPMS - well, isn't that like comparing C++ to .NET? ... is it realistic to compare a programming language to an execution platform?
And yes - I said "programming language". At the point at which UML became "executable", it became a full-fledged programming language. And BPMN is also a programming language. Either of these are intended to be compiled down into lower-level logic representations. Just because they are higher-level than your typical block-oriented 3GL and the fact that running them through a code generator doesn't (necessarily) result in (virtual) machine code doesn't relieve them from this reality. All we're really doing here is raising the level of abstraction to make it easier for business analysts to understand (and perhaps even author and maintain) programming logic. (And in fact, from where I'm sitting the advent of MDA began with the first 3GL - don't 3GLs allow you to model algorithms in a platform-independent way such that they can be transparently implemented on arbitrary platforms?!)
As for how SOA fits into all this, I am in agreement with IBM - the ecosystem of business services exposed using SOA forms the high-level programming primitives of the business analyst. After all, isn't that the point of SOA? - aligning business with IT?
That said, I am also in complete agreement with your assessment that automated mechanistic processes aren't enough ... heck, managed mechanistic processes aren't going to be enough! ... treating humans as just another cog in the machine isn't going to cut it in the emerging Knowledge Age - IT needs to evolve into a facilitator of creative human participation in the business ... and I think your conception of the HIMS is a huge step in that direction.
Posted by: Paul Hanke at April 10, 2007 03:27 PM
Thanks for this comment, Paul. I am trying to say 2 things:
- That MDA technology is now in practice at least as powerful as a BPMS as a means of generating executable processes from models. This you are implicitly agreeing with, I think.
- That programming has advanced in recent years, to the point where the ubiquituous use of powerful frameworks in enterprise application development brings all the advantages you quote for execution platforms: process monitoring, process version control, process accounting/auditing, process exception handling, and so on.
My experience, both direct and second-hand, leads me to believe that BPMS tools have not done anything to remove the business/IT divide - and neither should they! The divide is there because most business people do not possess either computational training or the computational mindset - and if they do, they have other things to be getting on with than detailed implementation of executable processes. So why not let the IT people use the tools they are familiar with for process implementation; tools that are mature, actively supported by IBM et al, and (if you wish) entirely free?
--
All the best
Keith
Posted by: Keith Harrison-Broninski
at April 11, 2007 02:58 AM
What I've seen both here and in the IBM post is a lot of talk without anything to back it up. As an Enterprise Architect charged with helping my organization do BPM, I can't just look at the paper from IBM or a bunch of unsupported claims from Keith and accept this as gospel. Where are the case studies? What kind of success has been seen by organizations using the MDA methodology?
As for Mr. Frankel's comments, I can't take anything anyone from SAP says seriously these days. In our analysis of SAP's product suites (we are a huge SAP shop) and methodologies, implementing a complex process and achieving the type of agility given by a BPMS type solution will require about 3 times as long as using certain vendor's BPMS solutions. Now, that is not some wild assertion in a blog; this is based on real research done on real business processes using real software. For some background on why solutions take so much longer to build using SAP just take a look at a blog (https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/4703) from one of their experts on how they propose you do workflow (just one element of a BPMS). Seriously, stop and look at it. If you don't come away from reading that blog realizing SAP has no clue about helping the business be more agile then I don't know what to do for you. They propose using 9 different tools (depending on the situation) for doing workflow. Are you kidding me? I fell on the floor laughing when I read that blog. The sad thing is SAP has let this blog sit out there since Oct. 13th. One would think they'd have the sense to have the SAP expert add a follow-on fixing this travesty of an explanation on how to do workflow.
SAP's answer to helping your company be more agile is to use their out of the box business processes. Well, if you do that, and Company B does that, and company C does that, and so on, how the hec are you going to differentiate yourself? You're not. You will just have average business processes and will go the way of any company with average business processes. Hello commoditization. Hello bankruptcy and unemployment. I'm not saying every business process needs to be differentiating, but certainly your core ones do. They are what give you a competitive advantage.
This may be a case of the major vendors not being able to do something as quickly and smoothly as smaller BPMS vendors are doing it so they are trying to pour cold water on it. What I know is SAP and Microsoft CAN'T help us achieve the type of functionality our business users want to today. Call it BPMS or anything else you want, but those two vendors can't do it. I can't speak about IBM and Oracle because we haven't analyzed them.
My company has been trying to close the divide between IT and the Business (I disagree with Keith's assertion we shouldn't remove this divide) for years using MDA type approaches and haven't been able to do it. With BPMS (on top of an SOA) we have and have seen significant reductions in cycle times and IT support costs. We've also seen the business take much more control of the responsibility for the successful execution and results of their processes. That is progress to me.
This article looks to me like an attempt to generate traffic rather than put an honest assessment out there. I'm not saying that is what Keith was trying to do here, but it has that look and feel about it. I have a lot of respect for Keith's work on Human Interactions, however I can't agree with the assertions in this post. Show me your supporting documentation and case studies and I might take this post seriously.
Posted by: Brian French at April 11, 2007 01:51 PM
Keith:
This may seem peripheral to your point, but it is worthy of note that, according to the Analyst community, about 3/4 of the business process analysis work currently underway (by both in-house and consulting personnel) is being documented in Visio charts. Analysts have also estimated that about 80% of the activity directed to BPM adoption is still at the level of documenting and analyzing business processes--in other words, just the first two or three steps of a 10-step cycle.
If either BPMS's or code-generating alternatives were ideally suited to accelerating the early stages of BPM adoption, doesn't it seem that the process would be zipping right along by now?
Business users need to be better supported in documenting, modeling, and improving their processes. Since they do understand and accept Visio (despite its limitations) it seems that enabling business users to 'use Visio better' for BPA work is a key to accelerating BPM adoption to the point where business users and technologists will communicate better, and BPM implementation--with either MDA technology or a BPMS--will be more productive.
Posted by: mtalaba at April 11, 2007 09:26 PM
Brian, Mtalaba
Thanks, both, for your comments.
Brian, you clearly have strong feelings about SAP BPM products! On which I have no comment to make. I quote David Frankel of SAP as an MDA expert whose writings on MDA I find useful in practice.
Re MDA, tools for modeling and then generating code from models have advanced enormously in recent years - which is partly why I started writing this series of posts. Perhaps your company started with MDA too early to realize the benefits that it can now provide as more of a mature technology.
Re closing the IT/business divide - don't get me wrong. Yes, IT needs to be more responsive to business needs. But IMO this does not mean that IT functions should be absorbed by business people, which is the tendency promoted by BPMS vendors - and which I have seen too many times lead to disaster, often in subtle forms that take effect after it is too late to do anything to prevent it.
Mtalaba, the analyst reports you quote accord with my own experience.
I would go further, in fact, and say that in many organizations there is active resistance to process automation - because (A) BPMS products are perceived as a poor match to business needs when it comes to what I call "human-driven" processes and/or (B) due to resistance from process professionals who have been burnt in the past by process implementations that failed to deliver the promised ROI. Stand in the hall at a BPM conference and you will hear people telling each other emphatically that BPM is not about technology.
I think this is a shame, since I believe in technology as an enabler of management practice. What I am trying to do in this blog series is show that there is more than one way to skin a cat when it comes to implementing business processes.
--
All the best
Keith
Posted by: Keith Harrison-Broninski
at April 12, 2007 02:45 AM
I agree with many of the points in Keith's posting and the subsequent detailed comments; however, at the risk of repeating or perhaps over-simplifying this discussion, I'd like to submit an overarching view. We're all too familiar with the danger in "doing technology for technology's sake". The notion of BPMS is no different. It really is all about the specifics of the environment one is dealing with, both in terms of their IT assets (infrastructure, skill sets, etc.) as well as the way business interacts with IT and uses technology. In some situations introducing a BPMS is an unnecessary layer that clutters the picture in ways that could've been addressed using the existing technologies, e.g. integration stack and programming frameworks. However, there are many other circumstances where a BPMS is a needed abstraction tool that relieves the problems associated with IT (both from an organizational and level of maturity perspective). Also, in many instances the need for flexibility and quick response to business needs are critical for daily operations, which is more suited for a solution driven by business stakeholders (analysis, rules, etc.). The insurance industry is a good example where niche BPMS products are having some success. So, IMHO, as with anything else typically associated with a hype, it really depends on the specific situation. Just like SOA isn't the answer to every architectural problem, BPMS's don't necessarily have a place in all process management and automation domains. But, I wouldn't go as far as dismissing them entirely on the account of alternative approaches (MDA, etc.)
Posted by: Kooros at April 12, 2007 10:33 AM
Kooros, this is a very balanced summary of the discussion - it certainly captures what I have been trying to say. Thanks.
--
All the best
Keith
Posted by: Keith Harrison-Broninski at April 12, 2007 11:09 AM
... an interesting synthesis of initiatives: ModelDriven.org ... from an MDA/SOA/BPMS perspective, this kinda makes sense now that the OMG is backing all three ... I wonder where that Semantic Web outlier came from? (my guess is that the OMG is thinking about making a move in on that turf, as well! ;-)
Posted by: Paul Hanke at April 12, 2007 06:01 PM
Post a comment
IT Directions
