Reasonable reduction and controlling of software cost is always a challenge for software companies. To estimate software development cost more precisely, current research effort is focused on improving the measurement of software size or complexity by combining or adjusting key cost drivers, such as function points and other observable project context factors. However, personnel factors are seldom investigated or treated in depth as a way to reduce the estimated software development cost. On the premise that a software project is decomposed in a number of tasks, and that predetermined developers are available as resources for it, this paper intends to optimize the allocation of available personnel for lower development cost. In this research, we consider the problem of allocating competent developers to suitable tasks as an unbalanced personnel assignment problem, and improve the traditional Hungarian Algorithm by applying three strategies to find optimal personnel allocation solutions for diverse requirements. Moreover, the performance of our improved algorithms is evaluated and compared through a series of experiments on simulation datasets to identify and validate the measurement indicators and influence factors of their performance.