Given a task T , a pool of individuals X with different skills, and a social network G that captures the compatibility among these individuals, we study the problem of finding X , a subset of X , to perform the task. We call this the Team Formation problem. We require that members of X not only meet the skill requirements of the task, but can also work effectively together as a team. We measure effectiveness using the communication cost incurred by the subgraph in G that only involves X . We study two variants of the problem for two different communication-cost functions, and show that both variants are NP-hard. We explore their connections with existing combinatorial problems and give novel algorithms for their solution. To the best of our knowledge, this is the first work to consider the Team Formation problem in the presence of a social network of individuals. Experiments on the DBLP dataset show that our framework works well in practice and gives useful and intuitive results. Cate...