Abstract-According to psychology, not everybody can excel at all kinds of tasks. Thus, chances of a successful outcome of software development increase if people with particular personality traits are assigned to their preferred tasks in the project. Likewise, software development depends significantly on how software practitioners perform their tasks. This empirical study surveys 100 Cuban software developers, both students and professors of the University of Informatics Sciences in Havana, Cuba. This work aims to find possible patterns that link personality traits to role preferences in a software life cycle. Among the various roles, system analyst, software designer, and programmer are found to be the most preferred among the participants. In contrast, tester and maintainer happen to be the least popular roles among software engineers.Index Terms-Human factors in software engineering, Software life cycle, Human aspects of software development, Software psychology I. INTRODUCTION AND BACKGROUND Software engineering has been one of the most prominent professions over the last 20 years, and it is projected to evolve even further. Software engineering comprises stages in distinct areas, such as analysis, design, programming, testing, and maintenance. Today, specialties within software engineering are as diverse as in any other profession. Additionally, software engineers need to communicate more effectively with users and team members, thus the people dimension of software engineering is as important as technical expertise.Software project managers have always faced the problem of assigning the tasks to the right people within a team in such a fashion that increases the chance of successful project completion [1]. Different ideas have been tried to use diverse ways to maximize performance [2] and make choices in the software engineering process [3]. Those ideas involve: motivation (software engineers tend to perform better if they are motivated to do specific tasks), the environment, and personality type, or a combination of these factors. Motivation and the environment are known to influence task performance. Motivation is generally a powerful element in the performance of task goals, especially in the IT field [4], [5]; however, motivation is often insufficient for influencing performance of goals on its own. Similarly, environmental factors cannot independently generate the performance of tasks. Hence, there are multiple factors involved in the performances of software engineers [6]. This study specifically investigates the role of individual preferences in software projects, while neglecting the elements of motivation and environment, which have been the focus of most scholarly research on this topic. Feldt et al. [7] also state that environmental factors alone cannot improve task performance. Thus this work exclusively investigates the role of individual preferences in software projects, focusing explicitly on how personality types affect preferences for specific software roles.Several studies investigate th...