Collaboration patterns of successful globally distributed agile software teams: the role of core developers
Licorish, Sherlock Anthony
MetadataShow full metadata
Agile global software development (AGSD) has become increasingly prevalent in the last decade. AGSD occurs in environments that are inherently affected by elevated incidence of team-related challenges and issues, and so a growing body of research has centred on understanding teams that have overcome the challenges introduced by distance, and have succeeded in delivering high-quality products. Opportunities to study such teams are invaluable in terms of strengthening the AGSD knowledge base. In particular, evidence captured in repositories and software logs, which are commonly used for communication in AGSD settings, has provided novel insights into team processes. One such observation is evidence of a centralised communication and task performance pattern for both open source and closed source AGSD teams. While this pattern has been noted, however, there has been little effort to understand the reason behind this phenomenon. Previous research has shown that central individuals are important to their teams’ performance, as they coordinate information flow. Thus, understanding these members’ roles in, and contributions to AGSD contexts would add significantly to the software engineering literature base considering the study of team dynamics from communication logs and repository data. The research reported in this thesis is a contribution to that literature base. This research has used data mining techniques, social network analysis (SNA), psycholinguistic analysis and directed content analysis (CA) under a pragmatic case study design to study artefacts contributed by ten IBM Rational Jazz AGSD teams comprising 146 software practitioners, in order to explain the collaboration patterns of successful AGSD teams and how and why core developers contribute to AGSD team dynamics. Drawing on role theories, behavioural and organisational psychology, social motivation, sociology and group interaction theories to delineate the novel findings from this case study, it is revealed that: communication patterns established early in a software project are maintained throughout; successful teams have highly connected communication networks; core communicators are also core developers; successful AGSD teams are social and task driven; formal role assignment does not pre-determine communication and coordination actions; and core developers operate across roles – both organisational and interpersonal. The results have shown that core developers’ task performance influences their need to communicate, and that core developers’ performance is linked to the demands of their teams. Findings also established that core developers’ language processes are related to their involvement in knowledge sharing and task performance. These findings form the basis for initial conjectures of explanatory theories. This research also extends the software engineering literature and AGSD knowledge base, contributes insights for those intending to adopt a pragmatic approach in the study of software repository data, provides directions for further research, and outlines implications for software engineering practice. In terms of software engineering practice, project managers are encouraged to plan for inevitable variations in communication volume, to consider task assignment as a mechanism to enhance knowledge redundancy and so reduce reliance on core developers, to exercise flexible project governance in order to facilitate self-organisation, to ensure a mix of social- and task-focused practitioners in AGSD teams, to encourage team-wide participation when core developers are most active to maximise team mentoring, to support core developers by surrounding them with other excellent communicators, and to facilitate frequent communication by top task performers. Emergent evidence in communication may also inform project diagnostics, and software tools with features that manage coordination requirements and prioritise team communication are likely to aid AGSD project governance and team performance.