A Decision Model for Human Resource Allocation in Project Management of Software Development

In project management, especially of software development, human resource allocation is critical not only for project success including timely delivery and products quality but also for cost estimation to a software company to decide to contract projects or not. Many approaches have been proposed to provide assistance for human resource allocation in view of minimizing project duration and project cost or maximizing revenue and efficiency. These approaches may sometimes not be comprehensive in real-world environments without addressing some key factors like transferring cost, communication, and negative efficiency, which usually have crucial impacts on assignment applicability. This article is proposing a framework for assisting a software company to evaluate existing resource for making decisions on whether the estimation of the tender is feasible, and assisting to make human resource allocation for team formation in fixed project duration with labor skill and budget constraint. Within consideration of both the cost and the efficiency, the performance is maximized to verges on the customers’ expectations in software development project management on the basis of a real case. Before forming a team for a specific project with well-defined periods and numbers of people with different project roles, the values of key factors in the framework are calculated with individual foundation of computation. We formulate the decision process in integer programming models, and a simulation study is conducted to demonstrate the applicability of the proposed model to assist the decision making process of software companies for team formation. The results of four variants for maximum skill efficiency or minimum hiring cost are illustrated with different considerations of both key factors are included or not proposed in this paper, and demonstrate that these factors could bring out different sources to help companies in making further evaluations for allocating staff in a software development project.


I. INTRODUCTION
The triangle constraints suggested in Project Management Body of Knowledge (PMBOK) include time, cost, and scope. These three factors are strongly connected to each other and are used to analyze the quality of work in a project [17], [33], [40]. In general, each triangle constraint must be considered for its balance in the estimate before contracting software development projects [34], [37], [42]. Human resource allocation is a critical social problem not only for project success including delivery on time and products quality but also for cost estimation to a software company to decide to contract projects or not because projects are typically very labor inten-The associate editor coordinating the review of this manuscript and approving it for publication was Resul Das . sive [8], and it is not uncommon for labor costs on a project to account for 30-50% of the total project costs [51]. In the life cycle of a project, the team is defined and formed in the initiation phase, for the purpose of reducing labor costs, additionally, increasing productivity, quality, and continuity of work [33], [45], and meeting the different and various skill requirements in each phase of project from kicking off to on production preparation, multiskilling is indicated to be a workforce strategy, the workers who can vary according to each project are assigned to be the individuals who actively work on one or more phases according to their knowledge, capabilities, and experience by the foreman [28], and is commonly implemented in software development projects duration which is executed by regular workers in a software company.
In contemporary software development, assigning the appropriate roles to software practitioners is critical and has become a central issue for improving the quality of software processes. The generalized assignment problem (GAP) comprised of project scheduling, resource allocation, and job assignment [14], [53] is essential because the regular workers must be allocated efficiently and effectively to phases in software development process model in order to accomplish a software development project on time and fulfill customers' requirements subject to limited budget and finite human resources. For project management, a software project manager is required to allocate and schedule one or more developers to each task, whereas in other cases, tasks are distributed to already predefined teams of developers. There have been many approaches proposed to help human resource scheduling and allocation with the model based on triangle constraints, for example, with consideration of minimizing project duration, minimizing project cost, maximizing revenue or maximizing efficiency [23]. However, the triangle is not always sufficient in real-world environment to a project success because some crucial dimensions of success including impact on the project team members, such as their satisfaction with the positions in projects, communication, and collaboration ability with others are omitted [22]. Therefore, the team formation problem which is started in the human resource management domain is extensively studied in many fields, such as operations research, some factors were considered in previous research about social networkbased team formation, for example, communication cost [38], [52], team leader [35], online multiple tasks [2], number of skilled experts, capacity on experts [7], and personal cost [36]. In real cases, more than one expert with some skills is demanded for a specific task when composing a team with the consideration of not only skill requirement, but also the negative propagation effects to the efficiency of next tasks in a project; hence, managers have to pay more attention to how to work as a collective unit while analyzing the collaboration and communication ability that will directly influence the collaborative work performance of the team members [22], [48].
For most cases in project management, personnel and task assignment is a practical issue highly related to project duration, cost, scope also meaning customers' expectation, the success of a project, and even the competitiveness of a software company. Subject to the limitation of budget and requirements of various roles in the software development process models of a project, assigning regular workers to roles according to their capabilities and the capabilities demanded by the role to maximize the performance to verge on customers' expectation is one of the most challenging issues. In reality, it is however difficult to achieve optimality in human resource allocation, not only because the variable efficiency and quality of the same staff assigned to different skills or period, but also the key factors in software development projects and ignored in most of the researches of human resource allocation and team formation, such as communication efficiency, transferring time, and negative efficiency which occurs when someone is assigned to a skill not fully applicably.
The objective of this paper is to propose a combinatorial optimization framework with human resource allocation and team formation which assists the company to make decisions whether the estimation of the tender is feasible based on existing resources, and in assignment with resource constraints and duration, or to improve efficiency and effectiveness in the development period by forming a project team with this model.
The rest of this paper is organized as follows: Section II reviews the literature of human resource allocation, team formation, and communication efficiency; Section III illustrates the proposed model and formulations. The computational experiments based on a real case are described in Section IV, and the calculated results are analyzed and discussed in Section V. Conclusions and suggestions for future research are given in Section VI.

A. HUMAN RESOURCE ALLOCATION AND TEAM FORMATION
Human resource allocation problem is a central issue in economic activities. To get the right people to do the right job at the right time can be detrimental to the success of a software project [23]. For project management, in some cases, a software project manager is required to allocate and schedule one or more developers to each task, whereas in other cases, tasks are distributed to already predefined teams of developers. There have been many approaches proposed to help human resource scheduling and allocation with different objectives consideration, such as minimizing project duration, minimizing project cost, maximizing revenue, minimizing risk of delay, or maximizing efficiency demonstrated with different techniques including linear programming, probabilistic modeling, queuing theory, constraint satisfaction, or evolutionary algorithms [23].
Team formation was started in the human resource management domain initially, and becomes important in social network. The team formation problem is first considered in the presence of a social network of individuals and has known to be computationally intractable by [52], who attempted to exploit the collaboration social network with the communication costs between the members to organize a team for a given task [20]. Team formation is ubiquitous in practice, for example, product development teams formed from marketing, engineering, and finance skills, and software development team formed from programmers and software engineers with needed programming and systems skills. It is also extensively studied in many fields, such as operations research, some factors were considered in previous research about social network-based team formation, for example, communication cost, team leader, online multiple tasks, number of skilled experts, capacity on experts, and personal cost [2], [7], [35], [36], [38], [52]. The generally used methods to form a team are random assignment, self-selection and facilitator assignment. Sorkhi et al. [38] compose teams of experts who have diverse levels of skillfulness by minimizing the communication cost. In the model of [26], the team formation problem is formulated as an integer programming problem aimed at finding an optimal match between individuals and requirements. Majumder et al. [7] impose the capacity constraints which ensure that no experts are assigned tasks beyond the capacity values in the team formation problem. Li et al. [13] proposed methods to condense experts in the collaborative social network to a group graph structure based on the required skills that been satisfied with specified numbers by connecting experts based on the group roles of individuals.
As this review has shown, many studies are proposed with numerous ways to provide assistants for minimizing project duration, minimizing project cost, maximizing revenue, or maximizing efficiency in the literature to deal with human resource allocation and team formation problems: Barreto et al. [3] propose genetic algorithm approaches for resource allocation of a software project including project activities and human resources available, but the task scheduling was not considered; Chang et al. [11] investigate a scheduling model using genetic algorithm to be a viable tool to help guide project manager in daily routines, but continuity of allocation is not included; Chang et al. [10] design a methodology called software project management net to develop and estimate the schedules and budgets using task precedence graph which will be executed infinitely unless the manager specifies a certain number of iterations; Kang et al. [18] develop an approach for constraint-based allocation to optimize human resource allocation scheduling with accelerated simulated annealing, but becomes difficult to be implemented because of the increase of constraints.
In addition, the proposed researches are not always clear in real-world environment without consideration of some key factors which have impact on assignment applicability. In real cases, for example, more than one expert with some skills is demanded for a specific task when composing a team with the consideration of not only skill requirement, but also the negative propagation effects, which are ignored in most of the researches of team formation, to the efficiency of next tasks in a project.

B. COMMUNICATION EFFICIENCY
Communication is an essential tool in the field of project management, and the success of a project largely depends on the efficiency of its communication network, it is gaining importance every day and is the center of all management processes soon [49]. The project communication efficiency is influenced by such as project structure, communication media, communication frequency, circumstance, and relationship between project stakeholders [55], and directly influencing the cost and schedule in the project life cycle, which is illustrated as Figure 1 [49]. The processes of project communication are explained to include to identify stakeholders, to plan communications, to distribute information, to manage stakeholders' expectations, and to report performance in PMBOK, which is widely approved and accepted in many countries [44], and was also found to be characterized by how well information circulated among the project managers, between the coordinator and the stakeholders, as well as among the members of the project team [4]. There were a wide spectrum of researches that define and improve communication efficiency, for example, but not limited to the effective project communicator definition [43], and the enhancement of the project communication efficiency [15]. Due to the constraints in the real-life situations, such as project duration and human resources and cost, the impacts on communication efficiency of individual member with different skills will be considered to be the variables for the estimation of the project performance in this research instead.
From the literature reviewed, the methodology for human resource allocation and team formation is proposed with cost and time constraints basically. In order to be made closer to the real cases, negative efficiency and communication efficiency are extensively involved in this paper. Comparison on constraints and considerations between this paper and related researchers which have same objectives is summarized in Table 1.

III. METHODOLOGY
This section proposes a model that assists to allocate human resource in a software development project based on integer programming, furthermore takes consideration of both cost and efficiency of human resource allocation for team formation in the software development project management based in a real case to maximize the performance to verge on customers' expectation that assists company to make decisions of whether the estimation of the tender is feasible based on existing resources, and in assignment in fixed project duration with labor skill and budget constraint.
Suppose a software company has m staff members and develops single project which is to be exercised during the time span [0, T ] and needs n skills to accomplish the project. Let M = {1, 2, . . . , m} be a set of staff members and S = {1, 2, . . . , n} be a skill set containing n skills. For skill s ∈ S, define I (s) = {I 1 (s), I 2 (s), . . . , I λ s (s)} as the set of disjoint intervals in which skill s is required, where λ s is the number of intervals in which skill s is demanded. Define f (s,λ), λ = 1, 2, . . . , λ s , as the number of staff members with skill s as demanded in interval I j (s) from start time a(I j (s)) to finish time b(I j (s)). More than one staff member could hold any kind of skills and a staff member could be associated with several skills with heterogeneous skill efficiencies. In the same interval, each staff member could be assigned to at most one skill. We denote by S k the set of skills of staff member k, k ∈ M . Let e ks denote the efficiency value of skill s of staff member k, and e c k the communication efficiency of staff member k which is related to the overall project efficiency. The labor cost is the major cost incurred in the management of a software development project that is strictly regulated by contracts. It is composed of (1) c h k , the hiring cost, which directly indicates the salary of each staff member, k, and (2) c t ks , transferring cost, which occurs when a staff member's skill focus is assigned from an original skill to another one.
Assume that project effectiveness is calculated by summarizing the efficiency of all skills s over all staff members with the aim of maximizing the total value, and the consecutive skill efficiency would be disturbed when staff member who does not have maximizing efficiency of skill s is located in the previous skill assignment. In addition, the communication efficiency that could fill some vacancies left by the inadequate skill efficiency of individual staff members and the negative efficiency that occur in the next phase when an inappropriate staff member is assigned are considered. The notations that are used throughout the paper are listed in the following.  Following the problem statements, we describe the problem in a mixed integer programming model. Suppose x kλ = 1 is the value when staff member k is assigned to interval I λ , otherwise x kλ = 0, for 1≤ k ≤ m, 1≤ λ ≤ l; y ksλ = 1 is the value when staff member k is assigned with skill s in interval I λ , otherwise y ksλ = 0, for 1≤ k ≤ m,1≤ s ≤ n, 1≤ λ ≤ λ s ; z ksλ = 1 is the value when staff member k is assigned with skill s in interval I λ−1 and assigned in interval I λ with different skills s − , otherwise, z ksλ = 0 for 1≤ k ≤ m, 1≤ s ≤ n, 2≤ λ ≤ λ s . Constraints (1) define the objective function to maximize project efficiency, which is summarized with the communication efficiency, skill efficiency, and negative efficiency of individual staff when assigned to different durations. To ensure the efficiency of the project, the tolerance efficiency is given as in constraints (2). In constraints (3), the cost that includes the salary of staff members and the additional cost incurred due to skills (roles) transfer within the project duration is upper bounded by the limited budget.

IV. COMPUTATIONAL EXPERIMENTS
To realize the proposed model, we conduct a case study at Company C, which was founded in 1996 with capital over seven hundred billion New Taiwan Dollars (US$ twenty-two billion dollars). Company C, which is listed on Taiwan's stock exchange and on the over-the-counter market, is the most representative company in terms of information and communication technology in Taiwan. For enterprise expansion and business transformation, software projects implement related to information and communication technology is one of business strategies.
A bid of government project of information systems development from 2014 September 1 st , 2014 to November 30 th , 2015 had been won, and the cost of development is TWD 6,000,000 (US$ One hundred ninety thousand dollars) after deduction. The major deliverables and time phases of individual duration are summarized as Table 2, and the requirements of skills, staff numbers defined in the contract, and the tolerance efficiency calculated with internal estimation are listed in Table 3.
According to the hiring salary data published on the website of government and recruitment orientation of Company C, hiring cost is listed. The value of transferring cost (TC), skill efficiency (SE), communication efficiency (CE), and negative value of efficiency (NE) are assumed based on the average grades calculated with weighting function of performance evaluation and indicated as Table 4 and Table 5. The transferring cost and negative efficiency are calculated with weights of salary, days of delay, and additional human  resources of the next interval from the performance management model in Company C.
Because the model is constructed according to a real case in Company C, four variants are formulated to demonstrate the applicability of the proposed framework. In the simulation implemented with Gurobi, first, the cost constraints VOLUME 8, 2020  are taken off and staff is allocated with maximum efficiency, and second, the model proposed in this paper is formulated. To verify the influences from communication and negative efficiency, the third variant is formulated without cost constraints or consideration of communication and negative efficiency. The model for minimizing cost is implemented in the fourth variant.
After the simulation models are implemented, the results of the bid of government project of information systems development are illustrated and discussed in Section V.

V. RESULTS ANALYSIS AND DISCUSSION
To realize the feasibility and applicability of the proposed framework, we calculate the efficiency value and cost of our approach and those that only consider skill efficiency and hiring cost into four experiment results for illustrations and discussion as in the following: A. EXPERIMENT 1: MAXIMIZE EFFICIENCY WITHOUT BUDGET CONSTRAINT 1) Budget constraint is not considered. 2) Each staff member with maximum efficiency including skill, communication, and negative efficiency on skill s has first priority in allocation.   Table 6 summarizes the results of efficiency-oriented allocation, without considering cost constraints. The efficiency value is 3430.5, and the cost is 6,594,063 (TWD), which is over project budget.
B. EXPERIMENT 2: MAXIMIZE EFFICIENCY WITH BUDGET CONSTRAINT 1) Budget constraint is considered. 2) Efficiency including skill, communication and negative efficiency of each staff member is considered. Table 7 illustrates the result of allocation based on proposed model of this paper. We make decisions with efficiency-oriented, cost constraint. The efficiency value is 3013.5, and the cost is 599,8335 (TWD), which is under project budget.

C. EXPERIMENT 3: MAXIMIZE EFFICIENCY WITHOUT BUDGET CONSTRAINT
1) Budget constraint is not considered. 2) Each staff member with maximum skill efficiency skill s has first priority in allocation.   3) Communication and negative efficiency is not considered. Table 8 illustrates the result of allocation of efficiencyoriented allocation, but the communication and negative efficiency, influential in real cases when implements software development projects, is not considered. The efficiency value is calculated as 2735, and the cost is 6656943 (TWD), which is over project budget.

D. EXPERIMENT 4: MINIMIZE COST
1) Budget constraint is not considered.
2) Each staff member with minimum cost has first priority in allocation.
From another perspective, we get the allocation base on proposed subjection in this paper but minimization cost oriented instead. 5,843,165 (TWD) is under the budget constraints, but has the lowest efficiency value with 2500. The result of allocation is illustrated in Table 9.
According to the computational experiments, the results of the four variants are described in Table 10 and provided to Company C to make decisions on human resource allocation in a software development project from different perspectives. For maximum efficiency without budget constraints in Experiments 1 and 3, staff members with maximum skill efficiency have first priority; however, the quality of a project is very crucial to the goodwill of a company. Therefore, Experiment 2, which was calculated on the basis of the model proposed in this paper, might be more applicable in the case of Company C.

VI. CONCLUSION
Generally, human resource allocation in software development project is difficult to describe. The communication efficiency, transfer cost, and negative efficiency which impact the estimation and quality of software development projects are not addressed in most of the researches of human resource allocation and team formation. In this paper, more perspectives are considered for assisting company to make decisions on human resource allocation and project evaluation with cost, project duration, and efficiency constraints. This paper is based on a real case concept, including not only the basic consideration of staff numbers and salary but also adding more key factors. The results demonstrate that these factors could bring out different sources to help companies in making further evaluations for allocating staff in a software development project. To demonstrate the applicability of the proposed framework, four variants were discussed. Developing a project with cost constraints is the basic principle in the evaluation of a company. The key factors including communication and negative efficiency are relevant to maximizing project efficiency, which is related to project success and quality. Among the various issues for further research, it may be interesting to determine whether there are other decisions, objectives, or constraints that are worth considering for human resource allocation, team formation, or human resource training in software development projects. Also, staff type, regular assignment of employees, overtime work hours, maintenance after project settlement, and multiproject scenarios are additional topics for consideration.
HUI YI CHIANG was born in Taichung, Taiwan, in 1984. She received the M.S. degree in information management from National Chi Nan University, Taiwan. She is currently pursuing the Ph.D. degree in information management with National Chiao Tung University, Taiwan. Since 2010, she has been with Chunghwa Telecom, which is the largest telecommunication company in Taiwan, and has implemented several information systems development for business process and involved many software development projects with responsibility for project management, user requirement analysis, system analysis, and system design. She enjoys various experiences in life including working, researching, or music. She made a music album of her own compositions, in 2018, and received the Best Taiwanese Female Singer Award in the 30th Golden Music Award, which is the highest music award of Taiwan.
BERTRAND M. T. LIN received the B.S. degree in information science (equivalently, computer science), the M.S. degree in computer and information science, and the Ph.D. degree in computer science and information engineering from National Chiao Tung University, Taiwan. He was a Professor (and the Head) of the Department of Information Management and the Director of the Center of Industrial Service and Extension Education, National Chi Nan University, Taiwan. He is currently a Professor with the Institute of Information Management, National Chiao Tung University, Taiwan. He has published over 90 articles in such professional journals as Management Science, Naval Research Logistics, SIAM Journal on Optimization, and among others. His research interest is mainly in scheduling theory and discrete optimization. Dr. Lin is also an Associate Editor of the Journal of Scheduling, the Journal of Industrial and Management Optimization, and the Asia Pacific Journal of Operational Research, and also serves on the editorial boards of such professional journals as the International Journal of Production Economics and the Journal of Applied and Industrial Mathematic. VOLUME 8, 2020