Suitability Assessment of Software Developers: A ... - ACM Digital Library

3 downloads 13388 Views 265KB Size Report
May 3, 2000 - intelligence are essential abilities for a software developer. A good software cannot take form from concept to reality in case a software ...
ACM SIGSOFT

Software Engineering Notes vol 25 no 3

May 2000 Page 30

Suitability Assessment of Software Developers: A fuzzy Approach Anu Singh Lather Department of Applied Psychology, G. J. University, Hisar (Haryana)

Shakti Kumar Jind Institute of Engineering and Technology, Jind (Haryana) INDIA Email:[email protected]

[email protected] Abstract: The right selection of software personnels helps keep project cost low, deliver better quality software and avoids the schedule slippage of a software project. We have identified the 3 most essential abilities/aptitudes which can decide comparative merit of the software developers. These are Verbal Reasoning (VR), Numerical Ability (NA) and Abstract Reasoning (AR). As a fuzzy model is a best choice for managing ambiguous, doubtful, contradicting and diverging opinions we propose a three input and single output fuzzy model to unify the crisp output of the 3 tests (i.e., VR, NA, AR). The output of the proposed fuzzy model a single numerical value that decides the merit of a developer based on the scores he obtains in VR, NA and AR.

Y0gesh Singh School of Information Technology, GGS I n d r a p r a s t h U n i v e r s i t y , Delhi, INDIA Email:[email protected]

NA, average AR and very good VR. Other software develope: may have average NA, good AR, and very good VR. Now pertinent question is who is better of the two? There could I~ innumerable combinations and situations which are to I~ considered in real life. It is not an easy task to find out th~ suitability of a software developer due to high level of uncertaintl in the measurement of these abilities involved. The present paper proposes a fuzzy based model which takes int~ account the uncertainty inherent in such situations. The proposeq model integrates the numerical results with the experience experts and in order to improve the efficiency of the softwar development process it provides guidelines for software manager and project leaders, to evaluate suitability of a soflwar developer.

INTRODUCTION FUZZY MODEL It is an established fact that fuzzy model is a best choice fc managing ambiguous, doubtful, contradicting and divergin opinions. It is all the way a better choice when the complexity an nonlinearities are very high. It is in this context we present here fuzzy based approach that provides an integrated quantitativ measure of the abilities of software development personnels whic incorporates all the aspects of AR, VR and NA. This model wi: help select organizations best of the choices available to them thu One of the most widely used multiple aptitude batteries is the an increase in efficiency will be affected; the prime concern. differential aptitude tests (DAT) first published in 1947 [2], the DAT has been revised by Bennett, Seashore and Wesman, 1982 [3], 1984 [4]. The DAT yields the following eight scores these are, Verbal reasoning(VR), Numerical ability (NA), Abstract NA ~ WZZUlnCA~ON ~ DEWZZlVWCA~ON ~..)RKrtNG reasoning (AR), Clerical Speed and accuracy (CS & A),M VRAR .~J MODULE MODULE iouwuT echanical Reasoning (MR), Space Relations (SR), Spelling (S), Language Usage (LU). With the exception of clerical speed and INPUTS FIG. I accuracy, all DAT tests are essentially power tests. DAT provides a ninth score (UR+NA) that is a measure of general scholastic aptitude on intelligence. A fuzzy model can be represented with the help of block diagral as shown above in figure 1 [5-9]. There are four major mcdules DAT tests are designed to appraise fundamental intellectual the system. The fuzzification module transforms the crisp input(: abilities. Although each of the tests is intended to make a unique into fuzzy values. These values are then processed in fuz~ contribution to the understanding of the individuaI, combination domain by inference engine based on the knowledge base ( ru of subgroups of two or more scores are also considered as tap on base or production rules)supplied by the domain expert(s different abilities. Finally the processed output is transformed from fuzzy domain crisp domain by defuzzification module. VR, NA, and AR in combination make up for the general intelligence are essential abilities for a software developer. A WORKING OF A FUZZY MODEL: good software cannot take form from concept to reality in case a A fuzzy model performs its computing in the following: 5 stel software developer lacks these three abilities. Hence, these three [10]: abilities are important but the emphasis on each of them is STEP l.Fuzzification of the inputs: relative and not absolute. A software developer may have good Fuzzification is the process of transformation of crisp values

The effectiveness of a software programme and the success of the program depends upon the software developer. So it becomes almost imperative to evaluate the psychological factors relevant for assessment of abilities of potential trainees, or the assignment of present employers to newly established software projects within an organization. This requires the development of computer aptitude [ 1] test batteries or profiles.

ACM SIGSOFT

Software Engineering Notes vol 25 no 3

May 2000 Page 31

the corresponding values in fuzzy domain (fuzzy values). In this For the inference engine to deduce the results 64 rules were step fuzzifier takes the inputs and determines the degree to which framed: 1. 1F ( NA is VG) And ( AR is VG ) And ( VR is VG) they belong to each of the appropriate fuzzy sets via membership Then ( RAT is VH) functions. The input(s) is always a crisp numerical value. 2. 1F ( NA is VG) And ( AR is VG) And ( VR is G) Then ( RAT is VII) STEP 2.Apply fuzzy operators Usually the antecedent of a given rule has more than one part, IF ( N A i s P ) And ( A R i s P ) And ( V R i s P ) hence, the fuzzy operators are applied to obtain one number that 64. Then ( RAT is L) represents the result of the antecedent for that rule. This number will then be applied to the output function. The input to a fuzzy The model was simulated using Fuzzy Logic Tool Box of operator is two or more membership values from fuzzified input MATLAB. and the results are given in figure 3. variables. The output is single truth value. Two commonly used fuzzy operators are MIN and MAX operators. We have used MIN operator in this paper STEP 3.Apply implication methods The shaping of the consequent based on the antecedent is termed as implication. The input for the implication process is a single number given by the antecedent, and the output is a fuzzy set (i.e., output of a fuzzy operator). Implication is applied for each rule. Two commonly used implication methods for AND arc rain (i.e., truncation) and product (i.e., scaling the height of the fuzzy set), Two commonly used implication methods for OR are, MAX (maximum) and probabilistic OR (algebraic sum). If we consider output as computed in step 2 i.e., rain(0.8, 0.65, 0.7) then we find FIG. 3 that Rating state HIGH will be truncated to 0.65. CONCLUSIONS STEP 4.Aggregate all outputs This paper proposes a fuzzy approach for the overall merit Aggregation is process by which several fuzzy sets are combined preparations based on the 3 very important aptitudes / abilities in desirable way to produce a single fuzzy set. Aggregation is necessary for software developers. These aptitudes are AR, VR obtained by combining all the fuzzy sets that represent the output and NA. These refer to different abilities of a person. The of each rule into a single fuzzy set. Aggregation only occurs once proposed model integrates the numerical results with the for each output variable. For our model the input of the experience of experts and in order to improve the efficiency of the aggregation process is the list of truncated output functions software development process it provides guidelines for software returned by the implication process for each rule. The output of managers and project leaders, to evaluate suitability of a software the aggregation process is one fuzzy set for each output variable. developer. STEP 5.Defuzzify Defuzzification transforms the fuzzy values to crisp values. The References input for the defuzzification process is a fuzzy set and the output 1. Bingam, " In an Integral Battery of Guidance of Tens. Differential Aptitude Tests (4th Edition) Manual, Bannet, Seashore and Wesman. Psychological is a single crisp number.The process of defuzzification in fuzzy Corporation, NY, 1966. systems is not a standard one. 2. Bannett, GKD Seashore, ttG, "Testing for Vocational Guidance in High School, Exploiting Individual Differences":A report of the 1947 invitational conference Variables and Their States for the Model on Testing Problems. Washington DC., American Council on Education, 1948, For our model we chose the 4 states (linguistic variables) for base pp. 71-79. variables NA, VR and AR. These states are P (poor), A (average), 3. Bannett, GKD Seashore, HG and Wesman, AG, "Differential Aptitude Ten (Fourth Edition)" Manual Forms L&M. Psychological Corporation, NY, 1982. G(good), and VG(very__good). The output fuzzy variable further has four states. These are L (low), A (average), H(high) and VH 4. Bannett, GKD Seashore, HG and Wesman, AG, "Differential Aptitude Tests (Fourth edition)" Manual Forms L&M. Psychological Corporation. NY, 1984. (very high). The output variable RAT too has similar four states 5. CC Lee, "Fuzzy Logic in Control Systems: Fuzzy Logic Controllers - Part l", IEEE on Systems, Man and Cybernetics, Vol 20, No. 2, Mar/April, 1990, pp i.e., L (Low), A (Average), H (High) and VH (Very High). Membership

I p

0so

function

I ~

~ I

I /~

/

~

I /~

/

I

I

FIG 2

/ / ~

~

20 40 60 input variable - NA, AR. VR

Rule Base

404-417. CC Lee, "Fuzzy Logic in Control Systems: Fuzzy Logic Controllers - Part II", IEEE on Syster~s, Man and Cybernetics, Vol 20, No. 2, Mar/April. 1990, pp 419-435. 7. George C. Mouzouris, Jerry M. Mendel,"Non Singleton Fuzzy Logic Systems: Theory and Application", IEEE Transactions on Fuzzy Sets and Syflems, Vol 5, No. 1 Feb., 1997. Shuwei Guo and Liliane Peter,"Design and Application of an Analog Fuzzy 8. Logic Controller", IEEE Transactions on Fuzzy Sy~en~s,Vol 4. No. 4, Nov., 1996. pp 429-437 Marek J. Patyra, Janus L Grantner and Kirby Koster," Digital Fuzzy Logic 9. Controller: Design and Implementation",IEEE Tranmctions on Fuzzy Systems, Vol 4, No. 4, Nov., 1996. pp 439-459. 10. Roger Jang, Ned Gulley, "Fuzzy Logic Toolbox for MATLAB, User's Guide", The Math Works, Inc., USA, January 1995.

6.

t I 80

l

100

Suggest Documents