Using Analytic Hierarchy Process (AHP) Method to Raymond Ho-Leung TSOI Software Quality Institute Griffith University *Email:hltsoi@hotmail.com Abstract In general, software project development is often to work within the restrictions of resource limitations.when a software project is running late, the project manager is under pressure to assess the impact of delays on the overall project duration. Basing on the time-cost trade-off approach, the problem can be alleviated by the replacement/substitution of other suitable resources that are in greater supply. This paper introduces a human resource substitution method based on Analytic Hierarchy Process (AHP) which is a popular decision-making model for tackling multiplecriteria problems. The proposed method can be regarded as a factor weighting approach providing a formal weighting mechanism to achieve a higher level of consistency. It will help the project manager to achieve a better replacement of the human resource and increase the chance to get a successful result. Finally, the approach is illustrated by the use of an example. Keywords: Analytic Hierarchy Process (AHP), Software Project Management, Rescheduling 1 Introduction Software project development includes a number of activities that result in a delivered product (software). As software becomes more and more expensive to develop, the project managers need to pay more attention to control the progress. Unfortunately, late delivery of a software project is very common in the Information System (IS) community. Jenkins (1984) reported that the average effort and schedule overrun were 36% and 22% respectively. Researchers at the University of Arizona carried out a similar study. They found that the average cost overrun was 33% (Phan, 1988). People are intellectual beings, and we need them to design and develop software application for accomplishing the software project development. They are the basic driving force to get work done. Many research works have been carried out attempting to find
out the major keys to successful software project management. Donald Reifer (1993) classified these project managing keys into just three, namely Process, People and Product. These three factors all directly or indirectly related to People in completing the project, which indicates the importance of the People factor in software project development. When a software project is running late, corrective actions are necessary. The project managers are under pressure to assess the impact of delays on the overall project duration. Because "people" who work for the software project will generally represent the most variable and largest percentage of the total project costs, the effective use of the surplus resource (people) is essential. It allows enough flexibility for the project manager to recover the overruns at various stages of the project. Generally, the substitutability of one person by another can improve the usage, in terms of labour productivity, of this resource. The effectiveness of the use of "people" will allow more activities to start on time. Li (1991) claims that the substitution of alternative resources can make resource constrained project scheduling easier, particularly when the supply of a particular scarce resource is depleted. The problem is that project managers seldom have time to research on the method of substitution. Project managers may resolve the problem by sorting all human resources according to some preference. Actually, the priority of alternatives requires considerations of a number of criteria, such as experience, personal preference, technical requirements, and the like. Although the substitution process can make the rescheduling process easier, the very task of substituting people is difficult and complicated in practice. Firstly, people are much more individual in what they know and how they behave. Therefore, the replacement of one person by another can only be assessed on a case-by-case basis. Secondly, one person may be a substitute in one situation but not in another. For example, activity A requires a programmer X to develop a C++ program and activity B requires a programmer Y to do visual programming. Suppose programmer X has good knowledge and experience in both C++ and visual programming but programmer Y knows only visual programming. When programmer Y is not available, programmer X can be assigned to replace programmer Y but not vice versa. Thirdly, one-to-one interchanged in the substitution process. People is one of the most dominant resources for software project development but hard to manage and cannot be easily interchanged. In the substitution process, adding an extra team member may not result in a proportion of reducing the project completion time. Sometimes, if more staff are involved in an activity, the productivity may drop and further delay the schedule because of communication problems and other human related factors which may result in confusion and error. Like dousing a fire with gasoline, this makes matters worse, much worse (Brooks, 1975). So just one to one replacement can be considered in the substitution process. In summary, the proposed method is aimed to answer the below questions: What is the sequence of all alternatives in the substitution process? Which substitutes will have a higher preference? It ensures to speed up of the development of the resource constrained software projects but preserves the initial
activities schedule. It is admitted that human resource may be replaced by equipment but there may need a more complex arrangements and out of the scope of this paper. Finally, the method is illustrated by the use of an example. 2 Substitution Concept example, it is hard to say that all development team members resign from the activity. It may be the case that some of them resigned or are absent for some personal reasons. Thus replacement or substitution has to be considered, especially for the human resource issue. To demonstrate this idea, a simple example is shown below: Generally, it is seldom that all elements for one resource type are depleted. For Initial resources schedule: Resource Type A B C D E F G H I J K L M Requirements 1 6 2 1 0 0 0 0 0 0 1 14 0 Suppose Resource type A is now depleted, the project manager finds that resource E is in great supply and can be used as the preferred alternative. The amount of the replacement is two. Therefore, the requirements on the resource vectors for resource type E will be changed from zero to 1. The new resource schedule becomes (* marks changes): The final schedule after substitution: Resource Type A B C D E F G H I J K L M Requirements 0* 6 2 1 1* 0 0 0 0 0 1 14 0 3 The Analytic Hierarchy Process (AHP) The Analytic Hierarchy Process (AHP) was developed in the early 1970 s by Thomas Saaty to solve prioritization problems. Satty claims that the AHP serves as a framework for people to structure their own problems and provide judgments based on knowledge, reasons or feelings to derive a set of priorities considered as an optimal solution to a decision problem (Saaty, 1980; Saaty, 1994). Today the AHP has gained wide popularity and acceptance throughout the world. It has been considered that AHP is one of the powerful tools to help individual as well as group decision makers to convert linguistic assessment to quantitative scales. This can be used as a means of aiding multiobjective choice and is widely used in different types of problems, such as preparation the job schedule, prioritization auditing tasks, and the like.
Selection of an appropriate human resource substitution requires considerations of a number of criteria, such as type of the application, experience, technical requirements, time, etc. and is a relative matter. A Project manger need to choose the best one in a set of competing alternatives that are evaluated under conflicting criteria. In this paper, a human resource substitution method which is based on the Analytical Hierarchy Process (AHP) is proposed. Since the AHP is a multi-attribute approach to decision making, it helps the project managers to deal with the human resource substitution problem which involves a large number of alternatives and criteria. Moreover, it enables us to cope with the intuitive, the rational, and the irrational, all at the same time. It is commonly agreed that there are a great number of factors involved in the human resource substitution process. For this proposed method, the relationship among selection factors will be specified through weighting. Considering these factors, a project manager can determine whether or not the factors are included in the human resource under consideration. Though the accumulation of weighted scores, rank different kinds of human resources according to their relative suitability. In other words, the hierarchical structure of the new method allows project managers to compare different selection factors more efficiently, even when a large number of factors are involved. The outcome of this method is a best or optimum selection, considering all the necessary objectives, tangible and intangible criteria, and alternatives in a single interrated method. The proposed human resource prioritisation methodology includes six steps: Step 1: For the whole development life-cycle an individual phase, identifying a list of human resources substitution factors, which were considered for several past projects in the organisation, and all possible human resources for substitution for this situation; Step 2: Analysing the task requirements and each human resource s constraints; Step 3: Developing the hierarchy of criteria for prioritisations; Step 4: Establishing a priority model by identifying the relative importance of criteria through pairwise comparison; Step 5: Assessing the value of each criteria for each substitution and prioritisation factor; Step 6: Determining priority order while also considering other important factors. Obviously, the highest priority human resource is the best choice of substitution. The first two steps can be carried out by using personal judgment or other sophisticated methods. The discussion of the judgment remains an open issue, but further discussion is beyond the scope of this paper. This paper just focuses on the details of steps 3 through 6 which are related to how the AHP method is applied for human resource prioritisation and substitution. For demonstration purpose an example will be presented in the following section. 4 An Example To illustrate the algorithm and to avoid any ambiguity or abstruseness that may exist in the explanation, a small example of a human resources substitution process will be presented in this section.
Step 1: Identifying all possible human resources in the substitution process This is a preliminary identification process. To identify a list of human resources in the substitution process, a software project manager needs to first have variables whose measurements were taken for several similar past projects in the organisation. For demonstration purpose, suppose the project manager selects five possible human resources, namely programmer A, Programmer B, System Analyst C, System Analyst D, and Junior Programmer E, for the substitution of the programmer X. Step 2: Analysing the requirements of the human resources and the substitutions constraints A lot of points are found after analysis and, without going into detail, some of them are listed as below: Programmer X is good for OO Programming, Networking, Database system design and implementation The activity is mainly for doing the OO programming System Analyst D accepts to replace the Programmer X Step 3: Developing the hierarchy of criteria for prioritisations; During substitution process, there are a lot of factors that are important to project managers. Moreover, each human resource would be expected to have a different set of factors considered important. This step will include three major tasks: Identify overall objective or goal to the selection Identify appropriate criteria to satisfy a goal Identify, where appropriate, subcriteria under each criterion For demonstration purposes, a list of factors for the selection problem is listed as below.
Company Policy (COP) Staff s Preference (SP) Management Attitude (MA) Size of the Development Team (SDT) Client s Involvement (CI) Client s Preference (CP) Development Complexity (DC) Software Requirements (SR) Hardware Requirements (HR) Considers the current company policy. Measures the staff s preference in the development team and the substitutes. considers the management attitude to the replacement, such as the relationship, management preference, etc. Considers the number of people in the development team which the replacement process should be taken. Considers whether users are requested to be involved in the development. Considers the expectation and preference of the customer such as the relationship between the development person and the customer. Considers the complexity of the application, such as algorithm, technology, etc. This measure summarises the overall complexity describing the difficulties of the computer hardware and software designs as well as the data base organisation of the system. Considers the software technology which is required to support the development. Considers the hardware technology which is required to support the development. According to psychological theories, the human mind can most effectively handle 7 +/- 2 pieces of information at the same time and becomes inefficient as the number of information increases (Miller 1956). Thus project managers may experience difficulty in attempting to compare all the above factors at one time. To help software project manager to manage a greater number of factors at one time, AHP would enable the project manager to group the factors into different classes or categories, allowing for no more than seven factors to be considered at one time. Note that the hierarchy subdivides the level 2 into three main criteria, namely Client Attributes (CA), Application Attributes (AA) and Organization Attributes (OA). Additionally, these three criteria have been further subdivided at Level 3: Organization Attributes (OA) Company Policy (COP); Staff s Preference (SP); Management Attitude (MA); Size of the Development Team (SDT) Client Attributes (CA) Client s Involvement (CI); Client s Preference (CP) Application Attributes (AA) Development Complexity (DC); Software Requirements (SR); Hardware Requirements (HR)
Step 4: Establishing a priority model by identifying the relative importance of criteria through pairwise comparison The second step in establishing an AHP model is to identify the relative importance of criteria which can be assessed by using pairwise comparison. In order to determine the weight that an individual factor will contribute to the overall utility, a series of comparison need to be carried out. Normally the comparison process will be done from the top level of the hierarchy to the bottom level in order to establish the overall priority index. As the factors themselves do not have a numerical value upon which to establish their relationship, a mechanism which provides a means of comparison is included. In this judgment phase, the AHP requires the following scale of absolute values (see Figure 1) to express judgments in making paired comparison. Figure 1 an example of a scale for pairwise comparisons if A is extremely more important than B, then the rating of comparison is 9. where 2,4,6,8 are intermediate values, between the two adjacent judgments, which are used to facilitate compromise between slightly differing judgments. Moreover, an element is equally important when compared with itself. Details of the rating can be obtained from the book, namely The Analytic Hierarchy Process (Saaty, 1980). Utilizing the above scale, comparisons have been made with each factor against all other factors. For the above example, four pairwise comparisons are required at level 2 with OA being considered weakly more important than CA, AA and AA being moderately more important than CA. The results of pairwise comparison for the upper right triangle portion in Figure 1 are given below: AA CA OA PR- Eigenvector AA 1 2 4 0.571 CA 1 2 0.286 OA 1 0.143 The linear relationship between Human resource substitution factors Selection and the three factors at Level 2 resulted as below: The usage of the above scale is shown as below: Given elements A and B; if A and B are equally important, then the rating of comparison is 1. if A is weakly more important than B, then the rating of comparison is 3. if A is moderately more important than B, then the rating of comparison is 5. if A is strongly more important than B, then the rating of comparison is 7. Substitution Factors Selection Index (SFSI) = 0.571 AA + 0.286 CA + 0.143 OA The next process is to combine the various levels to compute the final weights of factors for calculating the SFSI. For this example, assume that the pairwise comparison of elements for Client Attributes (CA) were compared and resulted in Client s Involvement (CI) having a weight of 0.25, Client s Preference (CP) having a weight of 0.75. Since the CA factor has already been determined to have a weight of 0.286, thus
the final weight for CI and CP are 0.0715 and 0.2145 respectively. To repeat the comparison procedure for all the levels of the hierarchy, and the overall SFSI is described below: Substitution Factors Selection = 0.086 COP + 0.172 SP + 0.129 MA + 0.043 SDT Index (SFSI) + 0.2145 CP + 0.0715 CI + 0.1142 DC + 0.2284 SR + 0.2284 HR Step 5: Assessing the value of each criteria for each team building Factor After having the relative weighting of the various factors identified in the AHP, the next step is to obtain the measure of the relative performance of each available alternative. As mentioned in the previous section, there are SIX human resources, namely programmer A, Programmer B, System Analyst C, System Analyst D, and Junior Programmer E, as alternatives and their qualitative values have been identified in Table 1. The following qualitative scaling mechanism is used to convert the linguistic judgments to numbering base and the results are listed in table 2. High = 1 Moderate = 0.667 Low = 0.333 None = 0 Step 6: Determining priority order while also considering other important factors. Obviously, the first priority will be the best choice. Having established the qualitative numbering base, the next step is to use the previously identified MSI scaling function to calculate the resultant normalized values for the individual alternatives. The final results are shown in Table 3. Summing up the individual columns of the above table results in the overall Substitution Factors Selection Index (SFSI) for each alternatives as shown in Table 4. System Analyst D has the highest priority (SFSI = 0.886). In other words, system analyst D must be first considered as an alternative in the substitution process. The results of this example clearly illustrate the potential of this method for the prioritisation of alternatives in the human resource substitution process. Conclusion Software project development has a dynamic nature. Therefore, changes are bound to occur, especially regarding staffing problem. The main purpose of this paper introduces a method based on AHP to solve the problem of prioritisation of alternatives in the human resource substitution process. Table 4: The final results for all alternatives Programmer Programmer System Analyst System Analyst Junior Programmer A B C D E SFSI: 0.824 0.643 0.734 0.886 0.700
It provides a formal mechanism that can quantify the selection attributes and allows a software project manager to compare factors systematically. Moreover, the presented AHP method can easily be computerized and used as an on-going prioritization tool for software project management. In order to use this method successfully in practice, the following are important requirements: discussing with the alternatives and all team members before substitution process starts understanding the needs of the alternatives close working with team members and trying to solve the problems after the substitution process close monitoring of the development progress using different points of view to do evaluation at different development stages The proposed method and above requirements are beneficial in the human resource substitution process in general. They will help the project managers to make a better decision in the substitution process and improve the chance of working the project successfully. References F. P. Brooks Jr. (1975) The Mythical Manmonth. Reading, Massachusetts Addison -Wesley Publishing Company, Inc., Jenkins A.M., J.D. Naumann, and J.C., Wetherbe(1984) Empirical investigation of systems development practices and results. Information Management Li R. and R.J. Willis (1991) Alternative Resources in Project Scheduling. Computers Ops Res., Vol. 18, pp. 663-668 Miller G.A. (1956) The Magical Number Seven Plus or Minus Two: Some Limits on Our Capacity for Processing Information. Psychological Review Phan D., D. Vogel, and J. Nunamaker (1988) The search for perfect project management. Computerworld, Steptember. Reifer Donald (1993) The Three P: The Key to Success in Software Management. Software Management, 4 th Edit Saaty T.L. (1980) The Analytic Hierarchy Process. New York, McGraw Hill Saaty T.L. (1994) Fundamentals of Decision Making and Priority Theory with the Analytic Hierarchy Process. RWS Publications: Pittsburgh.
Table 1: The judgment between alternatives and criteria Using Analytic Hierarchy Process (AHP) Method to Programmer A Programmer B System Analyst C System Analyst D Junior Programmer E COP moderate low moderate moderate high SP low low low low low MA low low low low low SDT low high high high low CI moderate moderate moderate moderate moderate CP low low moderate moderate low DC moderate moderate high high moderate SR high moderate moderate moderate high HR high moderate low high low Table 2: The corresponding qualitative values Programmer A Programmer B System Analyst C System Analyst D Junior Programmer E COP 0.667 0.333 0.667 0.667 1 SP 0.333 0.333 0.333 0.333 0.333 MA 0.333 0.333 0.333 0.333 0.333 SDT 0.333 0.333 1 1 0.333 CI 0.667 0.667 0.667 0.667 0.667 CP 0.333 0.333 0.667 0.667 0.333 DC 0.667 0.667 1 1 0.667 SR 1 0.667 0.667 0.667 1 HR 1 0.667 0.333 1 0.333 Table 3: The results after applying to SFSI function Programmer A Programmer B System Analyst C System Analyst D Junior Programmer E COP 0.0574 0.0286 0.0574 0.0574 0.0860 SP 0.0573 0.0573 0.0573 0.0573 0.0573 A 0.0430 0.0430 0.0430 0.0430 0.0430 SDT 0.0143 0.0143 0.0430 0.0430 0.0143 CI 0.0477 0.0477 0.0477 0.0477 0.0477 CP 0.0714 0.0714 0.1431 0.1431 0.0714 DC 0.0762 0.0762 0.1142 0.1142 0.0762 SR 0.2284 0.1523 0.1523 0.1523 0.2284 HR 0.2284 0.1523 0.0761 0.2284 0.0761