The allocation of development tasks within a software project is a complex activity. There are many factors to consider, including the programmers? skill and productivity levels. Furthermore, key project objectives, such as overall cost and number of defects, must be minimized. Multiobjective optimization is based on evolutionary algorithms and can generate a set of optimal solutions to problems with conflicting objectives. This article shows how to successfully apply this technique to allocate tasks within a software development team.