Chapter 2 Literature Review
2.3 Comparative Studies in Optimization Approaches for SSSP Problem
benchmarking and evaluation to SSSP approaches.
2.3 Comparative Studies in Optimization Approaches for SSSP Problem
This section reviews the current state of the art in the literature regarding studies that compare and evaluate optimization approaches for software project management problems. So far, only two studies have been published that compare and evaluate the optimization approaches of SSSP problem. The first study presented in [24] evaluates the proposed optimization approaches with the possibility of adoption within the software industry. The second study presented in [5]
researches the optimization approaches to address future trends and promising areas of human resource allocation optimization. The observations and findings from these studies highlight categories of optimization approaches, the important attributes that these approaches adopt, and the approaches that are most useful in an industrial settings. Overall, each has placed an emphasis on possible future trends.
This section addresses the criteria used by both [5, 24] in Subsection 2.3.1, the observation and findings in these studies in Subsection 2.3.2, and summaries their findings in Subsection 2.6.
2.3.1 Criteria
By running an evaluation on fifty-two research papers, the study presented in [24] compares the SSSP approaches presented in these papers according to three criteria. These criteria are usefulness, work compatibility, and ease of use. Usefulness in this study is defined as the benefits that software firms might gain by adopting the solution proposed by an approach. Work compatibility is defined by the study as the fitness of proposed solution within the work
environment of software firms. Ease of use moreover, is defined by the study as how easily the approach can be adopted. In addition, the work presented in [24] discusses the aspects of problem concepts, development, and validation presented by the research papers included in their study.
Problem concepts represent the optimization problem addressed by the approach. Development is the ability of the approach to integrate with a project management tool. Validation on the other hand, is the techniques used to validate each optimization approach.
The aim of the study presented in [24] is to identify aspects related to the difficulties in adopting the research papers’ proposed solution by software organization. They have accordingly performed a systematic literature review to cover the concepts used within the research papers by extracting the texts that describes the problem model of the papers and categorising them. This has therefore enabled them to identify the relationships between their proposed criteria and the aspects discussed within the papers themselves. They have found that work compatibility criteria is connected with the presence of problem concepts, development, and the involvement of stakeholders in the validation process of an approach. Also, they found that usefulness can be identified by the involvement of stakeholders in the validation process of the approach. Ease of use was found to be related to the development aspect. Based on that, observations were made regarding how each optimization approach under their study is related to and apply the attributes of usefulness, work compatibility, and ease of use. Their observations and findings can be found in the next Subsection 2.3.2.
The study presented in [5] covers the research papers published between 1993 and 2013 that can potentially be considered as a Search-Based Software Project Management (SBSPM) approach.
Their study aims to identify the categories and the effectiveness of the SSSP optimization approaches as well as to provide directions for future research. In [5], several project management aspects are identified to categorize the approaches that solve SE problems including SSSP. They have linked each SSSP approach under their study to a management aspect based on the text extracted from the formalized problem addressed by each. The findings of their study are discussed in the following Subsection 2.3.2.
2.3.2 Observation and findings
2.3.2.1 Categories of SSSP Optimization Approaches
The main categories of the optimized SSSP approaches can be illustrated from the study presented in [5]. This study has defined two categories of software project management optimization that any optimized SSSP approach can falls within, which are effort estimation, and scheduling and
staffing software projects, depicted in Figure 7. From the figure, it can be seen that 55 papers have discussed in general the optimization of software project management problems. In addition, Figure 7 shows that approaches that optimize scheduling and staffing software projects until 2013 are only about 28, and also effort estimation is in equal interest with the same number of published papers.
Figure 7: Date and Number of Optimization Approaches illustrated from [5]
However, the approaches used by [5] are categorized into four groups. These categories are minimization of project completion time, risk based approaches, overtime planning approaches, and software development effort estimation approaches. Overall, the study presented in [5] is clearly focused on overviewing the area and provide a taxonomy for the Search-Based Software Project Management SBSPM, and concluding the approaches proposed to solve the software engineering problems within the Search-Based Software Engineering SBSE term.
2.3.2.2 Attributes of the human resource allocation optimization approaches
The study presented in [24] provides a bird’s eye view of the software project aspects that the SSSP approaches are taking into account. The main aspects according to [24] are project, artifact, task, resource, team, and skill. These main aspects are illustrated by [24] and presented in Figure 8.
From Figure 8, it can be seen that availability, dedication, and salary are the main attributes illustrated within the resource aspect. In addition, the main attributes of project tasks aspect are the estimated effort, precedence relation to another task(s), and duration. From their representation, it is clear how teams are connected to resources, and skills are represented as a
connection between the task and resource aspects. The representation of HRA problem by [24] in Figure 8 shows that the objectives defined by the SSSP approaches are project duration and cost.
Limited optimization approaches address skills and competencies of human resources [5, 24].
Artifacts such as dependencies and variability of size of project tasks are also addressed by limited approaches [24]. Also, limited approaches concentrate their allocation to teams and only 13 approaches perform their allocation to teams [24]. According to [24], there is still a room for improvement to bring the approaches closer to the industrial environment regarding the attributes and factors that are related to technologies, humans, the development process, and organization aspects too.
Figure 8: Human resource allocation problem illustrated from [24]
2.3.2.3 Optimization Techniques and Validation Methods
Both studies in [5, 24] have stated that so far the most adopted optimization technique is the Genetic Algorithm (GA) with 80% usage amongst their study subjects. Moreover, only eleven approaches use metaheuristics techniques such as Particle swarm, Ant Colony, and simulated annealing [24]. The objectives in most optimized solutions (approaches) were found to be concentrated on project completion time and project cost [24]. Moreover, approaches studied that belong to minimizing software project completion time found that most combine other objectives such as cost and quality or even multi-objective optimization [5]. In addition, few of these approaches used an empirical study to evaluate their approaches or real software project data [24].
Approaches that have used Quasi-experiment, using the opinions of the targeted population (PMs) typically used small sample size of data, and had a restricted participation of the main stakeholders that do not reflect a real software project environment [24].
2.3.2.4 Nominated Optimization Approaches for industrial adoption
The study presented in [24] claims that the approach presented in [28] is the only approach that has a proper structure to cover the attributes, and overcome the issue related to industry problems. In addition, they claim that the approach presented in [16] is the only one that can overcome the development issue by having the ability to integrate with a management tool.
Moreover, they claim that the approach in [16] is the only approach that has been validated by a quasi-experiment in a proper manner. Overall, there are limited number of approaches that have been addressed by both studies, which are [14, 20-22, 28, 94].
2.3.2.5 Possible future trends and research directions
Based on the observations stated in [24], there is a need for more research on the attributes that bring solutions closer to software industry environments as most of the optimized approaches represent the problem concept by a limited number of attributes. In addition, most of the approaches that were subject of [24] study have inadequate development in GUIs, and they fail to address integration with other project management tools. In addition, empirical evidence must be gathered and evaluation has to be done to validate the optimized approaches. Accordingly, the study in [24] observed that a lack of evidences about usefulness of the approaches is exists, and the SSSP problem addressed by the approaches have to address the real industry environment.
The study presented in [5] concludes that far more research is required to address the allocation of resources in software projects. According to them, promising areas using optimization techniques to solve the problem of staffing and scheduling software projects include:
1) Interactive optimization: This kind of optimization explores computationally the expertise of project managers by which how they perform different management objectives.
2) Dynamic Adaptive Optimization: this kind of optimization helps the decision makers to interact continually and dynamically in real time to explore the implications of their decision.
3) Multi-Objective Optimization: this kind of optimization focuses on decision support in complex multi-objective problem spaces to include and combine several objectives together.
4) Co-Evolution: this kind of research is concerned with modelling the fitness between two populations of the solutions obtained by the optimization. Here, they suggest that increasing in one population should affect the others by reducing their fitness. This kind of optimization accordingly could lead to better and faster solutions, which requires more attention by researchers.
5) Software Project Benchmarking: the most challenging problem in the human resource allocation optimization is the lack of real world project data. Accordingly, having a real dataset to benchmark the optimization approaches has emerged as an important aspect to this field.
6) Confident Estimates: estimation in management processes is considered as the most difficult aspect. Noisy and uncertain inputs are the basis of this problem. Accordingly, introducing levels of uncertainty within the estimation process and measure their effects can be a promising area for further investigation.
7) Decision Support Tools: so far, the optimization approaches are all under research. A promising area and trend in human resource allocation optimization is to develop these approaches as decision support tools and make them available to transfer the most successful methods into practice.