An individual's decision-making behavior is heavily influenced by and adapted to external environmental factors. Given that software development is a human-centered activity, individual decision-making behavior may affect the software project quality. Although environmental factors affecting decision-making behavior in software projects have been identified in prior literature, there is not yet an objective and a full taxonomy of these factors. Thus, it is not trivial to manage these complex and diverse factors. To address this deficiency, we first design a semantic similarity algorithm between words by utilizing the synonymy and hypernymy relationships in WordNet. Further, we propose a method to measure semantic similarity between phrases and apply it into k-means clustering algorithm to group these factors. Subsequently, we obtain a taxonomy of the environmental factors affecting individual decision-making behavior in software projects, which includes 11 broad categories, each containing 2 to 5 sub-categories. The taxonomy presented herein is obtained by an objective method, and quite comprehensive, with appropriate references provided. The taxonomy holds significant value for researchers and practitioners; it can help them to better understand the major aspects of environmental factors, also to predict and guide the behavior of individuals during decision making towards a successful completion of software projects.
KEYWORDScluster analysis, decision-making behavior, environmental factor, semantic similarity, WordNet
| INTRODUCTIONDuring software development and evolution, many decisions have to be made concerning people, processes, techniques, and tools.1 For example, facing conflicts, some developers choose a positive cooperative strategy, but others choose a negative avoidance strategy. What makes software engineers choose different decision-making behaviors? Different decision-making behaviors bring different outcomes, so the project's success depends on how individuals in a team deal with problems and make decisions. Although many tools and techniques (for example, checklists, and decision models) have been proposed to assist decision making in software projects, no one can explain how people make decisions in their contexts. 1 Individual decision-making behavior is still seldom focused on in software projects, although it is important for software development and evolution. Recently, Lenberg et al 2 proposed a concept of behavioral software engineering by taking cues from behavioral economics, which underpins the research that focuses on behavioral aspects of software engineers.According to social cognitive theory, overt behavior is influenced by intrinsic personal factors and extrinsic environmental factors. 3,4 Therefore, the factors influencing individual decision-making behavior include 2 aspects: personal and environmental factors. Personal factors, especially personality, have been explored a lot in the software engineering (SE) domain. Environmental factors are also known as situational or...