Towards Emotional Awareness in Software Development Teams
Emotional Awareness 定义:我们自己的感受以及我们如何察觉别人的感受 知道自己的情绪和同事的情绪使你能够有根据的调整自己的行为,并在合作任务中获得更好的结果 以前的研究表明,情绪影响生产力,任务质量,创造力,团体关系和工作满意度
Emotional Awareness 软件开发是一个高度协作的活动,参与者使用邮件,论坛,跟踪工具等来管理他们的合作 这些协作产物是沟通渠道,开发团队可以借此表达他们的情绪状态。 随着业务全球化和分布式团队的日益增长的趋势,这些形式的沟通正在吸收更传统的形式,如面对面会议和语音。 这种趋势产生大量的文本数据难以分析处理,使团队成员难以保持意识到他们的项目的情绪状态。
METHODOLOGY 1)Input Data: Collaboration Artifacts 为了准确地模拟软件开发团队中的情绪,并了解影响这些情绪的因素,我们建议分析不同的协作工件。 这些工件的示例是软件存储库中的提交消息,错误报告,电子邮件,维基和Twitter消息。 我们认为开发人员表达的情感和细节的数量取决于工件类型。 例如,来自项目的邮件列表的电子邮件消息可能具有关于项目的方面的更多技术细节,相较于处理相同主题的Twitter消息 twitter消息可能表达更积极的情绪,与之相对的时,错误报告或提交消息
METHODOLOGY 2) Sentiment Analysis 对文档片段进行情绪的量化分析 SentiStrength positive {+1,+5} negative{-1,-5} SentiStrength, a lexical sentiment extraction tool.
人可以同时表达积极与消极的情绪 I love hating you. Love[3,-1] Hate[1,-4] absolutely love[4,-1] "looove" and "love!!!"
The final positive or negative score in a text snippet the emotion of an entire artifact
METHODOLOGY 3)Topic Modeling latent Dirichlet allocation (LDA) 文档主题词生成模型 我们认为一篇文章的每个词都是通过“以一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语”这样一个过程得到。 文档到主题服从多项式分布,主题到词服从多项式分布。 LDA是一种非监督机器学习技术,可以用来识别大规模文档集(document collection)或语料库(corpus)中潜藏的主题信息。
for every topic tj and topic emotion score tej
A={a1,q2,…,an} collaboration artifacts T={t1,t2,…,tm} the set of extracted topics Wn*m matrix wij the number of times a word present in artifact ai is associated with topic tj . E = {e1, e2, ..., en} denotes the emotion score of each artifact ai.
INITIAL EVALUATION AND RESULTS 1)Application ofApproach on Collaboration Artifacts a mailing list Confluence, a web-based software collaboration tool During the three month course, students were organised in teams of 5 to 8 students, developing applications for industrial partners. Each team had a project leader, usually a doctoral student, who performed project management activities.
2) Interviews with Project Leaders Two of the interviewees were able to correlate positive and negative emotion peaks with the team performance, and overall motivation during the project; as well as with important deadlines. Furthermore, the interviewed project leaders thought that presented graphs would help them react more accordingly, as they would be more aware of their teams emotions. In the interviews, one of the project leaders expressed fear that developers would change their expression form if they knew that a sentiment analysis approach was being used to analyze the teams’ emotions.
CONCLUSIONS AND FUTURE WORK We plan to further refine our approach by applying different summarization techniques and by expanding the lexicon of our sentiment analysis tool. We also plan to test our approach in a larger setting and analyze additional collaboration artifacts. We are also interested in researching how emotional awareness changes the team behavior and plan to analyze possible correlations of development teams’ emotions and other contextual factors, such as current tasks or calendar events.