An Evaluation Study of Architectural Design Decision Paradigms in Global Software Development.

Global software development (GSD) is considered as the coordinated activities of software development that are geographically and temporally distributed. The management of architectural knowledge, specifically, architectural design decisions (ADDs), becomes important in GSD due to the geographical, temporal, and cultural challenges in global envi- ronments. Based on our previous work on ADD management in localized software development (LSD), we present five ADD paradigms used for GSD projects with different organizational structures. We also investigate the benefits and the challenges of the ADD paradigms by conducting an evaluation of the paradigms using extensive archived semi-structured interview data from industrial GSD projects. We aim to provide a fundamental framework for managing ADD documentation and evolution in GSD, as well as offer useful insights into managing architectural knowledge in a global setting. Keywords-architectural design decisions; global software de- velopment; documentation; evolution I. INTRODUCTION Global software development (GSD) is an increasing fo- cus in the field of software engineering. It can be considered as the coordinated activities of software development that are not localized and centralized but geographically and temporally distributed (12). Little attention has been paid to software architecting processes and software architectural knowledge management in the context of GSD. Similar to localized software projects, software architecting and architectural knowledge are important to support design- ing, developing, testing, and evolving software. We note, however, that in the global development of large complex systems, architecture plays an even more critical role in the structure of the project (11). Therefore, managing and coordinating architectural knowledge such as architectural design decisions (ADDs) is a significant and also relatively new research problem in the context of GSD. In our previous work on ADD management, we had an overall goal of providing a systematic approach that supports ADD documentation and evolution in a localized software development (LSD) context. Based on this, in this paper, we present and discuss five typical ADD management paradigms for global software projects, and we also conduct an evaluation on these paradigms using archived semi- structured interview data from industrial GSD projects to investigate the benefits and the challenges of each paradigm in the GSD contexts. Since little work has been done on ADD documentation and evolution in GSD research and practice, we aim to provide a fundamental framework for managing ADD documentation and evolution in a global setting, and also provide better insights into architectural knowledge management for researchers and practitioners in GSD contexts in the field of software architecture. To the best of our knowledge, our study is the first to provide ADD management paradigms in GSD projects and to support architectural knowledge management in global settings. Our study provides evidence that managing ADDs in the GSD contexts reduces the complexity of coordination and integration among multiple distributed sites, decreases misunderstanding among different people, and also offers useful documentation for project planning and other man- agement policies. Our evaluation is also the first industrial investigation into the benefits and the challenges of global ADD management in practice.