Software Development in Distributed Teams: An Analysis of the (Pre)-Formation Team Building Phase (Master Thesis) (original) (raw)

This thesis deals with the question of which key factors and critical areas in teams for distributed software development are crucial for the success of the teamwork. In the theoretical part, theories and models explaining the dynamics of group formation as well as the effects of geographic dispersion on the software development process are discussed. The empirical part consists of a qualitative case study. Participants of the study were six team members from two companies that were on the verge of establishing a virtual team, in addition to two experts from the immediate environment of this team. The primary data originated from the verbatim transcripts of problem centered interviews that were conducted with all participants. Two fundamental goals drove the collection of the data and the subsequent data analysis for this thesis. First, to gain an understanding about the expectations of team members of a distributed software development team in the formation phase i.e. what are advantages and disadvantages of virtual teams in their opinion, do they expect specific issues that are crucial in a remote team environment, and if so, do they have proposals for solutions, and second, to determine if experts from the same professional field have made corresponding or contradicting experiences. The subsequent qualitative content analysis of the transcripts revealed a close match between the assessment of experts and team members. The most important consistently identified key areas were: teamwork, information and knowledge, software development, training, social interaction, company culture and leadership, quality, project management, motivation, infrastructure, finance, and communication. Based on the findings of the interview sessions and the results from the literature review some recommendations for this case were collected. The list of recommendations contains tools and services from the areas communication, project management, and software development to help practitioners initiate a sustainable software development process.