I know I have been remiss in keeping this blog thing going. As I have alluded to before, the reality is that there are just not enough hours in the day. So as a next step, I thought I would start writing a bit about some of the work I have been involved in lately, drawing attention to the growing interest in BPM-SaaS oriented plays. As (if/when) I get permission to talk about these services more openly, I will post links and invitations, etc.
The first one I can start to talk about is Appian Anywhere (A2) – the Appian Enterprise (AE) product delivered on demand over the Web. It has been in private beta for a while now. I have been building the online training and video help for A2 which is due to launch sometime soon … probably early next year.
It has been very instructive for me – firstly, to have to get down into the innards of the BPMS and build actual applications … and secondly to appreciate just how much effort is required. That last point is at the level of developing effective applications and also building effective online training. Along the way, I have also discovered a few things about process modeling and what BPMN really enables (A2 is one of the stronger BPMN implementations), and also what is not in the process model but you need to be wary of.
I have had to grapple with application implementation issues that are really not part of the “process” model. I am really pointing at issues that the user has to deal with in getting their BPM system to present the related data and docs of the application (all deemed to be neatly outside of the scope of the BPMN specification). A2 (and AE) have one of the sexiest (Ajax) forms environments I have seen (I’ll see if I can put a clip up on YouTube). But even that forms environment relies on a robust set of process variables being defined for the process … which of course must be accurately mapped to all related processes and to the data sources themselves.
In A2 you declare the related variables at the outset (in the Process Properties), with a wide selection of types from the Boolean Yes/No through users, people, files, numbers, text, date-time, etc. Even discussion forums, folders, groups and messages can be defined as variables. Alternatively, you can just start process modeling and declare your variables as you need to, right in the middle of defining the process. Whenever, a new variable is needed, there is always an option to create one. The data itself is automatically persisted (although you do get the option of mapping the data to MySQL, Oracle and SQL Server).
Manipulating these variables is pretty straight forward – whenever you need to make a decision, place them on a form, or use the embedded Expression Editor – the context of the variable is automatically carried forward. For example, inserting a text data field into an external database, will automatically provide the text variables to choose from. If the field were of a type Date-Time then the declared Date-Time variables are presented to choose from.
The point that I am trying to make here is that defining useful processes is a lot more than merely the order of activities and the assignment of tasks to individuals. You need ways of dealing with the process relevant data … and that is where the complexity really comes in.
Which in turn points to one of the challenges in BPM modeling for SaaS – who really is the target market, and how much complexity can they handle? There is always the temptation to just keep adding functionality to the process model (as you think of yet another wrinkle in the usage scenario). But the same is also true of the BPM Suite vendors. The problem becomes more “what you want to do/support”, and inevitably the development environment for a BPMS becomes ever more “complex.”
If your target market are really business users without Business Analyst training, then this sort of development environment (in A2) is probably just a bit too complex. But dont get me wrong, if your target market are those people who would have otherwise defined a robust process model to support the build out of a workflow or Java app, then A2 is a doddle.
As a final thought, on this BPM-SaaS thang, I am seeing a lot of interest. I recently recorded a Webinar for Search-CIO which will probably air in early January (when I get links I will post here). Point is that all sorts of folks are now engaging in the promise of BPM at all sorts of levels. My perception is that if we can fix the usability angle (getting people to do it for themselves), then we will finally start to see this BPM market start to explode and be taken more mainstream. In my last posting, I mentioned Itensil who I believe have made some big strides in this area – but they have done that by deciding not to support the transactional process (which is the core of most BPM Suites). They are focused solely on the needs of knowledge workers in their collaborative processes (what I describe as “roughly repeatable practices” rather than “rigorous procedures”).