A multi-objective genetic algorithm for intelligent software project scheduling and team staffing - Stylianou, Constantinos; Andreou, Andreas S. (My University, 2013)
Allocation of human resources is considered one of the most important activities carried out by software project managers, since human resources are essentially the only type of resource utilized in software development. Part of human resource allocation involves the scheduling of tasks and the staffing of teams with suitable developers, which for project managers are activities that are often very difficult to carry out due to the large number of possible permutations and factors influencing selection. In addition, no standardized technique is available for software project managers that can be adopted to carry out these activities. Consequently, proper human resource allocation is now gradually being regarded as a critical factor that can influence software project success and can directly contribute to providing customers with software products on time, within budget and with the adequate level of quality. The aim of the research work, therefore, is to form an approach to help software project managers undertake the responsibility of scheduling projects and forming teams in the best possible way given a set of tasks and developers. The approach employs a multi-objective genetic algorithm to optimize various aspects of scheduling and staffing in the form of objective functions with respect to project duration and developer skills and at the same time handling constraints concerning task dependencies and assignment conflicts. The approach was assessed using a set of scenarios of varying project size and complexity that depict possible real-world software project instances. The results obtained show that the proposed approach is capable of providing feasible project schedules and team assignments for software projects with differing sizes and complexities, whereas its ability to provide optimal solutions is limited by the complexity of software projects. Software project managers do not always have the same goals and criteria when planning for projects. Therefore, the approach described here, which is able to offer a balance between several objectives, can provide significant practical value to project managers in software development organizations.
Keywords: Multi-objective genetic algorithm; Project scheduling; Software project management; Team staffing