SharePoint is many things to many people, including Microsoft. But there are some things it just really shouldn't do on its own. And Business Process Management is one of them.
SharePoint as a Platform
Yes, we know that SharePoint (news, site) is a platform. And we know that the key use for it is business collaboration. But being a platform typically means you can extend and/or build onto it to do many different things.
One of those other things appears to be business process management. In a recent report, entitled SharePoint and BPM -- Finding The Sweet Spot, Forrester (news, site) dives into how SharePoint has been extended to support BPM and where it has fallen short of being the solution most organizations typically need.
While SharePoint makes simple workflows easy to create, on its own it is not suitable for business process applications. A rich BPM experience is available using the SharePoint platform, but this will require the use of partner products to achieve optimum results.
And that is the gist of this research paper. Yes, you can try to build business process applications on top of SharePoint. No, you will probably not be satisfied with the results, unless you have integrated a third party BPM product.
Why Not SharePoint for BPM?
Forrester offers several reasons why SharePoint offers limited features for BPM, including:
- Out of the box, SharePoint processes are simple, so you can't create seamless business processes without a lot of custom coding.
- Yes, to build a real business process application, there's a lot of custom coding you will have to do and that of course takes time, costs money and introduces a number of problems related to the flexibility of the application.
- Site collections, while great for helping organize content and information, can be a major problem when developing business processes that cross organizational boundaries.
- Governance issues rear their ugly head in this instance as well. A well-governed SharePoint implementation will go a long way towards supporting effective business process apps. Unfortunately Forrester tell us that organizations still have a ways to go in this area.
The big culprit that limits SharePoint for BPM solutions is its underlying architecture. SharePoint uses Windows Workflow Foundation (WP), which supports only two process patterns: sequence and machine state. This results in SharePoint working best on the procedural end of the process spectrum, while most SharePoint deployments are focused on on the opposite end -- as practices:
SharePoint and Business Processes
Partners Can Provide Added Capabilities
Forrester points out that because SharePoint can only offer procedural-based processes without a ton of complex coding, it can't easily offer the ability to adapt processes to handle the exceptions that would be required in typical SharePoint implementations.
Most people new to BPM tend to think that standardization of all work and activities is the end goal. However, depending on the type of process, more and more exceptions emerge, with process developers building in workarounds and redeploying models. After a while, one discovers that longterm TCO is closely related to the ability to elegantly handle exceptions.
And this why even Microsoft encourages finding an integrated partner application to fulfill the BPM requirement. Some of the vendors that offer solutions include AgilePoint, Global 360, K2 and Nintex. All offer different ways to resolve the challenges that SharePoint offers out of the box. Some are better than others.
A Platform Must be Leveraged Properly
What this all boils down to is the reality that platforms can't do everything, and that includes SharePoint. Yes we understand that certain amount of customization doesn't hurt, otherwise what's the point of a platform really -- just build it as an application.
But, SharePoint was not built to provide business process management on its own. So check out the available third party tools if you want to add some business process capabilities to your SharePoint implementation and spend your SharePoint development effort on something it does do well.