I caught up with Garth Knudson from HandySoft a few weeks ago; I’ve looked at their BizFlow product previously, and they’re currently at version 11.3 so have a pretty long track record. Although HandySoft handles the same sort of structured processes as you see in most other BPMS vendors, they really focus on ad hoc and dynamic (unstructured) processes, where either a user needs to jump out of an existing process definition at a particular step to an unstructured flow and bring the results back to the structured process, or even create a new dynamically-defined process. Some processes just can’t be modeled in advance due to non-standard processes, changing roles and responsibilities, or process participants and actions being dependent on the participating user request: this is more like managing a project rather than a traditional process, but with BPM capabilities and structured applied to it rather than trying to manage this in email. These types of dynamic processes can form a huge portion of an organization’s processes: think of all the ad hoc processes that you have now in email, only with no control or monitoring. Some significant research efforts are underway on dealing with dynamic processes, as I saw at the academic conference in Ulm two weeks ago; Gartner and Forrester are all over this area as well, so I expect that we’ll see some advances from many vendors in this area in the next few years.
The structured parts of the process are managed by BizFlow BPM, whereas the unstructured workflow portions, whether spawned from a structured process or initiated directly, are managed by the OfficeEngine front-end application; in both cases, the process engine is BizFlow. Although you use an email-like interface to kick things off, and email is used as a transport for external recipients, this provides tracking of ad hoc processes that’s just not possible in email.
To start a completely ad hoc process, you create a task, specify properties such as instructions and deadlines, and attach any documents required or link to documents in a ECM repository using a URL in the rich comments field on the launch form. You use ActiveDirectory/LDAP or type in external email addresses to select participants, specify whether the participants can reassign the task further, and submit the task; then, the task is available for monitoring and you can see who has done what in a graphical view. Process participants receive tasks as calendar invitations, then click through to login to BizFlow and work on the task assigned to them, which may include adding other people to the collaboration. The web-based user interface includes a list of ad hoc tasks in which you are participating, a work list for your activities within structured processes, a launch pad for initiating new tasks or processes, and a graphical view of your SLA scorecard. From there, you can click through to the task monitor for ad hoc tasks that you have created, and see the state of each participant.
Since external participants can’t access BizFlow directly, they do their work outside the system and reply; replies from external participants are returned as a proxy, and an internal user must enter the response manually. This sort of one-step collaborative process – including multiple participants and reassignments – can replace the current practice of emailing around to multiple people for information or comments, then manually tracking to see who has responded. In an environment dominated by ad hoc processes in email, this provides a big benefit for tracking who is doing what, and when.
It’s fairly similar for launching an ad hoc task from a structured process: the structured process is modeled (using BPMN) in a similar fashion to other BPMS tools, and launched using a web form. From the participant’s UI at any step, however, you have an “Assign a task” tab that pops up the same form as was used for the purely ad hoc tasks; essentially, this allows delegating the structured process activity to the collaborative task, which can then include people who were not originally involved in the structured process. It doesn’t change the structured process; it just pops out to a collaborative task at this point, and when that completes, it returns to this step in the structured process and continues on. Just as with the standalone ad hoc tasks, this reduces the amount of unmonitored email activity that is prevalent in many structured processes where someone needs to request more information at a step.
In many BPM implementations, there is an attempt to capture all possible exceptions and collaborations as part of the structured process, but in reality, this just isn’t possible; they end up in email, phone calls and other untraceable activities. As Clay Richardson of Forrester pointed out in his vendor snapshot on HandySoft:
Traditional BPM platforms perpetuate the myth of neatly structured processes – with most vendors providing ample support for capturing reoccurring and well-defined workflows, but minimal support for managing unstructured and dynamic business processes. This chasm between the worlds of structured and unstructured processes forces teams to develop custom workarounds to handle ad hoc routing and collaborative interactions, ultimately increasing the time and cost to deliver BPM solutions.
Allowing an ad hoc, yet monitored, task to be launched from any point in a structured process has the effect of reducing the complexity of the structured process without sacrificing monitoring and auditability of the process. In BizFlow, launching an ad hoc task from a structured process causes an indicator to appear on the graphical view of the executing process to indicate that a task has been launched from that point, and the complete audit trail of structured and unstructured processes is maintained. If the ad hoc task isn’t completed within the specified deadline, that SLA violation shows on the structured process monitoring, and you can click to the OfficeEngine interface for detailed monitoring of the task.
On their product release agenda for later this year are a reporting service module – there’s already a fairly capable BAM functionality – and full rich internet application development capabilities to create more usable web forms for the user interface.