Thursday, October 23, 2008


The complex relationship between projects and business processes

Teamwork development version now includes Business Process integration. This is a really cool feature, as it gives a new dimension to projects, making it possible to model naturally complex processes, while maintaining the basic project based organization. The underlying technology is our implementation of Hibernate + JBPM, which gives the full generality and power of a proven business process framework.

In our meetings with customers we often presented two way of modeling their business processes: with projects, aimed at giving a minimal structure to work and collecting a maximal amount of feedback, work logs etc., or using business process models, which are workflows. Workflows are more rigid but more accurate. They are more complex to plan but often easier for the final user, who has jus to say "proceed" on her/his tasks when it is the case. So how could we give the opportunity to project managers to use business processes inside Teamwork without making the interface horribly clumsy? After much discussion, we made some choices:

- use JBPM, which holds data relationally and hence transparently, just like the rest of Teamwork

- process steps would be sedimented in tasks, so that say search in projects would keep on working on the same data, be it process driven projects or classical simply tree based projects

- non circular steps in processes (which of course are supported) would be modeled by tasks dependencies

- steps to be done will be presented to users in the same locations where she usually finds her assignments and tasks

So basically we have a wizard which given a process, lets you pick the assignments on the nodes of the process, and will generate a process instance which will guide project advancement, notifying and recording step progress. This is more flexible than the classical swimlane based business process assignment. Processes are defined in JPDL, a powerful business process which covers all the usual fork/join/milestone etc. needed in process management.

One could use Teamwork’s available custom forms to be associated particular steps of the process, hence having also a document process overlapping the business one. Other customization could be done in the action handlers, which handle the token entering or leaving a node.

In the first three screenshots you see three ways of looking at the same project: as a graph, swimlane based, and as a Gantt. It is the same project, and all the features that you have in these are enabled, like subscriptions, document management, issue tracking, and so on. Below also some of the ususal interface request "improved" with the process driven questions.

As graph.
By swimlanes.
As Gantt.
Task editor action.
In my assignments.

Labels: ,

Comments: Post a Comment

<< Home

This page is powered by Blogger. Isn't yours?