How do Globally Distributed Agile Teams Self-organise? Initial Insights from a Case Study

Sherlock A. Licorish,Stephen G. MacDonell
DOI: https://doi.org/10.5220/0004437001570164
2021-06-20
Abstract:Agile software developers are required to self-organize, occupying various informal roles as needed in order to successfully deliver software features. However, previous research has reported conflicting evidence about the way teams actually undertake this activity. The ability to self-organize is particularly necessary for software development in globally distributed environments, where distance has been shown to exacerbate human-centric issues. Understanding the way successful teams self-organise should inform distributed team composition strategies and software project governance. We have used psycholinguistics to study the way IBM Rational Jazz practitioners enacted various roles, expressed attitudes and shared competencies to successfully self-organize in their global projects. Among our findings, we uncovered that practitioners enacted various roles depending on their teams' cohort of features; and that team leaders were most critical to IBM Jazz teams' self-organisation. We discuss these findings and highlight their implications for software project governance.
Software Engineering
What problem does this paper attempt to address?
The problem that this paper attempts to solve is: In distributed agile software development, how do team members self - organize? Specifically, the researchers hope to explore how these factors affect team self - organization by analyzing the behaviors, attitudes, and capabilities of IBM Rational Jazz practitioners in different roles. The paper also aims to explore the implications of these findings for the composition strategies and project governance of distributed agile software development teams. ### Research Background and Problems 1. **The Influence of Human and Social Factors on the Performance of Software Development Projects** - Recent evidence shows that human and social factors are one of the important factors determining the performance of software development projects. - Specific role assignments can improve task performance, indicating that specific software activities require specific capabilities. 2. **Self - Organization in Agile Development** - Agile development methods (such as XP, ASD, Scrum) emphasize self - organization and more flexible team role assignments. - Previous research has found that agile team members do assume different roles as needed to promote the self - organization of the project. 3. **Challenges in the Distributed Development Environment** - In the distributed development environment, distance exacerbates interpersonal problems, so understanding how successful teams self - organize is particularly important for the composition strategies and project governance of distributed teams. - Previous research has not fully explored the issues of experts, role assignments, role assumption, and self - organization in the distributed development environment. ### Research Questions 1. **RQ1**: In distributed agile software development, how are roles assumed? 2. **RQ2**: Are the roles actually assumed by practitioners related to their specific attitudes and capabilities? ### Research Methods - **Research Setup**: Through case studies, project artifacts and message data extracted from the IBM Rational Jazz platform were analyzed. - **Data Analysis Tools**: The Linguistic Inquiry and Word Count (LIWC) software tool was used to analyze the language styles of practitioners to identify their attitudes and capabilities. ### Main Findings - **Role Assumption** - Multi - role assumers show higher individualistic language, but at the same time use more positive language, which helps to create a positive team atmosphere. - Team leaders use more collective language and assume task - planning and social roles. - Project managers use more cognitive language and negative - emotion language. - Programmers show the most frustration during the project development process. - **Attitudes and Capabilities** - Practitioners in different roles show diverse attitudes and capabilities, and these differences may provide a balancing effect for the team's self - organization. ### Conclusions and Significance - **Mechanisms of Self - Organization**: Team members in distributed agile development achieve effective self - organization by assuming different roles and demonstrating different attitudes and capabilities. - **Implications for Project Governance**: The research results provide valuable references for the composition strategies and project governance of distributed agile software development teams. Through these findings, the researchers hope to provide theoretical support and practical guidance for the management and optimization of distributed agile software development teams.