1. A computer-implemented method of distributing tasks among queues corresponding to a set of resources, the method comprising: accessing task information for a task to be assigned to a queue of a resource for handling, the task information indicating at least one requirement needed to handle the task and complexity of the task; accessing queue information descriptive of tasks included in queues of a set of resources available to handle tasks, the queue information indicating a number of tasks included in each of the queues of the set of resources and complexity of each of the tasks included in the queues of the set of resources; accessing capability information for the set of resources available to handle tasks, the capability information indicating types of tasks each of the set of resources is able to handle and productivity of each of the set of resources in handling tasks; accessing, from electronic storage, a set of rules that control assignment of tasks to the set of resources to balance an amount of time taken to handle each task across the set of resources; evaluating, by at least one processor, at least the accessed task information, the accessed queue information, and the accessed capability information against the set of rules; based on evaluation results, selecting, by the at least one processor and from among the queues of the set of resources, a queue of a resource to which to assign the task; and based on selection of the queue of the resource to which to assign the task, sending, by the at least one processor, the task to the selected queue.