Abstract
As the area of Software Engineering (SE) matures the role of human factors in software development is commonly recognized as important. Increasingly we see empirical studies that investigate the connection between, for example, personalities and preferences, attitudes or performances of software engineers. Statistical analysis holds a key role by providing the means for uncovering associations between various facets of human factors and behavioral effects on projects and outcomes. Traditional statistical techniques tend to explore and interpret the multidimensional personality and behavioral data from an “average-point” perspective, targeting central trends. This paper introduces a methodology with statistical tools that can provide a new and different perspective for this type of SE data. It seeks the boundaries of a psychometric dataset and discovers reference or “benchmark” personalities, the archetypal personalities. Then, the method examines the placement of all individuals in the dataset in relation to the archetypes. Furthermore, the SE preference characteristics, or generally, any other types of behavioral SE data, are analyzed with respect to the archetypes. As a case to exemplify the methodology we analyze personality and project preference data from 276 master level SE students and compare to previous “average-point” statistical analysis of the same data. We also discuss how Archetypal Analysis, the heart of the proposed methodology, combined with multi-correspondence analysis might be of general use in empirical SE.







Similar content being viewed by others
References
Abdi H, Valentin, D (2007) Multiple correspondence analysis. Encycl Meas Stat 651–657
Acuña ST, Juristo N (2004) Assigning people to roles in software projects. Softw Pract Exp 34(7):675–696
Acuña ST, Gómez M, Juristo N (2009) How do personality, team processes and task characteristics relate to job satisfaction and software quality? Inf Softw Technol 51(3):627–639
Arcuri A, Briand L. (2012) A hitchhiker’s guide to statistical tests for assessing randomized algorithms in software engineering. Softw Test Verification Reliab
Aoyama M (2005) Persona-and-scenario based requirements engineering for software embedded in digital consumer products. In: Requirements Engineering, 2005. Proceedings. 13th IEEE International Conference on. IEEE, pp 85–94
Bartholomew D J (ed). (2002) The analysis and interpretation of multivariate data for social scientists. CRC Press
Bell D, Hall T, Hannay J E, Pfahl D, Acuna S T (2010) Software engineering group work: personality, patterns and performance. In: Proceedings of the 2010 Special Interest Group on Management Information System’s 48th annual conference on Computer personnel research on Computer personnel research. ACM, pp 43–47
Capretz LF, Ahmed F (2010) Making sense of software development and personality types. IT Professional 12(1):6–13
Chao J, Atli G (2006) Critical personality traits in successful pair programming. In: Agile Conference. IEEE, pp 5-pp
Costa P T, MacCrae R R (1992) Revised NEO Personality Inventory (NEO PI-R) and NEO Five-Factor Inventory (NEO FFI): Professional Manual. Psychological Assessment Resources
Cruz S, da Silva FQ, Capretz LF (2015) Forty years of research on personality in software engineering: a mapping study. Comput Hum Behav 46:94–113
Cutler A, Breiman L (1994) Archetypal analysis. Technometrics 36(4):338–347
Da Cunha AD, Greathead D (2007) Does personality matter?: an analysis of code-review ability. Commun ACM 50(5):109–112
Dick A J, Zarnett B (2002) Paired programming and personality traits. In: Third International Conference on eXtreme Programming and Agile Processes in Software Engineering, Alghero, Sardinia, Italy
Donnellan MB, Oswald FL, Baird BM, Lucas RE (2006) The mini-IPIP scales: tiny-yet-effective measures of the big five factors of personality. Psychol Assess 18(2):192
Eugster M, Leisch F (2009) From Spider-man to Hero-archetypal analysis in R
Feldt R, Angelis L, Torkar R, Samuelsson M (2010) Links between the personalities, views and attitudes of software engineers. Inf Softw Technol 52(6):611–624
Furnham A (1996) The big five versus the big four: the relationship between the Myers-Briggs type indicator (MBTI) and NEO-PI five factor model of personality. Personal Individ Differ 21(2):303–307
Gorla N, Lam YW (2004) Who should work with whom?: building effective software project teams. Commun ACM 47(6):79–82
Hainmueller J, Hazlett C, (2013) Kernel Regularized Least Squares: Reducing Misspecification Bias with a Flexible and Interpretable Machine Learning Approach. Political Analysis, mpt019
Hannay JE, Arisholm E, Engvik H, Sjoberg DI (2010) Effects of personality on pair programming. Softw Eng IEEE Trans 36(1):61–80
IBM SPSS software, http://www-01.ibm.com/software/analytics/spss, last access, July 20th, 2013
Karn J, Cowling T (2006) A follow up study of the effect of personality on the performance of software engineering teams. In: Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering. ACM, pp 232–241
Kitchenham B, Pearl Brereton O, Budgen D, Turner M, Bailey J, Linkman S (2009) Systematic literature reviews in software engineering–a systematic literature review. Inf Softw Technol 51(1):7–15
Kosti MV, Feldt R, Angelis L (2014) Personality, emotional intelligence and work preferences in software engineering: an empirical study. Inf Softw Technol 56(8):973–990
Lenberg P, Feldt R, Wallgren G L (2014) Towards a Behavioral Software Engineering. In: Proceedings of the 7th International Workshop on Cooperative and Human Aspects of Software Engineering, June 2–3, Hyderabad, India, pp 16
Martínez LG, Rodríguez-Díaz A, Licea G, Castro JR (2010) Big five patterns for software engineering roles using an ANFIS learning approach with RAMSET, Advances in Soft Computing. Springer Berlin, Heidelberg, pp 428–439
Martínez L G, Licea G, Rodríguez A, Castro J R, Castillo O (2011) Using MatLab’s fuzzy logic toolbox to create an application for RAMSET in software engineering courses. Comput Appl Eng Educ
McGinn J J, Kotamraju N (2008) Data-driven persona development. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM, (pp 1521–1524)
Merriam-Webster Online Dictionary (2008) Archetype. In Merriam-Webster Online Dictionary, Retrieved December 13, 2013, from http://www.merriam-webster.com/dictionary/archetype
Mittas N, Karpenisi V, Angelis L (2014) Benchmarking effort estimation models using archetypal analysis. In: Proceedings of the 10th International Conference on Predictive Models in Software Engineering. ACM, pp 62–71
Mørup M, Hansen LK (2012) Archetypal analysis for machine learning and data mining. Neurocomputing 80:54–63
Olson MH (1980) Review of software: human factors in computer and information systems, by Ben Shneiderman, Winthrop computer systems series, 1980. ACM SIGMIS Database 11(4):21
Porzio GC, Ragozini G, Vistocco D (2006) Archetypal Analysis for Data Driven Benchmarking, Data Analysis, Classification and the Forward Search. Springer Berlin, Heidelberg, pp 309–318
Rehman M, Mahmood A K, Salleh R, Amin A (2012). Mapping job requirements of software engineers to Big Five Personality Traits. In: Computer & Information Science (ICCIS), 2012 International Conference on, vol 2. IEEE, pp 1115–1122
Sabini J (1995) Social Psychology, 2nd edn. W.W. Norton & Co Inc.
Salleh N, Mendes E, Grundy J, Burch G S J (2009). An empirical study of the effects of personality in pair programming using the five-factor model. In: Proceedings of the 2009 3rd International Symposium on Empirical Software Engineering and Measurement. IEEE Computer Society, pp 214–225
Salleh N, Mendes E, Grundy J, Burch G S J (2010a) An empirical study of the effects of conscientiousness in pair programming using the five-factor personality model. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, Vol 1. ACM, pp 577–586
Salleh N, Mendes E, Grundy J, Burch G S J (2010b) The effects of neuroticism on pair programming: An empirical study in the higher education context. In: Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement. ACM, p 22
Sfetsos P, Stamelos I, Angelis L, Deligiannis I (2009) An experimental investigation of personality types impact on pair effectiveness in pair programming. Empir Softw Eng 14(2):187–226
Team R D C (2005) R: A Language and Environment for Statistical Computing. ISBN 3-900051-07-0. R Foundation for Statistical Computing. Vienna, Austria, 2013. url: http://www.R-project.org
Wiggins J S (ed) (1996) The five-factor model of personality: Theoretical perspectives. Guilford Press
Acknowledgments
We acknowledge the support of Swedish Armed Forces, Swedish Defence Materiel Administration and Swedish Governmental Agency for Innovation Systems in the project ‘Aligning Requirements and Verification Practices in Air Traffic Control Systems’ (project number 2013-01199).
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Hakan Erdogmus
Rights and permissions
About this article
Cite this article
Kosti, M.V., Feldt, R. & Angelis, L. Archetypal personalities of software engineers and their work preferences: a new perspective for empirical studies. Empir Software Eng 21, 1509–1532 (2016). https://doi.org/10.1007/s10664-015-9395-3
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10664-015-9395-3