1. A method, comprising: receiving a number of roles in a data processing system, the roles defining a resource type within a group of people, each resource type defining a person with specific skills to perform the role; adding a first part-time resource to a role; after adding the first part-time resource, combining a plurality of part-time resources to produce a corresponding full-time resource for the at least one role and exchanging the corresponding full-time resource for the plurality of part-time resources; determining, in the data processing system, if a project duration has changed as a result of adding the first part-time resource; if the project duration has changed, repeating the process by: adding a subsequent part-time resource to the role; and determining, in the data processing system, if the project duration has changed as a result of adding the subsequent part-time resource; and storing results corresponding to resources assigned to the roles, wherein determining if the project duration has changed comprises accounting for a change in communication overhead between different people resulting from adding said part-time resource, the communication overhead defined as collaboration among individuals belonging to a project team and having different roles.