A theory of branches as goals and virtual teams

Christian Bird, Thomas Zimmermann, Alex Teterev
2011 Proceeding of the 4th international workshop on Cooperative and human aspects of software engineering - CHASE '11  
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
more » ... 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.
doi:10.1145/1984642.1984655 dblp:conf/icse/BirdZT11 fatcat:hvqqbeokzrdfjhf4njrfhvfske