Tampere University of Technology

TUTCRIS Research Portal

Software architecture design in global software development: An empirical study

Research output: Contribution to journalArticleScientificpeer-review

Details

Original languageEnglish
Article number110400
JournalJournal of Systems and Software
Volume158
DOIs
Publication statusPublished - 1 Dec 2019
Publication typeA1 Journal article-refereed

Abstract

In Global Software Development (GSD), the additional complexity caused by global distance requires processes to ease collaboration difficulties, reduce communication overhead, and improve control. How development tasks are broken down, shared and prioritized is key to project success. While the related literature provides some support for architects involved in GSD, guidelines are far from complete. This paper presents a GSD Architectural Practice Framework reflecting the views of software architects, all of whom are working in a distributed setting. In-depth interviews with architects from seven different GSD organizations revealed a complex set of challenges and practices. We found that designing software for distributed teams requires careful selection of practices that support understanding and adherence to defined architectural plans across sites. Teams used Scrum which aided communication, and Continuous Integration which helped solve synchronization issues. However, teams deviated from the design, causing conflicts. Furthermore, there needs to be a balance between the self-organizing Scrum team methodology and the need to impose architectural design decisions across distributed sites. The research presented provides an enhanced understanding of architectural practices in GSD companies. Our GSD Architectural Practice Framework gives practitioners a cohesive set of warnings, which for the most part, are matched by recommendations.

Keywords

  • Empirical study, Global software development, GSD, GSE, Scrum, Software architecture

Publication forum classification

Field of science, Statistics Finland