Software development: do good manners matter?

A successful software project is the result of a complex process involving, above all, people. Developers are the key factors for the success of a software development process, not merely as executors of tasks, but as protagonists and core of the whole development process. This paper investigates social aspects among developers working on software projects developed with the support of Agile tools. We studied 22 open source software projects developed using the Agile board of the JIRA repository. All comments committed by developers involved in the projects were analyzed and we explored whether the politeness of comments affected the number of developers involved and the time required to fix any given issue. Our results showed that the level of politeness in the communication process among developers does have an effect on the time required to fix issues and, in the majority of the analysed projects, it had a positive correlation with attractiveness of the project to both active and potential developers. The more polite developers were, the less time it took to fix an issue. In the majority of the analysed cases, the more developers wanted to be part of a project, the more they were willing to continue working on the project over time.


INTRODUCTION
High-level software development is a complex activity involving a range of people and activities; ignoring 14 human aspects in the software development process or managing them in an inappropriate way can, 15 potentially, have a huge impact on the software production process and team effectiveness. Increasingly, 16 researchers have tried to quantify and measure how social aspects affect software development. Bill Curtis 17 claimed that "the creation of a large software system must be analyzed as a behavioural process (Curtis 18 et al. (1988))." Coordinating and structuring a development team is thus a vital activity for software 19 companies and team dynamics have a direct influence on group successfulness. Open-source development 20 usually involves developers that voluntarily participate in a project by contributing with code-development. 21 In many senses, the management of such developers is more complex than the management of a team 22 within a company -developers are not in the same place at the same time and coordination therefore 23 becomes more difficult. Additionally, the absence of face-to-face communication mandates the use of 24 alternative technologies such as mailing lists, electronic boards or issue tracking systems. In this context, 25 being rude or aggressive when writing a comment or replying to a contributor can affect the cohesion of 26 the group, its membership and the successfulness of a project. On the other hand, a respectful environment 27 provides an incentive for new contributors to join the project and could significantly extend the lifetime 28 and usefulness of a project to the community. 29 According to VersionOne (2013): "more people are recognising that agile development is beneficial 30 to business, with an 11% increase over the last 2 years in the number of people who claim that agile 31 helps organisations complete projects faster". A main priority reported by users was to accelerate time 32 to market, manage changing priorities more easily and better align IT and business objectives. Agile project management tools and Kanban boards experienced the largest growth in popularity of all agile tool categories, with use or planned use increasing by 6%. One of the top five ranked tools was Atlassian JIRA 1 , being easily accessible for the development team throughout the development process. Fast releases, 48 continuous integration and testing activities are directly connected to the knowledge of the system under 49 development. The potential for agile boards to simplify development across geographically disparate 50 areas is in this sense relatively clear. In a similar vein, the social and human aspects of the development 51 process are becoming more and more important. The Google work style has become a model for many 52 software start-ups -a pleasant work environment is important and affects the productivity of employees.

53
One important contributor to a healthy work environment is that each employee is considerate and polite 54 towards their fellow employees. More specifically "Politeness is the practical application of good manners 55 or etiquette. It is a culturally defined phenomenon and what is considered polite in one culture can 56 sometimes be quite rude or simply eccentric in another cultural context. The goal of politeness is to make 57 all of the parties relaxed and comfortable with one another." 2 The last part of this definition is what we 58 consider in our analysis. In this specific work, we do not take different cultures into account (although 59 developers involved in a specific project could be from all around the world); we focus on the politeness

74
• Stickiness is the fraction of active developers that were also active during next time interval, in our 75 example 3/7 (dev 1, dev 2, dev 3 were active in 2011 and in 2012). 76 We considered 22 open source projects from one of the largest datasets of issues reports openly (RQ3 and RQ4). The remainder of this paper is structured as follows: In the next section, we provide 95 related work. Section 3 describes the dataset used for this study and our approach/rationale to evaluate 96 the politeness of comments posted by developers. In Section 4, we present the results and elaborates on 97 the research questions we address. Section 5 discusses the threats to validity. Finally, we summarize the 98 study findings and present plans for future work in Section 6.  from an empirical study about correlations between personality and attitudes to software engineering 108 processes and tools. The authors found that higher levels of the personality dimension "conscientiousness" 109 correlated with attitudes towards work style, openness to changes and task preference.

174
We evaluated the average politeness per month considering all comments posted in a certain month.

175
For each comment, we assigned a value according to the following rules:

176
• Value of +1 for those comments marked as polite by the tool (confidence level>0.5);

177
• Value of 0 for those comments marked as neutral (confidence level<0.5);

179
Finally, we averaged the assigned values for a certain month. In total, we analyzed the politeness of about 180 500K comments.  Table 3. Examples of impolite comments.

6/17
• by dividing issues into two sets: polite issues, commented only with polite comments and impolite issues, commented only by impolite comments.

187
• by ignoring issues with both polite and impolite comments and ignoring issues with neutral 188 comments.

189
For each issue, we evaluated the politeness expressed in its comments (removing neutral comments as    exists between Magnet, Sticky and Politeness, we evaluated the cross-correlation coefficient.
Findings. In the majority of projects, Magnet and Sticky were positively correlated with politeness.
238 Table 5 shows the cross-correlation coefficient between the percentage of polite comments and magnetism   tasks, more manageable units that can be assigned and tracked separately.

277
• Task: this type of issue indicates a task that it is compulsory to complete.

278
• Improvement: this type of issue indicates an improvement or enhancement to an existing feature of   projects are needed to confirm our findings. Also, the politeness tool can be subject to bias due the domain 317 used to train the machine learning classifier. We used a threshold of 0.5 for the confidence level to label a 318 comment as neutral, but other values of this threshold may lead to different results.

319
Threats to internal validity concern confounding factors that can influence the obtained results. Based