The next step is to list all the resources working on the project and assign the tasks to them. Create a node for the resources. You can group the resources by creating hierarchies. Tag the resource tree with the tag taskjuggler_resource so that the exporter knows where to look for resource definitions.

* Resources :taskjuggler_resource: ** Developers :PROPERTIES: :resource_id: dev :END: *** Paul Smith :PROPERTIES: :resource_id: paul :END: *** Sébastien Bono :PROPERTIES: :resource_id: seb :END: *** Klaus Müller ** Others *** Peter Murphy :PROPERTIES: :resource_id: doc :END: *** Dim Sung :PROPERTIES: :resource_id: test :END:

As you'll note I also added some resource_id properties to some of the resources (or resource groups). I will use these identifiers to allocate the resources to the tasks. The exporter will create unique ids for the resources automatically, but if you want to use short forms it's better to define resource_id properties for your resources. This will also allow you to define default values for the allocation as follows:

#+PROPERTY: allocate_ALL dev doc test

The easiest way to assign resources is again the column view mode. There is no need to allocate a resource to every task, as allocations are inherited in TaskJuggler. You'll note in the screen shot below that some tasks have more than one resource assigned to them. TaskJuggler will calculate the duration of the task based on the effort and the resources working on this task.

Figure 3: Assign resources

If we now export the project you'll see that TaskJuggler scheduled some tasks in parallel (as there are several resources now which can work in parallel). See the screen shot below:

Figure 4: Gantt Chart with multiple resources

Obviously we need to define dependencies between the tasks.