Content deleted Content added
Ira Leviton (talk | contribs) Fixed references. |
m Plural |
||
(6 intermediate revisions by 3 users not shown) | |||
Line 1:
'''Communication in Distributed Software Development''' is an area of study that considers communication processes and their effects when applied to [[software development]] in a globally [[distributed development]] process. The importance of communication and coordination in software development is widely studied<ref name=":2">{{Cite journal|last1=Kraut|first1=Robert E.|last2=Streeter|first2=Lynn A.|date=1995-03-01|title=Coordination in software development|url=http://go.galegroup.com/ps/anonymous?id=GALE%7CA16764439&sid=googleScholar&v=2.1&it=r&linkaccess=fulltext&issn=00010782&p=AONE&sw=w&authCount=1&isAnonymousEntry=true|journal=Communications of the ACM|language=en|volume=38|issue=3|pages=69–81|doi=10.1145/203330.203345|s2cid=18155214|doi-access=free}}</ref> and [[Organizational Communication|organizational communication]] studies these implications at an organizational level. This also applies to a setting where teams and team members work in separate physical locations. The imposed distance introduces new challenges in communication, which is no longer a face to face process, and may also be subjected to other constraints such as teams in opposing time zones with a small overlap in working hours.
There are several reasons that force elements from the same project to work in geographically separated areas, ranging from different teams in the same company to [[outsourcing]] and [[offshoring]], to which different constraints and necessities in communication apply. The added communication challenges result in the adoption of a wide range of different communication methods usually used in combination. They can either be in real time as in the case of a video conference, or in an asynchronous way such as [[email]]. While a video conference might allow the developers to be more efficient with regards to their time spent communicating, it is more difficult to accomplish when teams work in different time zones, in which case using an email or a messaging service might be more useful.
Line 22:
Linguistic barriers typically manifest themselves when at least one of the actors in a conversation is not speaking its native language. Aside from the fact that one should be able to express himself better in his native language, there are other obstacles. [[Idiomatic expression]]s and [[slang]] are an examples of such obstacles that difficult [[Informal Communication|informal communication]].
According to [[Allen curve|Allen's Curve]], the frequency of communication between engineers drops at an exponential rate as the distance between them increases. In case of coworkers in a company, communication is often triggered by random encounters between coworkers. When there is a significant distance between the latter, their communication decreases. In fact, an empirical study was conducted that compared the frequency of communication between coworkers from local and remote sites. Most of the inquired answered that they speak to the majority of their local colleagues at least once a day, while speaking less than once a week with their remote ones.<ref name=":1">{{Cite journal|last1=Herbsleb|first1=J. D.|last2=Mockus|first2=A.|date=June 2003|title=An empirical study of speed and communication in globally distributed software development|journal=IEEE Transactions on Software Engineering|volume=29|issue=6|pages=481–494|doi=10.1109/tse.2003.1205177|issn=0098-5589|citeseerx=10.1.1.110.4806|s2cid=6006584 }}</ref>
Temporal barriers are closely related to geographical barriers. Temporal barriers are typically present on a scenario where two or more coworkers are in different time zones and oftentimes in different geographic locations. Developers mostly communicate during work hours, and while they can use asynchronous communication which doesn't require overlapping work hours, it inherently delays the communication process.<ref name=":6">{{Cite journal|last=Šmite|first=Darja|date=2006-01-01|title=Global software development projects in one of the biggest companies in Latvia: is geographical distribution a problem?|journal=Software Process: Improvement and Practice|language=en|volume=11|issue=1|pages=61–76|doi=10.1002/spip.252|issn=1099-1670}}</ref> As an alternative they can use synchronous communication if they need to communicate in real time, however it introduces the complication of finding overlapping work hours. [[Follow-the-sun]] is a common approach taken by software companies to mitigate the latter issue.
Line 29:
Research on Communication in Distributed Software Development is conducted in order to improve the understanding of the implications of different communication methods on the success of the development process and the final product.
Communication is an essential process in coordinating a software development project and sharing knowledge between the team members. Previous studies<ref>{{Cite journal|last=Hendriks|first=Paul|date=1999-06-01|title=Why share knowledge? The influence of ICT on the motivation for knowledge sharing|journal=Knowledge and Process Management|language=en|volume=6|issue=2|pages=91–100|doi= 10.1002/(SICI)1099-1441(199906)6:2<91::AID-KPM54>3.0.CO;2-M|s2cid=14864213 |hdl=2066/141653|hdl-access=free}}</ref><ref>{{Cite journal|last1=Goodman|first1=Paul S.|last2=Darr|first2=Eric D.|date=1998|title=Computer-Aided Systems and Communities: Mechanisms for Organizational Learning in Distributed Environments|jstor=249550|journal=MIS Quarterly|volume=22|issue=4|pages=417–440|doi=10.2307/249550|url=http://repository.cmu.edu/cgi/viewcontent.cgi?article=1817&context=tepper}}</ref> claim that sharing knowledge is important to building trust and even improving the performance of the whole team, which also applies in a distributed software development process.
It can also bring challenges, as referred in the section above, that when improperly dealt with can delay a team project or even cost money to the company. A great deal of studies tries to find ways to mitigate these problems and avoid miscommunication.<ref name=":7" />
Line 35:
The tools used for communication are within the scope of some studies. They show the advantages and disadvantages of some different types of tools, and also which kind of tools the developers like to use for certain situations.<ref name=":03" /><ref name=":8" />
The interest of researchers in how a globally distributed development influences the success of the project is noted in publications such as<ref name=":7">{{Cite book|last1=Mockus|first1=A.|last2=Herbsleb|first2=J.|
The research done so far points to the need of improving the methodologies and tools used by companies and that communication is a big factor in the success of a company. {{citation needed|date=June 2017}}
== Forms of communication ==
[[Communication]] in a collaboration setting can be achieved either synchronously or asynchronously, differing in how agents interact with each other. The different communication forms create analogous communication systems and tools depending on the type of communication supported, which serve different purposes in a distributed development setting. Even inside a company, the tasks and responsibilities of different members reflect in their usage in the tools used in the work environment.<ref>{{Cite book|last1=Sundaravej|first1=T.|last2=Mirchandani|first2=D.|last3=Lederer|first3=A.|
=== Synchronous systems ===
Line 60:
[[Email]] is a method of exchanging digital messages between people using digital devices such as computers, mobile phones and other electronics. Unlike the most [[instant messaging]] tools, on email neither the users nor their computers are required to be online simultaneously. The cost of using email in company varies, since, for example, the company might have its own email server.
Empirical studies demonstrated that all team members on a software development team used this tool effectively. Unlike [[instant messaging]], email messages are intended to be more stand-alone and less sensitive to the context of communication, and thus producing email messages requires more time than traditional IM messages.<ref name=":03">{{Cite book|last=Niinimaki|first=T.|
Some email providers are [[Gmail]], [[Outlook.com]] and [[ProtonMail]].
Line 67:
====Audio and video conference====
[[Conference call|Audio]] and [[Videotelephony|video conference]] are the technologies for the reception and transmission of [[Audio signal|audio]]-[[video]] signals by users at different locations, for communication between people in real-time. These
[[Video conference]] is also a good way to develop trust among global software developers, since it allows team members to form personal relationships.<ref>{{Cite journal|last1=Bhat|first1=J. M.|last2=Gupta|first2=M.|last3=Murthy|first3=S. N.|date=September 2006|title=Overcoming Requirements Engineering Challenges: Lessons from Offshore Outsourcing|journal=IEEE Software|volume=23|issue=5|pages=38–44|doi=10.1109/ms.2006.137|s2cid=9894497|issn=0740-7459}}</ref>
Line 73:
Investigators found out that team members who are not confident with their English language skills prefer to use [[email]] or [[instant messaging]] over [[Conference call|audio]] and [[Videotelephony|video conferencing]], as text-based media provide more time to comprehend and compose a response.<ref>{{Cite journal|last1=Noll|first1=John|last2=Beecham|first2=Sarah|last3=Richardson|first3=Ita|date=September 2011|title=Global Software Development and Collaboration: Barriers and Solutions|journal=ACM Inroads|volume=1|issue=3|pages=66–78|doi=10.1145/1835428.1835445|issn=2153-2184|hdl=10344/656|s2cid=11317369|hdl-access=free}}</ref> This becomes a problem, since text-based media doesn't use neither auditory nor visual features, which can hinder the process of understanding important information and lead to misunderstandings.
[[Zoom Video Communications|Zoom]], [[GoToMeeting]] and [[Highfive (company)|Highfive]] are examples of these
====Virtual Offices====
Line 86:
====Virtual Reality====
[[Virtual reality|Virtual Reality]] has gained increased interest over the years. It has
The content exchanged during the act of communication is merely the interpretations of the situations in which the actors are involved. The latter, in turn, depend on the context. The motivation for using virtual reality as a communication tool is based on the premise that one's perception of context is proportional to the sensorial information available.
Line 99:
====Instant Messaging====
[[Instant messaging]] (IM) allows the transmission of messages between two parties or more in case of a "chat room". It can be synchronous or asynchronous and it's considered to be the less intrusive communication type.<ref>{{Cite book|last1=Thissen|first1=M. Rita|last2=Page|first2=Jean M.|last3=Bharathi|first3=Madhavi C.|last4=Austin|first4=Toyia L.
[[WhatsApp]], [[Facebook Messenger]] and [[HipChat]] are examples for this type of tool.
|