Software is being developed by increasingly distributed and interdisciplinary teams. Therefore, being able to collaborate efficiently across distances and disciplines is essential for contemporary software development. In this talk, I will present my research on improving collaboration efficiencies in fork-based development, which is a lightweight mechanism that allows developers to collaborate with or without explicit coordination. Although fork-based development is easy to use and popular, when developers each create their own fork and develop independently, their contributions are usually not easily visible to others. When the number of forks grows, it becomes very difficult to maintain an overview of what happens in individual forks, which would lead to additional problems and inefficient practices: lost contributions, redundant development, fragmented communities. Facing these problems, I developed two complementary strategies: (1) Identifying existing best practices and suggesting evidence-based interventions for projects that are inefficient; (2) designing new interventions that could improve the awareness of a community using fork-based development, and help developers to detect redundant development to reduce unnecessary effort. I will conclude the talk by describing my future research directions of improving collaboration capability for interdisciplinary software teams, especially a team mixed with data scientists and software engineers for building AI-enabled systems.
Shurui Zhou ( https://www.cs.cmu.edu/~shuruiz/ ) is a Ph.D. candidate in the School of Computer Science at Carnegie Mellon University (CMU). She received her Bachelor’s degree at Xi’an Jiaotong University and her Master’s degree at Peking University. Her research focuses on helping distributed and interdisciplinary software teams to collaborate more efficiently, especially in the context of modern open-source collaboration forms, fork-based development, and interdisciplinary teams when building AI-enabled systems or scientific software. To achieve her goals, she combines advances in tooling and software engineering principles with insights from other disciplines that study human collaboration (e.g., Organizational Behavior), for which she combines and mixes a wide range of research methods. During her time at CMU, she has collaborated with researchers from IT University (Denmark), University Federal of Minas Gerais (Brazil), Peking University (China), and Iowa State University (USA). These collaborations have resulted in ACM and IEEE publications which have been presented at international conferences in software engineering (ICSE, FSE, SANER, ISSRE).
Faculty Host: Darko Marinov