1. A method for allocating resources of a group of resources to tasks of a group of tasks, the method comprising: forming a resource set comprising a resource record of a plurality of resources, each resource record having one or more fields representative of attributes of the respective resource; forming a task set comprising a task record of a plurality of tasks, each task record having one or more fields, each field holding data representative of an attribute of the respective task; condensing the task set by one or more iterations of the steps of: i. selecting two or more tasks of the task set; ii. adding to the task set an aggregate task record created from said two or more tasks having one or more fields, each such field corresponding to a field of each of the task records of the selected tasks and holding data representative of the collective attributes of the task records of the selected tasks in those fields; and iii. removing the task records of the selected tasks from the task set; forming at least two mappings of some or all of the members of the resource set on to one or more members of the task set; calculating, for each of the mappings, a rating value dependent on the allocation of resources to the or each aggregate task in that mapping, said allocation being dependent on the attributes of each of the resources and each task or aggregate task; comparing the rating values of the mappings; and selecting one of the mappings with the higher rating value for further processing in dependence on the result of the said comparing step, wherein the rating value of each mapping is calculated in dependence on a clearance score for each member of the task set that is in that mapping mapped to a member of the resource set, the clearance score for a record being the product of an importance attribute of that member and a volume attribute of that member divided by a productivity attribute of the member of the resource set to which it is mapped.