TY - GEN
T1 - How Are Communication Channels on GitHub Presented to Their Intended Audience? - A Thematic Analysis
AU - Ebert, Verena
AU - Graziotin, Daniel
AU - Wagner, Stefan
N1 - Publisher Copyright:
© 2022 ACM.
PY - 2022/6/13
Y1 - 2022/6/13
N2 - Communication is essential in software development, and even more in distributed settings. Communication activities need to be organized and coordinated to defend against the threat of productivity losses, increases in cognitive load, and stress among team members. With a plethora of communication channels that were identified by previous research in open-source projects, there is a need to explore organizational issues in how these communication channels are introduced, explained, and motivated for use among all project members. In this study, we wanted to understand which communication channels are used in GitHub projects and how they are presented to the GitHub project audience. We employed thematic analysis to analyze 151 artifacts in 90 GitHub projects. Our results revealed 32 unique communications channels that can be divided into nine different types. Projects mostly provide channels of different types, but for some types (e.g., chat) it is common to provide several channels. Maintainers are aware that channels have different properties and help the developers to decide which channel should be used in which case. However, this is not true for all projects, and often we have not found any explicit reasons why maintainers chose to provide one channel over another. Different channels can be used for different purposes and have different affordances, so maintainers have to decide wisely which channels they want to provide and make clear which channel should be used in which case. Otherwise, developers might feel overwhelmed of too many channels and information can get fragmented over multiple channels [31].
AB - Communication is essential in software development, and even more in distributed settings. Communication activities need to be organized and coordinated to defend against the threat of productivity losses, increases in cognitive load, and stress among team members. With a plethora of communication channels that were identified by previous research in open-source projects, there is a need to explore organizational issues in how these communication channels are introduced, explained, and motivated for use among all project members. In this study, we wanted to understand which communication channels are used in GitHub projects and how they are presented to the GitHub project audience. We employed thematic analysis to analyze 151 artifacts in 90 GitHub projects. Our results revealed 32 unique communications channels that can be divided into nine different types. Projects mostly provide channels of different types, but for some types (e.g., chat) it is common to provide several channels. Maintainers are aware that channels have different properties and help the developers to decide which channel should be used in which case. However, this is not true for all projects, and often we have not found any explicit reasons why maintainers chose to provide one channel over another. Different channels can be used for different purposes and have different affordances, so maintainers have to decide wisely which channels they want to provide and make clear which channel should be used in which case. Otherwise, developers might feel overwhelmed of too many channels and information can get fragmented over multiple channels [31].
KW - communication channels
KW - GitHub projects
KW - open-source
UR - http://www.scopus.com/inward/record.url?scp=85132404389&partnerID=8YFLogxK
U2 - 10.1145/3530019.3530024
DO - 10.1145/3530019.3530024
M3 - Conference contribution
AN - SCOPUS:85132404389
T3 - ACM International Conference Proceeding Series
SP - 40
EP - 49
BT - Proceedings of the ACM International Conference on Evaluation and Assessment in Software Engineering, EASE 2022
PB - Association for Computing Machinery
T2 - 26th ACM International Conference on Evaluation and Assessment in Software Engineering, EASE 2022
Y2 - 13 June 2022 through 15 June 2022
ER -