Teamwork in Distributed Agile Software Development
Abstract: Context: Distributed software development has become a most desired way of software development. Application of agile development methodologies in distributed environments has taken a new trend in developing software due to its benefits of improved communication and collaboration. Teamwork is an important concept that agile methodologies facilitate and is one of the potential determinants of team performance which was not focused in distributed agile software development. Objectives: This research shed a light on the topic of teamwork in the context of distributed agile software development. The objectives are to identify the factors contributing teamwork of distributed agile teams along with the dependencies between the factors. And, as it is not without challenges to work with unity in a heterogeneous environment, identification of challenges related to teamwork factors of distributed agile teams along with the mitigation strategies is an another objective. Methods: A systematic literature review (SLR) was employed to identify the teamwork factors along with their dependencies and corresponding challenges and mitigation strategies of each teamwork factor from state-of-the-art literature. Quasi-gold standard method was employed as search strategy in SLR to find out the primary studies representing the objective under investigation. Further a survey was conducted with industrial practitioners working in distributed agile projects to validate the findings from state-of-the-art literature. Results: A total of 13 teamwork factors (i.e. team orientation, shared leadership, mutual performance monitoring, backup behavior, feedback, team autonomy, team learning, coordination, communication, trust, collective culture, ease of use of technology, team familiarity), a set of nine dependencies between the teamwork factors and 45 challenges and 41 mitigation strategies related to the teamwork factors were identified from state-of-the-art literature. From survey result, communication, coordination, trust and team orientation were identified as four most important teamwork factors for distributed agile teams. Out of nine dependencies, seven were supported and two were not supported by the practitioners of distributed agile projects. Additionally, nine challenges and 12 mitigation strategies were identified through survey. Conclusions: From this study, we conclude that communication is the top most important factor for successful teamwork of distributed agile teams. And, unlike its prime importance in distributed software development for getting teams work together, trust was identified with a third priority for successful teamwork of distributed agile teams. Similar to the findings of the agile teams, team autonomy was identified with least importance towards the successful teamwork of distributed agile teams. Results of dependencies show that there is need for future research to explore all the dependencies between the teamwork factors. Furthermore, there are teamwork factors with no challenges and mitigation strategies being identified in state-of-the-art literature but later, through survey it was found that practitioners are facing the challenges for that particular teamwork factor. Though, this study identified those missed challenges, due to the limited number of participants involved in the survey, we cannot conclude that these were the only challenges faced in relation to the teamwork. Hence, there is a need to have a dedicated investigation in exploring all the challenges and mitigation strategies, such that it would help the distributed agile teams in attaining the fruitful interactions between them.
AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)