Title: An Investigation of Optimal Project Scheduling and Team Staffing in Software Development using Particle Swarm Optimization
Abstract: Software development organizations often struggle to deliver projects on time, within budget and with the required quality. One possible cause of this problem is poor software project management and, in particular, inadequate project scheduling and ineffective team staffing. This paper investigates the application of a particle swarm optimization algorithm to help software project managers perform these activities effectively. Specifically, the proposed approach aims to create optimal project schedules by specifying the best sequence for executing a project’s tasks and minimizing the total project duration. Simultaneously, it seeks to form skilful and productive working teams with the best utilization of developer skills. These considerations have been suitably encoded into the algorithm, with several hard constraints and objective functions appropriately formulated so as to assess the generated solutions with respect to their feasibility and also their quality. The initial results obtained are quite encouraging for the majority of the performed tests and indicate that the proposed approach is able to deal with the issues of scheduling and staffing in software project management.