Distributed Agile Development Communication: An Agile Architecture Driven Framework

Yehia Ibrahim Alzoubi, Asif Qumer Gill, Ahmed Al-Ani
2015 Journal of Software  
Agile methods depend on active communication and effective knowledge sharing among team members for producing high quality working software systems in short releases and iterations. However, effective communication in Distributed Agile Development (DAD) can be challenging due to a number of different factors, such as physical locations, multi-cultures and time-zones. The agile body of knowledge mainly discusses some technology and non-technology solutions and strategies to mitigate the DAD
more » ... nication challenges from a project management perspective. Nevertheless, it has recently been argued that there is a need to understand and analyze DAD communication from other related but different perspectives, such as enterprise strategy, enterprise architecture and service management. Due to the fact that agile EA provides a holistic view and blueprint of the whole environment in which a number of projects are developed and managed, we attempt in this study to explore the effect of agile Enterprise Architecture (EA) on DAD communication. Particularly, we propose the development of an agile EA driven approach from the architecture body of knowledge for handling the DAD communication challenges that have not been thoroughly investigated before. Journal of Software and approaches to address the poor communication and knowledge sharing concerns in DAD [8], [9] . Most studies, which have addressed DAD communication and knowledge sharing challenges, recommend adopting and using the available technologies (e.g., Wiki and video conferencing) to enhance DAD communication. However, DAD communication needs to be looked at from more holistic perspective instead of a simple technological perspective. This paper is such one attempt and explores the impact of agile enterprise architecture (EA) on DAD communication. This study investigates that an agile EA driven approach along with the available communication technologies could possibly enhance the efficiency and effectiveness of DAD communication [10] . The structure of this paper is as follows. Section 2 provides the research background. Section 3 provides the related literature review. Section 4 presents and discusses the proposed agile EA driven DAD communication approach. Sections 5 and 6 present the discussion and conclusion respectively. Background Agile development focuses on using informal face-to-face communication among the team members. Informal communication can be defined as the personal peer-oriented communication that takes place outside the official structure and without the knowledge of management [4] . Informal communication helps in filling and correcting mistakes quickly, and is essential for agile practices and principles [1] . Since agile approaches depend heavily on informal and face-to-face active communication and coordination among co-located team members and customers, physical proximity becomes essential for participants to engage in informal communication [11] . The success of agile in small and medium environments encourages large software development organizations to adopt DAD approaches, however, these approaches may not be straightforward and possess many challenges especially communication related challenges. It has been reported that the DAD project takes 2.5 times more than the same project in the local agile context [3] . Inefficient DAD communication is perceived to be the source of most of the other DAD challenges [11] . In other words, without successful DAD communication between distributed teams and developers, DAD projects may fail. Therefore, no wonders that many researchers and practitioners are showing strong interest in investigating the issue of DAD communication. Many solutions and strategies have been introduced to resolve DAD communication challenges through using available tools and technologies such as Wiki, teleconference videoconference, exchanging visits and changing developer's roles [2], [9] . However, these tools cannot resolve many challenges like difference in personal attitudes, languages and cultures, so there is still a pressing need for discovering alternative solution options [11] . The importance of the organizational communication patterns in software development has been recognized for long time (e.g., Conway's Law, which suggests that the structure of the product mirrors the organizational structure) [12] . For many years, software development has often been structured in accordance with the architecture design of the product being developed [12] . This study investigates the DAD communication issue from the perspective of enterprise level architecture instead of the local software architecture perspective. It proposes an agile EA driven approach for enhancing DAD communication. Hence, the aim of this paper is to discuss the relationship between DAD communication and agile EA. This approach intends to provide a holistic shared vision based approach to enhance the efficiency and effectiveness of DAD communication. This approach incorporates ideas from recent research about agile and non-agile EA, and agile software development methods and frameworks. In summary, to achieve this objective, this study focuses on the following two questions: RQ1. What are the challenges or limiting factors of DAD communication? RQ2. How can agile EA be used to enhance DAD communication? 682 Volume 10, Number 6, June 2015 Journal of Software In this section, background literature relevant to the study is discussed. Firstly, we discuss communication challenges in the context of DAD, after which we discuss agile EA in the context of DAD communication. Secondly, we introduce the Gill Framework® -domain architecture [13] that can be used to establish an agile EA capability in the context of DAD. An agile EA capability then can be used to enhance DAD communication. The discussion about the actual development of the agile EA capability is beyond the scope of this paper. These elements as a whole provide the theoretical basis and framework for our study. Distributed Agile Development Communication DAD is seen as an important software delivery model [10] . However, management of co-located team, whilst still hard, is much easier than management of DAD team. This is because, for co-located team, there is an opportunity for daily face-to-face communication at any time, which helps in dealing with questions, confusions, difficulties, or doubts instantaneously (e.g., daily stand-up, showcases, reviews). This seems difficult in the case of DAD where geographical, cultural and temporal distances have been identified as the key barriers for DAD communication and collaboration [14] . The combination of these challenges decreases the efficiency of DAD communication and makes it a complex task [15] . Other authors argue that the biggest problem for DAD communication is the cross-team work, which according to Ali Babar et al. [16] should be reduced. Kuusinen et al. [17] argue that the main problems with DAD communication are the inability to have face-to-face conversation, lack of frequent feedback between users, lack of experienced designers and architect teams, and lack of synchronization between different DAD teams [17] . The ineffective communication may result in less coordination between DAD teams and lack of understanding of the customer's requirements [17] . Also, communication can be a challenge for a developer if he/she handles multiple projects at once, when he/she expects written formal documents and requirements, or when his/her responsibilities are not clear [18] . However, other studies reported that using informal communication in complex DAD projects is problematic comparing to simple co-located agile projects [5] . Moreover, too much informal communication and inadequate technology represent challenges for DAD communication especially with weak communication skills of the team members [18] . Recently, a systematic literature review study has been conducted in the context of DAD communication challenges and strategies [2] . The authors have identified seven challenging categories along with the strategies to overcome those challenges. Each category has some underlying challenges. There are 22 DAD communication challenges in total. Table 1 summarizes these challenges and recommendations [2] . These findings are used as the basis for this study. The first challenge category (C1) is "People Difference". This category has four communication challenges: cultural difference (i.e., different cultures among DAD developers), people attitude (i.e., different personal attitude of DAD developers), language (i.e., different languages used among DAD developers), and trust (i.e., the difference in trust towards DAD developers depending on their locations or countries) [2] . "Distance Differences" (C2), as the second mentioned challenge type, includes 2 challenges; different time zones and different geographical areas [2] . It has been noticed that the "Distance Differences" challenges are associated with productivity and performance, particularly when the teams are divided by space and time-zones [14] . The third challenge type (C3) is the "Team Issues". This type includes all possible challenges related to DAD teams, such as team size, team distribution (i.e., number of sites), cross-team (i.e., amount of information needs to be exchanged between DAD sites) work, cross-team communication [2]. The fourth challenge type (C4) is "Technology Issues". This type includes all issues related to technology used to establish DAD communication. It includes DAD communication tools, infrastructures, communication 683 Volume 10, Number 6, June 2015 Journal of Software bandwidth (i.e., speed of communication or internet means), and the overall cost to establish DAD communication using available technologies [2]. "Architectural Issues" type is mentioned fifth in Table 1 (C5) [2] . This category refers to architecture (i.e., difference in architectures used in DAD teams), organizational structure (i.e., differences in organizational structures between DAD teams), managerial structure (i.e., differences in management styles or structures between DAD teams), and project domain (i.e., type of project each DAD team or all teams develop). "Architecture Issues" have not been paid much attention in the literature; in fact most of the studies which mentioned this category have indirectly pointed to the "Architecture Issues" as a challenge of DAD communication [2] . Jaanu et al. [19] reported that the lack of appropriate architecture decreases the communication and knowledge sharing efficiency among DAD teams and team's members. Also, it represents a communication barrier to DAD due to misunderstanding or an unnecessary flow of communication as a result of insufficient definition of a system and software structure [20] . As shown in Table 1 , some strategies and recommendations were introduced by authors such as using reference architecture and agreement on the high level project requirements by all DAD teams and team's members at the beginning of the new project, increasing the trust among DAD teams and members, increasing the project's transparency, promoting common interest of the project and team goals, and providing organizational chart to all DAD teams and team's members [19] , [20] . Sharing interfaces for strategic aspects, coordination with the overall strategy and local process, using documentation, standards, and monitoring systems 7 Customer Communication Promoting customer involvement or customers' representative, rapid communication with customers 684 Journal of Software understanding of design among DAD teams [32], [33]. To address the design issue, EA has to be introduced or shared among DAD teams at least for the minimum level [24], [32] . This study argues that to address the DAD communication issue, the design issue needs to be addressed. Therefore, to address the design issue, agile EA artifacts need to be developed and used among the DAD teams. It is anticipated that not only DAD communication will be enhanced by using the agile EA, but also the overall agility and productivity will be increased. Fig. 2. The gill framework-domain architectures [27]. Distributed Agile Communication Approach It is evident from the analysis that agile EA seems useful for DAD. However, it is not clear how can the agile EA actually support DAD. In this section, we propose an agile EA driven approach to support DAD communication. Firstly, we discuss the holistic framework of DAD communication incorporating agile EA as a communication tool to be used by DAD teams. Secondly, we discuss how the use of the agile EA driven DAD communication framework can enhance communication. DAD Communication Framework DAD communication framework is built on the notion that communication among DAD teams, among DAD team's members, or with management level can be enhanced through agile EA. Fig. 3 represents the holistic view of the DAD communication framework. This framework shows the DAD in the "program" level, where DAD program may have "N" number of DAD projects and "N" number of architecture owners. It also shows DAD in the "project" level, where DAD project may have "N" number of DAD teams and only one architecture owner (Fig. 3) . In the 'project' level, the architecture owner share solution architecture among project's teams and/or team's members and update the agile EA after completing the systems or sub-systems. In the "program" level, DAD projects (i.e., architecture owners) can communicate with each other using the big picture of an agile EA. Agile EA provides the shared vision. It is a shared knowledge-base or a repository that is visible to all levels and teams. DAD teams do not use too much documentation; rather they use agile EA artifacts. These artifacts can be stored in and accessed from the shared architecture knowledge-base by the DAD teams in the form of diagrams, charts, tables, and so on. Communication challenges affect all communication's levels (i.e., programs, projects and teams' communication). Three main elements are used to describe the DAD communication framework [34] ; 688 Journal of Software co-located team's context due to many challenges such as time, distance, and cultural differences. Because of these challenges, most of the existing DAD teams and developers coordinate and control their work using available synchronous and asynchronous communication tools, and visiting other teams or team's members. In fact, DAD projects have two complementary communication needs; the formal communications for crucial tasks (e.g., updating project status, escalating project issues), and informal communication in order to keep team members aware of the information that would enable them to work together efficiently [36] . Addressing DAD communication challenges is conceptually simple: remove all needs for the cross-team communication and coordination. This would allow small DAD teams to develop and release independently, and increase development efficiency. However, DAD teams are still building solutions that are part of a larger system and therefore cannot be completely independent. Journal of Software also expected to be responsible for documenting (or updating) and communicating the architecture with all agile project's participants. Conclusions It has been well-established that DAD projects face many challenges, which are mostly communication related. In fact, the cost of communication is much higher in DAD than in a local context due to the communication inefficiencies. Development that relies on significant cross-team communication performs poorly in DAD contexts. Agile EA may enhance the DAD communication, in one hand, and reduce the communication frequency, in the other hand. This paper explores the effect of agile EA on DAD communication. In the past, DAD communication was mainly discussed in the context of available social communication tools, whereas here we propose the use of a holistic agile EA as a means for supporting communication and coordination of DAD teams. This paper provides only initial investigation on the agile EA and DAD communication. In future, more empirical work on the use of agile EA in DAD will be presented to the community as an ongoing contribution in this important and timely area of research.
doi:10.17706/jsw.10.6.681-694 fatcat:mn25gydu4fbcthft5dbgj6mjvy