Awareness and coordination in shared workspaces
CSCW '92 Proceedings of the 1992 ACM conference on Computer-supported cooperative work
On the criteria to be used in decomposing systems into modules
Communications of the ACM
Palantír: raising awareness among configuration management workspaces
Proceedings of the 25th International Conference on Software Engineering
Introduction to Data Mining, (First Edition)
Introduction to Data Mining, (First Edition)
CSCW '06 Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work
Awareness in the Wild: Why Communication Breakdowns Occur
ICGSE '07 Proceedings of the International Conference on Global Software Engineering
The influence of organizational structure on software quality: an empirical case study
Proceedings of the 30th international conference on Software engineering
Empirical evidence of the benefits of workspace awareness in software configuration management
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
The promises and perils of mining git
MSR '09 Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories
Proceedings of the 2010 ICSE Workshop on Cooperative and Human Aspects of Software Engineering
Cohesive and isolated development with branches
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
The effect of branching strategies on software quality
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
Assessing the value of branches with what-if analysis
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Hi-index | 0.00 |
A common method of managing the complexity of both technical and organizational relationships in a large software project is to use branches within the source code management system to partition the work into teams and tasks. We claim that the files modified on a branch are changed together in a cohesive way to accomplish some task such as adding a feature, fixing a related set of bugs, or implementing a subsystem, which we collectively refer to as the goal of the branch. Further, the developers that work on a branch represent a virtual team. In this paper, we develop a theory of the relationship between goals and virtual teams on different branches. Due to expertise, ownership, and awareness concerns, we expect that if two branches have similar goals, they will also have similar virtual teams or be at risk for communication and coordination breakdowns with the accompanying negative effects. In contrast, we do not expect the converse to always be true. In the first step towards an actionable result, we have evaluated this theory empirically on two releases of the Windows operating system and found support in both.