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: ,


Teamwork’s new installer

In the wave of release of new features, we also deployed a new installer. We tried to create the first really user friendly multi-platform installer for a multi-database web application, and as you can guess by the length of the description, it wasn’t trivial.
Working on the Install4J’s platform, we added the creation of services on Windows and OSX platforms, and, in case launching services is not possible, automated launch from a console of the web server. We are thinking about whether it would be useful to install it as a “service” on say Debian/Ubuntu or RedHat distributions.
We improved the database test connection part, with improved Oracle-db interface and clearer error feedback.
But what we worked mostly on is making the installation really very, very easy for a first evaluation, so that it does not ask any technical question: it just installs Teamwork as a service on a default test db, and then opens the browser there. Then it will be quite easy to move to production. Just try it here so see how it has been done.

Most of the work has been done by our Roberto Baldi, who unfortunately for him presented it in a very bugged form in our weekly developer meeting, and had hence been confronted by a jeering crowd :-D

Tuesday, October 14, 2008


Disasters of data hostage

Sorry, but I really can resist linking to this. Use your own database for critical data!!!


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