ACM SIGSOFT Software Engineering Notes
Page 1
January 2016 Volume 41 Number 1
A Study of Relationship between Performance, Temperament and Personality of a Software Programmer Jayati Gulati
Priya Bhardwaj
Bharti Suri
Anu Singh Lather
Assistant Professor I.T.S Engineering College Greater Noida, U.P., India
Student USICT, GGSIPU Dwarka, India
Associate Professor USICT, GGSIPU Dwarka,India
Professor USMS, GGSIPU Dwarka, India
gulati.jayati@ gmail.com
priyabhardwaj28@ gmail.com
[email protected]
anusinghlather@ gmail.com
DOI: 10.1145/2853073.2853089 http://doi.acm.org/10.1145/2853073.2853089 This paper focuses on finding the relationship between the performance, temperament and personality of a software programmer. The rationale behind conducting this study is to find out if personality influences the performance of software engineering students. We conducted a survey of 66 students pursuing engineering to find out their personality traits and its relationship with their programming abilities. The personality test used was Goldberg’s IPIP (International Personality Item Pool) and Keirsey Temperament Sorter. The results showed that IPIP test personality traits of extroversion, agreeableness, conscientiousness, emotional stability and intellect are not significantly correlated with performance of the respondents. However, on temperament dimension it was found that there was a significant correlation between “Guardian” temperament and high performance which indicates that these respondents had sensing and judging type of temperament.
ABSTRACT
Categories and Subject Descriptors D.2.7 [Software Engineering]: Distribution, Maintenance, and Enhancement
General Terms Human Factors, Management
Keywords IPIP; KTS; Human aspects; Software engineering; Personality; Personality Tests
1. INTRODUCTION The software engineering process is designed and established with a lot of planning and management. Rules and regulation are set up to prevent errors from occurring, but ensuring a hundred percent error-free software is not feasible. The Software Development Life Cycle (SDLC) was developed to encourage conformance to set standards and procedures to achieve a quality product, within the allocated budget and scheduled time. By following these procedures, the quality of the product is increased multi fold. The technical aspects of software development are handled by the organizations by following set standards, channeling resources and time towards factors like planning, management, control, and progress. Adherence to these standards ensures software with requisite features. On the other hand, nontechnical aspects are generally overlooked, which may involve traits like developer’s personality, power to comprehend, decision making ability. Their impact on different phases of development can affect the quality, cost and schedule of the project. Software developments being human-centric process, these human factors have a great impinge on the process and its performance. The factors referred here attribute to the aspect of human involvement in the development process. The study of these aspects is very vast and can be dealt from different perspectives such as psychological, cognitive, management and technical aspects [13]. A study in [9] suggested that numerical ability (NA), verbal reasoning (VR) and abstract reasoning (AR) play an important role in deciding the capabilities of a developer. It shares guidelines on
improvement of development process by evaluation of developers on these three abilities. A model based on the same lines was proposed in [10] which indicated that along with the three factors- NA, VR and AR, there are nine others factors namely, patience, communication skills, commitment, cooperation with peers, responsibility, do it now approach, attention to details, openness to change and locus of control which could influence the performance of an individual. The work in this article helps in identifying the importance of personality traits in the process of software development. The survey performed in the current study includes two personality tests, IPIP (based on FFM) and KTS as these are freely available online [6] [7] [8]. The latter sections discuss the two tests in detail.
2. LITERATURE REVIEW The process of software engineering follows standards and procedures to attain quality software which form the technical aspect of software development. It includes training people, using explicit tools and technologies. On the other hand, factors like influence of personality on an individual, team, as well as pair performance are also significant but are generally neglected. In this article, the influence of personality on engineering students’ programming skills is studied by conducting personality tests. Based on these tests, a comparison is drawn between their skill set and behavior to conclude the factors required by an efficient developer. MBTI or Myers-Briggs Type Indicator is the most commonly used personality test among studies in software engineering having characteristics: extroverting (E) & introverting (I), sensing (S) & intuiting (N), thinking (T) & feeling (F), and judging (J) & perceiving (P). These studies were generally seen to be conducted among software students and engineers in the industry setup. The studies [1][12][20] performed amid engineering studies evaluated them based on assignments and quality of their work. ISTJ was seen to be the most commonly found personality type. Also, ISTJ and INTJ were seen to be suitable as designers and programmers. Extrovert NT and NF and INTJ were appropriate as analysts. Extroversion was seen to be high among testers according to study in [11]. The MBTI tests in the software industry showed that ISTJ and ESTJ were seen to be possessed by majority of engineers [2][18]. The personality type ESTP was observed to increase in the span of ten years [19]. FFM or Five Factor Model based tests was another commonly used personality test. The influence of pair programming was examined among undergraduate students using FFM [15] [14]. A positive correlation between openness to experience and intelligence was observed among students working collaboratively. On the other hand, conscientiousness and neuroticism did not have a significant effect on the students’ academic performance. In 2014, another research work on collaborative pair programming showed that mixed personality group pairs obtained higher marks than same personality students [21]. The NEO-FFI test was used for an empirical study in leadership incorporation with personality [22]. The result of this study was a positive association between five personality factors and leadership level except for neuroticism. A freely available FFM based test Goldberg’s IPIP (International Personality Item Pool) test was used in
ACM SIGSOFT Software Engineering Notes
Page 2
[4] and [5] along with a questionnaire studying the working style of engineers on a sample data of 47 respondents from the industry. The results from the study showed two major type of behaviors, one with moderate personalities and the other with more intense personalities, i.e. scoring higher on the factors of extroversion and openness. Strong correlations among personality aspects and software engineering related views, approach and work preferences were observed in the collected data. The study from [17] focused on depicting the efficacy of pair programming among engineering students. The students were paired based on either same personality sets or mixed personality sets to observe the difference in their methodology and process output. KTS (Keirsey Temperament Sorter) was used for personality survey of students. Also, their skill set was judged based on their performance in coding and testing java programs. The heterogeneous pairs were seen to outperform the homogeneous in terms of designing, coding as well as communication. Another study predicting team performance on the basis of personality study revealed a positive association between team performance, diversity and temperaments. The research work in the current article focuses on studying the human aspect of software engineering students. The personality traits affecting the skill set of a programmer are studied.
3. RESEARCH DESIGN 3.1 Rationale of the Study The process of software engineering lays down standards for development and maintenance of quality software ignoring human aspects. This paper makes an attempt to focus on such non-technical aspects of software engineering. The rationale behind using KTS was the strong correlation among KTS and MBTI based test [17].The former being precise and cheaper than MBTI, providing almost the same information and taking much less time. IPIP test was used as it to draw a comparison between the two tests.
January 2016 Volume 41 Number 1
Table 1. VARIABLE USED FOR ANALYSIS Variable Represents The rating of students based on the Teacher's Rating performance in lab assignments. On the scale of 1-5, each signified: 1-Very Low, 2-Low, 3- Average, 4-Good, 5Very Good Results from the KTS test, rating students KTS as: 1-Artisan, 2-Guardian, 3-Idealist, 4Rational Personality characteristic from IPIP test Extroversion represents the mean value of trait from all the answered questions on the scale of 1-5. Personality characteristic from IPIP test Agreeableness represents the mean value of Agreeableness from all the answered questions on the scale of 1-5. Conscientiousness Personality characteristic from IPIP test represents the mean value of trait from all the answered questions on the scale of 1-5. Personality characteristic from IPIP test Emotional represents the mean value of trait from all Stability the answered questions on the scale of 1-5. Personality characteristic from IPIP test Intellect represents the mean value of trait from all the answered questions on the scale of 1-5.
3.4.2 Sample The conducted study had a sample size of 66 students, among which 72% were males and 28% were females defined by a categorical variable ‘Gender’. Also, there were 40 students among the total of 66 who were pursuing graduation. This is represented via categorical variable ‘Education’. The rest 26 were pursuing post graduate courses. Age is taken as a categorical variable represented by- 1: 18-20, 2: 2122, 3: 22+.
3.2 Objectives of the Study 1. To study the relationship between personality traits and performance of software engineering students. 2. To study the relationship between temperament and performance.
3.4.3 Assessment Tools There are two assessment tools used in the study, IPIP and KTS.
3.4.3.1 Keirsey Temperament Sorter (KTS) Test
3.3 Hypotheses 1. There would exist a positive relationship between five personality characteristics- Extroversion, agreeableness, conscientiousness, emotional stability, intellect and students’ performance rated by their respective teachers in programming. 2. There would exist a positive relationship between temperaments and students’ performance rated by their teachers as programmers.
3.4 Research Methodology The methodology is based on collection of data from software engineering students covering two personality tests- Goldberg’s IPIP and KTS test. Also, it additionally required teachers to assess students on programming skills based on their performance as programmers.
3.4.1 Research Design The current study on personality involved 66 students from software engineering field. During the study, every participant was required to fill up their general details like ‘Name’, ‘Age’, ‘Education’, ‘Family Background’, ’Family Type’ along with two sets of personality based questionnaire- IPIP-50 item scale test and KTS test. The respondents were also assessed by their respective teachers on their programming skills based on their performance in lab assignments. SPSS tool [24] was used for analyzing the data and understanding the correlations. The variables used for analysis are mentioned in Table.1.
Keirsey Temperament Sorter or KTS is a 70 question scoring instrument for identifying temperaments and assisting people for better understanding of themselves as well as others. . It categorized a respondent as ‘Artisan’, ‘Guardian’, ‘Idealist’ or ‘Rational’. The four pairs of characteristics given by Myer Briggs Type Indicator (MBTI) are linked with characteristics of KTS. The difference among KTS and MBTI is that the latter is concerned with thinking and feelings of people, whereas the former is concerned with their evident behaviors. In classification of personality types, MBTI focuses on contrasting extraversion and introversion, while KTS emphasizes on the significance of the sensing/intuition perspective [14]. Table.2 defines the characteristics of KTS and its relation with MBTI. Artisan
TABLE 2. CHARACTERISTICS OF KTS [16][8] It combines sensor, perceiver traits (SP) of MBTI. Artisans are spontaneous, competitive and positive.
Guardian
It combines sensor, judger traits (SJ) of MBTI. They take pride in being dependable and trustworthy.
Idealist
It combines intuitive, feeler traits (NF) of MBTI. They highly principled in their actions. It combines intuitive, thinker traits (NT). They have problem solving temperament. They are very logical and intensely independent in their thinking.
Rational
ACM SIGSOFT Software Engineering Notes
Page 3
3.4.3.2 International Personality Item Pool (IPIP) Test IPIP test is a freely available instrument based on the Five Factor Model (FFM). It identifies personality traits and analyzes the measures of these traits by conducting surveys, interviews to benefit organizations [23]. The Goldberg’s IPIP-50 item scale test as the name suggests consisted of 50 item questionnaire judging five characteristics- ‘Intellect’, ‘Conscientiousness’, ‘Extroversion’, ‘Agreeableness’ and ‘Emotional Stability’ as discussed in Table.3. TABLE 3. CHARACTERISTICS OF FFM [14] It represents the extent of thinking, originality Intellect or and imagination of a person. Openness to Experience(O) Conscientiousness( It is a personality trait of being efficient, alert, or observant. These people are considered C) systematic and organized. People are social by nature, assertive and Extroversion(E) possess the tendency to seek inspiration in the company. It depicts the tendency to be considerate and Agreeableness(A) cooperative. It is also being understanding towards opinions laid down by others. It is characterized by anxiety, agony, envy, Emotional frustration and loneliness. It also refers to the Stability or degree of emotional strength and control. Neuroticism(N)
January 2016 Volume 41 Number 1
It is noteworthy that ‘Artisan’ personality trait was observed to be among the majority students who were rating low in their programming skills. TABLE 5. RELATIONSHIP BETWEEN KTS PERSOANLITY TYPES AND PERFORMANCE OF STUDENTS Teacher KTS s' Artisan Guardian Idealist Rational Rating 1 3 2 3 2 2 5 6 2 1 3 8 14 4 0 4 3 8 1 1 5 0 2 1 0 19 32 11 4 Total
3.5 Findings and Discussions The data gathered from the survey of 66 engineering students was analyzed using SPSS Data Editor Tool. The various operations applied on the data were correlation cross tabs and clustering. Pearson correlation measures the strength and direction of linear relationships between pairs of continuous variables [25]. The correlations depict the likelihood of association between variables. The variable Sig. (2-tailed) indicates if the relation between two variables is significant or not. ‘N’ indicates the sample size. The collected sample data represents the correlation between teachers’ rating and personality types of IPIP test, as specified in Table.4. It can be clearly seen that the performance of a student are not influenced by any of these factors. Table.5 indicates that the performance among KTS values-1 and 2 (i.e. ‘Artisan’ and ‘Guardian’ respectively) is found to be better than other personality types. Also, the table signifies that among the highest teachers’ rating (taking 4 and 5 value into consideration), ‘Guardian’ personality topped with counts “8” and “2” respectively. Fig.1 illustrates that the “4” and “5” ratings are obtained maximum with respect to the ‘Guardian’ trait. Also, it can be seen that low rating (represented by “1”) are seen among Artisan and Idealist.
Figure.1 Graph between Teachers’ rating and KTS personality types
The similarity among variables can be studied using clustering. It is a collection of objects which are similar and are the dissimilar objects belong to other clusters [26]. We use k-means clustering algorithm defining k=3, because this value of k gives the best possible results in the widest possible clusters. Table.6 shows the initial clusters formed. Table.7 shows the final three clusters formed with the respective teachers’ rating as “2”,”4” and “1”. It can also be seen that cluster number “2” represents the highest teachers’ rating, attributing to ‘Guardian’ personality in KTS test and high value of agreeableness, followed by intellect, conscientiousness, extroversion and emotional stability. Likewise, cluster “3” corresponds to low rating in lab assignments. The KTS depicts this category as ‘Idealist’. They are observed to be intuitive having high intellect, followed by conscientiousness, agreeableness, and emotional stability and lowest on extroversion.
TABLE 4. PEARSON CORRELATION BETWEEN TEACHERS’ RATING AND OTHER FACTORS Teachers' Agreeabl Conscien Emotional Correlations Extroversion Intellect Rating eness tiousness Stability Pearson 1 0.174 0.082 0.031 0.052 0.047 Teacher Correlation s' Sig. (20.162 0.515 0.803 0.679 0.709 Rating tailed) 66 66 66 66 66 66 N
ACM SIGSOFT Software Engineering Notes
Page 4
TABLE 6. INITIAL CLUSTER CENTRES
January 2016 Volume 41 Number 1
1
2
3
Teachers' Rating
2
5
1
KTS
1
3
4
Extroversion
1.8
3.3
4
Agreeableness
3.6
3.3
3.4
Conscientiousness
3.7
3.1
3.3
Emotional Stability
3.7
2.8
4.3
extroversion, agreeableness, conscientiousness, emotional stability and intellect with the performance of the students in programming. While the KTS test shows the ‘Guardian’ personality to be among the best performer, followed by ‘Idealist’ personality. The low performers were seen to fall under ‘Artisan’ category. The KTS based study [17] illustrated that contradicting personalities worked best for efficient software development. According to our study, ‘Guardian’ personality was seen to outperform other personality types. Guardians are marked by high sensing and judging characteristics. Also, it was observed that clustering technique resulted in formation of three clusters which were based on high, medium and low teachers’ ratings. Maximum students were seen to fall under high performance cluster.
Intellect
2.8
3.5
3.4
5. IMPLICATIONS FROM THE STUDY
Cluster Number
This research work may benefit in several fields like academics and research for identification of traits valuable to respective researchers. The industry could gain knowledge about hiring employees through this study.
TABLE 7. FINAL CLUSTER CENTRES
Cluster Number 1
2
3
Teachers' Rating
2
4
1
KTS
1
2
3
Extroversion
3.23
3.25
3
Agreeableness
3.77
3.59
3.14
Conscientiousness
3.3
3.39
3.43
Emotional Stability
3.04
3.11
3.1
Intellect
3.49
3.56
3.46
5.1 Academicians and Researchers The above mentioned study cites the personality traits given by two tests and the factor by which they influence the performance of an individual. The study highlights the qualities of an individual which might help in improving upon programming skills. Institutions might benefit from the same by guiding students to pick up on respective aspects which have a direct impact on their grades. Also, researchers could use the same study for further digging in deep to find other factors from different psychology tests which might work in favor of improvement in overall quality of work.
5.2 IT Industry
The data set of 66 sample size is divided among three clusters as mentioned in Table.8. Maximum data items fall under the cluster number ‘2’, which consists of highest rated students. Also, the lowest rated students form the smallest cluster. The cluster analysis revealed that if these students lay more emphasis on sensing the problems than confiding on their intuition, it would lead to better ratings as well.
4. CONCLUSION
The industry could benefit by hiring individuals according to a particular post and by assessing the temperaments personality traits suitable for the same. This study might be useful for assigning specific roles to individuals in IT industries. A study in [3] suggested a programmer to be logical, attentive to details and should have the capacity to work independently. The tester was recommended to work with precision and follow a specific order for timely delivery of the end product.
The study shows the results from two different personality tests. The IPIP test demonstrates no significant correlation among the five factors-
TABLE 8. DISTRIBUTION OF DATA AMONG CLUSTERS
Cluster Number 1 Medium Rating
2 High Rating
3 Low Rating
22
34
10
ACM SIGSOFT Software Engineering Notes
Page 5
6. REFERENCES [1] Ahmed, Faheem, Piers Campbell, Ahmad Jaffar, Shayma Alkobaisi, and Julie Campbell. "Learning & personality types: A case study of a software design course." Journal of Information Technology Education: Innovations in Practice 9, no. 1 (2010): 237-252. [2] Capretz, Luiz Fernando. "Personality types in software engineering." International Journal of Human-Computer Studies 58, no. 2 (2003): 207-214. [3] Capretz, Luiz Fernando, and Faheem Ahmed. "Making sense of software development and personality types." IT professional 12, no. 1 (2010): 6-13. [4] Feldt, Robert, Lefteris Angelis, Richard Torkar, and Maria Samuelsson. "Links between the personalities, views and attitudes of software engineers." Information and Software Technology 52, no. 6 (2010): 611-624. [5] Feldt, Robert, Richard Torkar, Lefteris Angelis, and Maria Samuelsson. "Towards individualized software engineering: empirical studies should collect psychometrics." In Proceedings of the 2008 international workshop on Cooperative and human aspects of software engineering, pp. 49-52. ACM, 2008. [6] Goldberg, L. R. (1999a). A broad-bandwidth, public-domain, personality inventory measuring the lower-level facets of several five-factor models. In I. Mervielde, I. Deary, F. De Fruyt, & F. Ostendorf (Eds.), Personality psychology in Europe, Vol. 7 (pp. 7-28). Tilburg, The Netherlands: Tilburg University Press.
January 2016 Volume 41 Number 1
[14] Salleh, Norsaremah, Emilia Mendes, and John Grundy. "Investigating the effects of personality traits on pair programming in a higher education setting through a family of experiments." Empirical Software Engineering 19, no. 3 (2014): 714-752. [15] Salleh, Norsaremah, Emilia Mendes, and John Grundy. "The effects of openness to experience on pair programming in a higher education context." In Software Engineering Education and Training (CSEE&T), 2011 24th IEEE-CS Conference on, pp. 149-158. IEEE, 2011. [16] Sfetsos, Panagiotis, Ioannis Stamelos, Lefteris Angelis, and Ignatios Deligiannis. "An experimental investigation of personality types impact on pair effectiveness in pair programming." Empirical Software Engineering 14, no. 2 (2009): 187-226. [17] Sfetsos, Panagiotis, Panagiotis Adamidis, Lefteris Angelis, Ioannis Stamelos, and Ignatios Deligiannis. "Investigating the Impact of Personality and Temperament Traits on Pair Programming: A Controlled Experiment Replication." In Quality of Information and Communications Technology (QUATIC), 2012 Eighth International Conference on the, pp. 57-65. IEEE, 2012. [18] Varona Daniel, Luiz Fernando Capretz, and Yadenis Piñero. "Personality types of cuban software developers." Global Journal of Engineering Education 13.2 (2011): 77-81. [19] Varona, Daniel, Luiz Fernando Capretz, Yadenis Piñero, and Arif Raza. "Evolution of software engineers' personality profile." ACM SIGSOFT Software Engineering Notes 37, no. 1 (2012): 1-5.
[7] Goldberg, L. R., Johnson, J. A., Eber, H. W., Hogan, R., Ashton, M. C., Cloninger, C. R., & Gough, H. C. (2006). The International Personality Item Pool and the future of public-domain personality measures. Journal of Research in Personality, 40, 84-96.
[20] Varona, Daniel, Yadira Lizama-Mué, and Luiz Fernando Capretz. "A comparison of junior and senior software engineering students' personalities." In Proceedings of the 7th International Workshop on Cooperative and Human Aspects of Software Engineering, pp. 131-132. ACM, 2014.
[8] Keirsey, David. Please understand me II: Temperament, character, intelligence. Del Mart: Prometheus Nemesis, 1998.
[21] Venkatesan, V., and A. Sankar. "Investigation of Student’s Personality on Pair Programming to Enhance the Learning Activity in the Academia." Journal of Computer Science 10, no. 10 (2014): 2020-2028.
[9] Lather, Anu Singh, Shakti Kumar, and Yogesh Singh. "Suitability assessment of software developers: a fuzzy approach." ACM SIGSOFT Software Engineering Notes 25, no. 3 (2000): 30-31. [10] Lather, Anu Singh, Suri Bharti, “Behavioural Assessment Criteria for Software Developers: A Proposed Model”, Book chapter in Information and Communication Technologies for Competitive Advantage as Proceedings of National Conference on ICT for Competitive Advantage, pp 275-280, April 2013. [11] Montequín, Vicente Rodríguez, Joaquín Villanueva Balsera, José Manuel Mesa Fernández, and Alberto García Nieto. "Using Myers-Briggs Type Indicator (MBTI) as a Tool for Setting up Student Teams for Information Technology Projects." Journal of Information Technology and Application in Education (JITAE), JITAE 1, no. 1 (2012): 28-34. [12] Omar, Mazni, Sharifah-Lailee Syed-Abdullah, and Naimah Mohd Hussin. "Analyzing personality types to predict team performance." In Science and Social Research (CSSR), 2010 International Conference on, pp. 624-628. 2010. [13] Pirzadeh, Laleh. "Human Factors in Software Development: A Systematic Literature Review." (2010).
[22] Wang, Yi. "Building the linkage between project managers' personality and success of software projects." Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement. IEEE Computer Society, 2009. [23] Wiesche, Manuel, and Helmut Krcmar. "The relationship of personality models and development tasks in software engineering." In Proceedings of the 52nd ACM conference on Computers and people research, pp. 149-161. ACM, 2014. [24] IBM SPSS Data Editor [Online] Available: 01.ibm.com/software/in/analytics/spss/downloads.html [25] Regression Analysis [Online] Available: tutorials/linear-regression-using-spss-statistics.php
http://www-
statistics.laerd.com/spss-
[26]Clustering[Online]Available:ome.deib.polimi.it/matteucc/Clustering/tutor ial_html