A Proposal to Improve Communication between Distributed Development Teams

Автор: Mashael Saeed Alqhtani, M. Rizwan Jameel Qureshi

Журнал: International Journal of Intelligent Systems and Applications(IJISA) @ijisa

Статья в выпуске: 12 vol.6, 2014 года.

Бесплатный доступ

Distributed system development (DSD) is implemented by distributed development teams that are separated by long distances and different time-zones. Communication between distributed development teams in distributed software development applies a major and critical role in the success of process. Conflicts between distributed teams bring high risks to fail a development project due to poor communication. Therefore, it is important for distributed teams to communicate effectively to complete a successful project. In this paper, the authors propose an improved solution for effective communication among distributed development team by integrating administrative and technical procedures to successfully complete a project. Survey is used as a research design to validate the proposed solution. The results show that the respondents support the proposed solution that it will solve the industry problem by providing an effective means of communication in a DSD environment.

Еще

Distributed System Development (DSD), Integrated Development Environments (IDE), Communication, Conflict

Короткий адрес: https://sciup.org/15010635

IDR: 15010635

Текст научной статьи A Proposal to Improve Communication between Distributed Development Teams

Published Online November 2014 in MECS

Many medium to large enterprise companies operate distributed systems to run businesses. Development of distributed system is one of the most difficult challenges. Distributed system development (DSD) is implemented using distributed development teams. Software development companies faced lot of challenges and obstacles to develop distributed software with distributed teams. Effective communication between distributed teams is one of the difficult challenges with different time-zones, language and culture. Therefore effective communication between distributed teams, in distributed software development, applies a key role in the success of project. There are many risks associated between distributed teams such as conflicts on specifications of software due to poor communication. It is important for distributed teams to communicate effectively to resolve such risks in a systematic way.

The studies [1-3] tried to solve the communication problem in DSD, but these studies focused on administrative or technical issues. This research is conducted to propose an improved solution covering both administrative and technical issues to provide an effective means of communication to ease in distributed development with distributed teams.

This paper is arranged as follows: section 2 covers related work; the problem statement is described in section 3; section 4 proposes an improved solution; the validation of the proposed solution is described in section 5.

  • II.    Related Work

The main aim is to define a set of requirements of open conversations and discuss an improved version of Communico tool [1]. Members need open conversations to organize tasks, exchange information and experiences, and acquiring new knowledge. Communico tool main restriction is privacy issue. Dullemond et al. [2] discuss that software engineering is a combination of collaborative activities. Team member must be associated to a group and groups are organized hierarchal. Changing the sequence of communication media can affect the conflict resolution in DSD [3]. Communication method has a significant effect in conflict resolution in a DSD project. Different communication media need to be used (such as e-mails, instant messaging and phones) to handle conflict resolution [3].

Poor communication brings into risks to fail a DSD project and the strategies are discussed to mitigate such risks [4]. There is a strong impact of communication process in the success of a DSD project [4]. Silva et al. [5] present a methodical review of the significant challenges, set of best practices and existing technological tools of DSD. The main objective is to gain and organize knowledge helping to address the obstacles and difficulties to manage DSD projects [5]. A systematic review about communication methods is presented in distributed software development [6]. The aim is to specify and summarize the major factors that increase the effectiveness of communication in DSD projects [6].

A research is conducted to propose new methods to manage communications process in DSD projects to reduce the risks associated to poor communication [7]. There is no validation provided and the research is poorly designed [7]. Existing collaborative development environments (CDE) and tools are discussed to allow effective software global and local development [8]. No current tool supports all the necessary activities for global software engineering [8]. There is a need of new cooperation tools and associated best practices for global software    development.    Existing collaborative development environments and tools do not allow effective global software development [8].

Son and Park [9] seek to determine how conflict impacts the communication frequency in a virtual team and then how communication frequency impacts the performance of the team performance. Communication frequency was a major factor to manage and reduce conflicts. It is found that frequency of communication is fluctuated by each conflict type and it has an impact on performance of team. Team performance will be reduced by decreasing the frequency of communication [9].

Table 1. Comparison of Related Work

Paper Title

Limitations

Overhearing Conversations in Global Software Engineering - Requirements and an Implementation [1]

o Privacy issues.

o IM-conversations conversation as part of the Open Conversation Space.

o The people must work concurrently for the conversations to occur.

Collaboration Should Become a First-Class Citizen in Support Environments for Software Engineers [2]

o Only affects the participants and active conversations the user sees only.

o Give user accesses to the message board of a particular group only.

o The user can be reacts in one group only.

o Groups are hierarchal.

Impact of Changing Communication Media on Conflict Resolution in Distributed Software Development Projects [3]

o The conflict type which is investigated against changing sequence of mediums is ambiguity in SRS (Software Requirement Specification) only.

o This study was conducted in the same environment (DSD) domain.

Elicitation of Communication Inherent Risks in Distributed Software Development [4]

o The qualitative model is subject to human constraints through the use of information based on experiences of people.

Challenges and Solutions in Distributed Software Development Project Management: a Systematic Literature Review [5]

o This research did not review some scientific databases such as Scirus e Scopus, InspecDirect, Wiley InterScience and SpringerLink.

A Systematic Tertiary Study of Communication in Distributed Software Development Projects [6]

o The authors will work to enhance this study by experimentally stressing the specified relationship and proposing a model to evaluate the maturation of the communication process in distributed development teams.

o They will develop a tool that supports this diagnosis also.

Best Practices to Enhance the Communication in Distributed Software Development Environments [7]

o This work just proposes good practices without apply or perform a case study to monitor and evaluate how the project well works.

Collaboration Tools for Global Software Engineering [8]

o No current tool or CDE supports all the necessary activities for global software engineering.

Conflict Management in a Virtual Team [9]

o Their methods of measurement did not take in consideration that conflicts may link to each other with the passage of time.

o On a virtual team, it will be important to oversee and maintain a relatively constant frequency of communication.

Towards a Communication Maturity Model For Distributed Software Development [10]

o The research just proposes the model without implement and validates it. o And the proposed model has some complexity.

The aim is to propose a maturity model for communication in distributed system development DSD, to support communication process in such software development environment [10]. The research just proposes the model without implementing and the proposed model is complex in nature.

In rapidly changing environment, development team faced more problems to manage the currently working module and its adjustment with the coming working software to work as a complete product [11]. The understanding of complete working project in such environment is very difficult for project team. Daily meetings in Scrum development helped the project team to overcome this situation to some extent but these meetings conducted for short time and have shown limited scope just with currently developing module. Therefore main issues to handle the changing requirements according to the project scope remained unaddressed. This has resulted to cross the estimated timeline for sprint. When early sprints did not match the time period, the risk of project failure increased seriously.

Projects failed to meet timeline in scrum development in case of lack of coordination between team members and product owner and due to incomplete requirements when product owner has no clear sense of product scope with changing requirements [12]. Problems created to design an initial plan of the project and in prioritizing the sprint backlog. Product owner, development team and Scrum master failed to understand the project scope according to the customer demand due to gap with customer coordination and understanding of their own responsibilities.

Qureshi et al. [13] highlight the role of implicit coordination helping the software development team members to act intelligently in time demand environment to achieve common goals. An implicit coordination model is proposed that needs to validate using a case study. The need of high level collaboration and coordination among team members increasing day by day for rapidly building quality software in agile development environment [14]. Collaboration shows high performance of team members than the sum of individuals’ performance for a specific task. The term collaboration can be understood by the following definitions which can help to understand the scope of it. Coordination is one of important feature for team working in a group to achieve common goals by sharing their interest and aligning different views [15]. The coordination process is easily understood by team and task coordination and by explicit and implicit coordination. Collaboration and coordination are closely related activities [11]. These help team members to work together to achieve common goals. The main feature of collaboration is to focus on problem solving aspects of team work. It is defined as the mental aspects of group problem solving for the purpose of achieving a shared understanding, making a decision, or creating a product while coordination is a set of synchronized actions that team members take to achieve common goals. These two processes depend on one another and have similar requirements for shared understanding therefore collaboration and coordination come together in most of time to support each other. Coordination is going to play an important role in software development to successfully manage complex interdependencies that exit among software tasks [14] to improve performance of team members and meet timelines. The need of high level collaboration and coordination among team members increasing day by day for rapidly building quality software in agile development environment [15]. Collaboration shows high performance of team members than the sum of individuals’ performance for a specific task. The term collaboration can be understood by the following definitions which can help to understand the scope of it. The activities in which individual people or group and groups of people engage to work together, either at a common geophysical location or from multiple diverse locations, working and communicating either synchronously or asynchronously to achieve some end result [14]. Collaboration can be achieved only when all team members desire the same outcome, share the same information through communication and coordination about current situation. Roles and responsibilities are clearly understood by each individual that are working together. Some set of practices are followed by team members for high collaboration.

  • III.    Problem Statement

Communication factor has a major role in the success of distributed software development projects. However, tools play significant role for effective communication when teams are distributed [1]. Software engineering is a combination of collaborative activities [2]. Communication plays a critical role in conflict resolution in DSD projects [3]. Effective communication becomes a challenge in project management of DSD [5], and it is important for the distributed team to communicate properly, correctly and concurrently [10]. This research aims to propose an improved solution for effective communication between distributed teams.

  • IV.    The proposed solution

There is a pressing need to solve communication problems in distributed software development. This is achieved by integrating administrative and technical methods. The proposed solution is divided into two parts:

  •    management of distributed teams;

  •    communication tools.

  • A.    Management of Distributed Teams

The proposed structure of distrusted development team in every country is one team leader, one communication coordinator, one technical support member and five to seven developers as shown in fig. 1. The team leader is responsible to control the development process. It is his responsibility to:

  •    select the development member;

  •    monitor the performance of team members and how they achieve the objectives of development project;

  •    explain plan and project development for the rest of the team member;

  •    resolve problems and conflicts encountered during the development phase;

  •    write regular reports about the progress of development on his region and sent to the project manager.

Fig. 1. The proposed structure of distributed team

The team leader helps to reduce communication problems and conflicts. Team leader acts on behalf of rest of the team members during online periodic meetings. It will increase the effectiveness of meetings by saving time of team members. The communication coordinator is responsible for scheduling meetings among teams. He selects the appropriate time of meeting and suitable communication media.

The technical support member is responsible for conduction of successful meetings. Development members are responsible for the implementation of software.

  • B.    Communication Tools

There are many communication tools available in the commercial markets. This research proposes and explains three communication tools to manage online meetings, problem solving and technical support and messaging between distributed teams, as shown in fig. 2.

WebEx meetings enable distributed development team to meet, collaborate, and share in an effective way because everything they needed is combined in one place. Team members can share applications, documents and programs easily as shown in fig. 3. TeamViewer is an integrated solution to access and remote support via the internet. TeamViewer enables a member to connect to remote server or PC around the world in a few seconds. Team members can control computers remotely and it is an optimum solution to provide direct support and solve the problems of distributed teams.

Communicastion Tools

Managing online meetings

Problems solving and technical support

Messaging

WebEx Meetings

TeamViewer Program

Groups mailing and instant message

Fig. 2. The Proposed Communication Tools

Fig. 3. WebEx Meetings space

Team members can use groups mailing to send one message to multiple persons to improve communication. Team leaders must hold meetings with each other and their teams at regular intervals during development to have common scope and goals and successfully complete distributed projects.

  • V.    Validation of the Proposed Solution

A software company participated voluntarily to conduct this research. The software company is operating in USA, England and Saudi Arabia. The survey technique is used as a research design to validate the proposed solution. Survey is the basic method of Quantitative research. There are different types of surveys like selfadministered survey that can be done through questionnaires, telephonic survey and personal survey etc. some are discussed below

Mail surveys are conducted by mailing the some sort of questionnaire to the respondents. In this type of survey, feedback is controlled by respondents and they feel easy to replay in case of any sensitive information. Mail surveys are little bit expensive in case of large sample space. Telephone surveys are helpful if time is short and conducted by experienced interviewers. It is attractive for researchers due to low cost and highly efficient. But the chance of erroneous or missing data is more in this type of survey. Online surveys involve the computer and internet. Visual images can be added with this survey to make it more understandable for respondents but sample size remains limited with this type of survey because respondents should have the facility of computer and internet. In person survey is helpful for researcher by getting answer the question regarding research during face to face meeting or through formal or informal interview. Observation survey also plays an important role during research conducted for certain circumstances. When formal or informal interviews are conducted, the expression of respondents helps to understand the validity of response. Similarly to watch and record behavior for certain circumstances in specific areas. Questionnaire survey is helpful when sample is very large and physical appearance of respondents is not possible. This helps to save time and get feedback from the respondents. Through questionnaire survey large amount of data can be collected in efficient way. In this type of survey it is necessary that questionnaires are clearly understandable for respondents otherwise the chance of erroneous or vague data increased. The questionnaire is filled by the distributed teams of software company after implementing the proposed solution to check its effectiveness. The survey consists of twenty questions that are divided against four goals.

Following are the four goals designed to validate the proposed solution.

Goal 1. Provide an effective managerial and technical environment for effective communication among distributed teams.

Goal 2. Facilitate the communication management and problem solving among distributed teams.

Goal 3. Minimize conflicts resolution among each team member and with other distributed teams.

Goal 4. Choosing good tools that are essential to collaborate and communicate among distributed teams.

A statistical analysis is made and the results are presented using frequency tables and bar charts.

  • A.    Cumulative Analysis of First Goal

Table 2 depicts that 3% are disagreed, 23% are neutral, 39% are agreed, and 35% are strongly greed. Fig. 4 displays this result graphically.

  • B.    Cumulative Analysis of Second Goal

Table 3 shows that 3% of the respondents are strongly disagreed and disagreed. 24% of the respondents are neutral, 42% are agreed, and 31% are strongly agreed. Fig. 5 shows the results graphically.

Fig. 4. Graphical representation of cumulative analysis of 1st goal

Table 2. Cumulative statistical analysis of 1st goal

Question number

Very low

Low

Normal

High

Very high

1

0

0

6

17

23

2

0

1

8

17

20

3

0

2

13

22

9

4

1

2

9

13

21

5

0

1

18

20

7

Total

1

6

54

89

80

Average

0%

3%

23%

39%

35%

Fig. 6. Cumulative analysis of 3rd goal

Fig. 5. Graphical representation of 2nd goal

Table 3. Cumulative statistical analysis of 2nd goal

Question Number

Very Low

Low

Nominal

High

Very High

6

0

0

6

20

20

7

0

0

9

22

15

8

1

1

16

15

13

9

1

3

10

21

11

10

0

1

15

18

12

Total

2

5

56

96

71

Average

1%

2%

24%

42%

31%

  • C.    Cumulative Analysis of Third Goal

Table 4 shows that 1% of the respondents are strongly disagreed, and 4% are disagreed to the importance of this third goal. In addition, 24% are neutral while 37% are agreed, and 34% are strongly agreed. This result is represented graphically in fig. 6.

Table 4. Cumulative statistical analysis of 3rd goal

Question Number

Very Low

Low

Nominal

High

Very High

11

0

0

9

20

17

12

0

1

11

20

14

13

2

1

17

13

13

14

0

1

8

22

15

15

1

6

14

12

13

16

1

1

7

16

21

Total

4

10

66

103

93

Average

1%

4%

24%

37%

34%

  • D.    Cumulative Analysis of Fourth Goal

Table 5 shows that 1% of the respondents are strongly disagreed, and 3% are disagreed to that goal. In addition, 25% are neutral while 40% are agreed and 31% are strongly greed. This result is represented graphically in fig. 7.

Table 5. Cumulative statistical analysis of 4th goal

Question Number

Very Low

Low

Nominal

High

Very High

17

0

0

11

21

14

18

1

2

8

26

9

19

0

0

18

21

7

20

1

4

13

16

12

Total

2

6

50

84

42

Average

1%

3%

27%

46%

23%

Fig. 7. Cumulative analysis of 4th goal

  • E.    Final Cumulative Analysis of All Goals

Table 6 shows that 0.75% of the respondents are strongly disagreed, and 3% are disagreed to these goals. In addition, 24.50% are neutral while 41% are agreed and 30.75% are strongly agreed. This result is represented graphically in fig. 8.

Table 6. Final cumulative analysis of all Goals

Very Low

Low

Nominal

High

Very High

Goal 1

0

3

23

39

35

Goal 2

1

2

24

42

31

Goal 3

1

4

24

37

34

Goal 4

1

3

27

46

23

Total

3

12

98

164

123

Average

0.75%

3.00%

24.50%

41.00%

30.75%

Fig. 8. Final commutative analysis of all goals

  • VI.    Conclusion

Effective communication between distributed development teams has a key role in the success of distributed projects. It resolves conflicts among teams, helps in catering risks and increases chances of successful deployment of distributed projects. The research question in this paper is how to improve effective communication among distributed teams. This paper proposes a solution to solve communication problems by integrating administrative and technical methods.

The proposed solution is implemented using a case study in a software company that voluntarily participated in conduction of this research. The software company is operating in three countries with three distributed teams. A survey is distributed among the three teams to validate the proposed solution. The survey results show that the proposed solution is validated with support of 71.75%.

Список литературы A Proposal to Improve Communication between Distributed Development Teams

  • K. Dullemond, B. van Gameren, R. van Solingen. Overhearing Conversations in Global Software Engineering - Requirements and an Implementation. Proceedings of the seventh IEEE International Conference on Collaborative Computing: Networking, Applications and Works/wring, (2011), pp. 1-8.
  • K. Dullemond, B. van Gameren, R. van Solingen. Collaboration should become a first-class citizen in support environments for software engineers. Proceedings of the eighth IEEE International Conference on Collaborative Computing: Networking, Applications and Works/wring, (2012), pp. 398-405.
  • H. Khan, N. Malik, M. Usman, N. Ikram. Impact of Changing Communication Media on Conflict Resolution in Distributed Software Development Projects. Proceedings of the fifth IEEE Malaysian Software Engineering Conference (MySEC), (2011), pp. 189-194.
  • H. de Farias Junior, R. Azevedo, P. de Moura, S. Martins da Silva. Elicitation of Communication Inherent Risks in Distributed Software Development. Proceedings of the seventh IEEE International Conference on Global Software Engineering Workshop (ICGSEW), Brazil, (2012), pp. 37-42.
  • F. Da Silva, C. Costa, C. França, R. Prikladnicki. Challenges and Solutions in Distributed Software Development Project Management: A Systematic Literature Review. Proceedings of the fifth IEEE International Conference on Global Software Engineering (ICGSE), (2010), pp. 87-96.
  • A. dos Santos, I. de Farias Junior, H. de Moura, S. Marczak. Systematic Tertiary Study of Communication in Distributed Software Development Projects. Proceedings of the seventh IEEE International Conference on Global Software Engineering (ICGSE), Brazil, (2012), pp. 182
  • H. de Farias Junior, M. de Oliveira Rodrigues, R. de Azevedo, P. de Moura, R. Galvão Dantas, F. Freitas. Best Practices to Enhance the Communication in Distributed Software Development Environments. Proceedings of the International Conference on Research and Practical Issues of Enterprise Information Systems. Natal-RN, Brazil, (2010).
  • F. Lanubile, C. Ebert, R. Prikladnicki, A. Vizcaino. Collaboration Tools for Global Software Engineering. IEEE Software, v27, n2, 2010, pp. 52-55.
  • S. Seokhee, P. Heejun. Conflict Management in a Virtual Team. Proceedings of the fifth IEEE International Conference on Information Science and Service Science (NISS), (2011), pp. 273-276.
  • H. de Farias Junior, P. de Moura, S. Marczak. Towards a Communication Maturity Model for Distributed Software Development. Proceedings of the eighth IEEE International Conference on Global Software Engineering Workshop (ICGSEW), (2013), pp. 81-83.
  • Beavers, P. A., “Managing a Large “Agile” Software Engineering Organization”, IEEE. 2007.
  • Edwards, M. D., “Overhauling a Failed Project Using Out of Box Scrum”, IEEE Computer Society, pp. 413-416, 2008.
  • M. Rizwan Jameel Qureshi, Ahmed Barnawi and Aiesha Ahmed, “Proposal of Implicit Coordination Model for Performance Enhancement Using Sprint Zero,” International Journal of Information Technology and Computer Science, v4, n9, 2012, pp. 45-52.
  • Ruehlin, J., “High Performance Agile Teams: An overview of Collaboration” Available at: http://www.agilejournal.com [Accessed: May 13, 2014].
  • Boos, M., Michaela K. and Thomas E., “Assessment Methods of coordination Processes” 2007.
Еще
Статья научная